当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]应对高级嵌入式处理器系统调试挑战

  FPGA最大的优点在于其灵活性,可激发设计人员创造出无数不同的设计。然而,设计调试通常最后才加以考虑——如果还加以考虑的话,因此调试器通常要适应系统的要求。

  好消息是一家在嵌入式领域耕耘近30年的公司推出了一款调试器,它对于解决所有您能想象得到的问题,甚至包括那些您都不愿意去听到的问题具有丰富的经验。在本文中,我们将通过一些例子说明Lauterbach公司的TRACE32调试器所具有的功能,这些功能将节省您的时间,甚至保全您的项目。

        面向灵活平台的灵活调试

  谈到灵活设计,我们想到了客户推出的一套十分有趣的系统。该系统在VirtexTM-5 LX50T器件上集成两个Xilinx®MicroBlazeTM处理器核和一个内部block RAM存储器块。这种设计的特殊之处在于每个MicroBlaze处理器只有一个与block RAM模块相连的I-side接口以实现指令提取。Block RAM的另一个存储端口被连接到PCI Express接口上,以便在运行时远程改变应用代码和启动处理器。在此面临的挑战在于如何在调试器无法读写的存储器区域进行调试,因为在存储器区域MicroBlaze处理器本身无法进行加载/存储操作。
  我们利用TRACE32的内部“虚拟存储器”来解决这个问题,这个调试器内部的仿真存储器具有无限的地址空间(64位),可以按照需要分配存储容量。我们将目标程序加载到这个虚拟存储器中,并且通过配置调试器的内部地址转换机制将无法读取的目标存储器映射到虚拟存储器上。这使得甚至可在汇编级上进行程序诊断。

  但是这里面临着另外一个挑战:为了实现程序的按步执行,特别是高级语言行以及条件分支,人们通常使用软件断点。由于无法通过MicroBlaze处理器访问Block RAM,显然无法做到这一点。我们的解决方案是提供“map.break”指令,强制调试器在给定的地址范围内使用硬件断点。映射指令还可使您指定存储器的数据宽度,更改大小头特性,或者完全禁止调试器访问某些具有关键外设寄存器的地址范围。

        小而有用的功能

  Lauterbach在JTAG调试器和仿真器方面的经验充分体现在TRACE32调试器的功能以及其他诸多微小和意想不到的细节中。考虑到Lauterbach完全利用自身工具开发所有软件,这一点并不奇怪。而日常出现的问题通常会激发人们设计出最有用的功能。

  您是否曾经需要在调试阶段关掉烦人的计时器中断处理器,或者在无需重启的情况下改变条件分支?是否曾经需要修补循环以观察处理器核是否正确执行外部存储器给出的指令?内置的汇编器正可实现这些功能。

  另一个调试中常见的情况是:是否经常在某个程序行走得太远而不得不重新开始?寄存器恢复功能可以取消最后的操作。

  TRACE32通过不间断地每秒10次的存储器重读来显示存储器的内容,甚至在处理器停止的时候也不停止重读。为什么它要这么做呢?可能在一秒钟内,您的系统中不间断运行的MicroBlaze处理器就造成了数据破坏,所以您希望能够监测这一点。也可能在某些时候不稳定的存储器造成了屏幕闪烁。又或者是您的JTAG接口在20MHz时并不那么稳定。这些都是您期望知道的。另一方面,TRACE32确保它只会在需要的时候访问存储器。

  谈及外设,我们还应该提到外设寄存器文件。这些文件指定了存储器映射的寄存器的位置、宽度,甚至按位编码,并且将它们分组成寄存器树。这样,可以很容易地访问外设寄存器以进行检查及修改:您点击一下即可关掉DMA控制器,而无需仔细阅读目标手册以找到正确位。调试器给出了标准外设的规格说明,但是您可以使用简单的文本编辑器修改这些文件以满足您的要求。对于Xilinx工具链,插件选项可以生成这些文件,并将其作为Xilinx构建过程的一部分。 [!--empirenews.page--]

         灵活IDE

  TRACE32提供了功能强大的图形用户界面(GUI),并且其命令行的使用非常高效:屏幕下方就有调试器命令行,并且几乎所有的GUI功能都可以通过命令行—从而通过脚本实现。这使得可实现所有常规任务的自动化,包括目标配置,窗口布局,以及将它们分配在多个虚拟屏幕中。最好的是,不像许多IDE一样,这些窗口没有docking特性,但也可以任意放置以及更改这些窗口的尺寸,甚至重叠。同时还可与不同的IDE联用,例如您可以从您的Eclipse环境中直接调用TRACE32。

图1 连接到Xilinx ML507电路板的Lauterbach TRACE32调试和跟踪电缆



 
        连接多核目标

  另一个有趣的功能是Lauterbach调试多核目标的直观方式。比如为每个核提供GUI,并且使它们共用一根调试电缆。这对于包含了PowerPC和MicroBlaze内核的异构系统或采用TRACE32所支持的50-plus处理器架构的其他系统而言同样有效(图1)。

  TRACE32与Xilinx平台电缆所使用的同一JTAG连接器连接,并且适用于任何由Xilinx嵌入式开发套件(EDK)创建的设计。对于PowerPC而言,也支持使用专用的调试连接器。

  对于多核系统,内核的同步启动和关断是一个问题。要想在硬件中支持这一点,例如在多MicroBlaze处理器配置中,调试器应利用硬件功能实现周期精确同步,否则同步是在软件中完成。集成脚本语言了解多核情况,从而允许通过一个主脚本完成所有GUI控制,包括将调试器连接到相应的内核并进行复位,以及下载并启动应用程序。

        实时程序流和数据跟踪

  实时跟踪的主要功能是记录程序流,即处理器所执行的每一条指令以及数据的处理。对于MicroBlaze处理器,这是通过Xilinx Platform Studio中的XilinxMicroBlaze跟踪内核(XMTC)来实现的。XMTC集成了一个跟踪编码器,其中包含一个连接到MicroBlaze处理器跟踪端口(包含近200个未编码信号)的输入接口。


图2 显示跟踪、代码覆盖和函数调用图等窗口的Lauterbach TRACE32 IDE[!--empirenews.page--]
 

图3A 面向XilinxSpartan-3E FPGA电路板的Lauterbach Mictor MicroBlaze跟踪适配器

 

图3B 面向XilinxMLx电路板的Lauterbach Mictor MicroBlaze跟踪适配器



  它还包含一个提供21信号编码跟踪的输出接口。

  跟踪硬件提供了多达512MB的外部高速跟踪存储器,可用于替换稀有的片上存储资源存储跟踪信息。跟踪功能也可支持PowerPC架构。此外,还具有更多的高级功能,包括静态函数和任务运行时间分析、变量访问、代码覆盖率分析等(图2,图3A和3B)。

        操作系统支持

  在MicroBlaze处理器上,TRACE32为μClinux和Linux提供了一个所谓的内核敏感模块。对于PowerPC而言,可支持更多的操作系统,包括QNX,VxWorks以及Nucleus PLUS。这些扩展功能使得调试器可以知道目标中的内核相关数据结构。这使得可以利用进程指定断点和程序控制实现进程级调试。其他功能包括支持完整的MMU,诸如加载的内核模块或者挂载的文件系统等Linux系统资源的实时、非侵入式显示,任务运行时间的统计评估和图形显示,以及函数运行时间的任务相关评估。

        总结

  Lauterbach TRACE32为所有Xilinx器件系列上的PowerPC和MicroBlaze处理器提供了完整的调试解决方案。未来Xilinx相关增强功能将进一步增强调试电缆,使得XilinxChipScopeTM分析仪可以使用调试电缆与调试器共同实现目标访问,并且通过调试器下载FPGA配置位流。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭