您的位置 首页 报告

面向Xilinx嵌入式处理器的完好调试计划

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

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构建进程的一部分。

灵敏IDE

TRACE32供给了功用强大的图形用户界面(GUI),而且其命令行的运用十分高效:屏幕下方就有调试器命令行,而且简直一切的GUI功用都能够经过命令行—然后经过脚本完结。这使得可完结一切惯例使命的自动化,包含方针装备,窗口布局,以及将它们分配在多个虚拟屏幕中。最好的是,不像许多IDE相同,这些窗口没有docking特性,但也能够恣意放置以及更改这些窗口的尺度,乃至堆叠。一起还可与不同的IDE联用,例如您能够从您的Eclipse环境中直接调用TRACE32。

11.jpg

图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个未编码信号)的输入接口。

22.jpg

图2 显现盯梢、代码掩盖和函数调用图等窗口的Lauterbach TRACE32 IDE

33.jpg

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

33b.jpg

图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装备位流。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ceping/baogao/327364.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部