完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
目前,越来越多的FPGA设计开始采用嵌入式处理器,如PowerPC和赛灵思(Xilinx)的MicroBlaze处理器来完成控制任务,采用C语言等软件语言描述这些控制任务,要比使用VHDL或Verilog等硬件语言描述更加容易。
当进行嵌入式系统设计时,绝大部份的设计时间可能花费在除错阶段,因此缩短发现问题并解决问题的时间非常重要。作为一款整合除错器,Computex公司的F-Sight同时具备硬件和软件除错能力。一方面,它支持FPGA内部嵌入式处理器的全方位软件除错。另一方面,它还支持监视FPGA硬件讯号。 如何利用F-Sight提高除错效率?这个问题急需解决。 |
|
相关推荐
2个回答
|
|
启动除错器
Computex公司的除错器非常适合用来实现FPGA内部嵌入式处理器的除错。对于MicroBlaze处理器来说,工程师可以利用MicroBlaze除错模块(MDM)控制处理器的执行过程并进行除错,也可以利用赛灵思公司的MicroBlaze追踪核心(XMTC)以非侵入方式监控处理器程序的执行情况。 由于FPGA的接脚限制,减少输出到接脚的讯号数量非常重要。XMTC提供了编码指令和数据追踪功能,所需要的接脚数量仅为非编码讯号所需的10%。 为了使除错器实现追踪功能,只需要将MDM和XMTC核心分别连接到MicroBlaze处理器的除错和追踪接口,然后将编码后的追踪讯号引到FPGA接脚以便F-Sight收集数据。完成FPGA设计后,再将F-Sight除错器连接到电路板的Mictor连接器。如果使用赛灵思不带Mictor连接器的ML400系列、ML500系列或Sparta-3E/3A/3AN FPGA板,那么在Computex F-Sight配接器帮助下仍可以使用F-Sight中的处理器追踪功能。图1是利用F-Sight配接器将F-Sight连接到Spartan-3板上的照片。 图1:F-Sight透过配接器连接到Spartan-3电路板。 使用处理器追踪功能 处理器追踪功能可以在不中断处理器执行的情况下监控程序执行情况,因此用户可以长时间对程序进行分析,以确定程序代码中的问题,而不会改变处理器的执行状态。Computex F-Sight提供的处理器追踪能力已证明适用在许多情况。 试想一段程序总是不停地产生例外。例外可能产生在程序的任何位置;工程师面临的挑战在于找出并厘清例外之处。为了解决这个问题,可以在例外产生之前或在例外向量中设置断点,这样当程序到达断点时就会暂停。当程序停止时,可查看F-Sight记录的执行历史数据,可从中发现在进入例外处理前执行了哪些指令。 在嵌入式系统中堆栈溢出也是一个常见的问题。程序突然开始从看起来不太正常的地方执行。堆栈可能由于溢出而被破坏。如果怀疑产生了这样的问题,可以透过设计触发器来开始或停止追踪数据的采集。透过设置触发器条件进行堆栈指针和堆栈上限之间的比较,当条件满足时,程序将及时中止,然后用户就可以很容易地确认堆栈溢出以及产生的地方。 在某些实时系统中,为了除错目的而停止处理器的执行过程并非很好的选择,因为停止执行本身可能会改变程序行为。有时候问题可能极少出现,因此可能需要长时间监控程序执行情况。F-Sight可以用来设置复杂的触发条件并收集追踪数据,然后透过事后分析来除错问题。 |
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
733 浏览 0 评论
1132 浏览 1 评论
2512 浏览 5 评论
2846 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2693 浏览 6 评论
684浏览 7评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
996浏览 3评论
198浏览 2评论
如果mmcblk1boot0启动失败可不可以从mmcblk1boot1启动呢
189浏览 2评论
用核心板GPIO直接控制网卡1的复位信号是否会导致液晶屏初始化失败?
231浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-4 01:20 , Processed in 1.535636 second(s), Total 85, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号