论文部分内容阅读
交叉调试代理是嵌入式交叉调试系统的重要组成部分,也是使用最为普遍的一种调试方式。但无论是调试桩程序、调试服务器还是ROM Monitor、Rom Emulator这样一些交叉调试代理,它们最大的缺点是占用目标系统的资源,消耗处理器时间,造成应用程序的最终运行环境和调试环境有差异;且影响被调试程序的运行。ICE通过替代目标机处理器的方式来调试程序,能消除这一影响;但针对专门的处理器定制的ICE价格非常昂贵,使得开发成本非常高。基于片上调试技术的在线仿真器大大降低了成本,但通用性仍然不够强。因此,对基于片上调试技术的通用在线仿真器的研究仍然是一种较前沿的工作。国外的通用在线仿真器产品虽然技术较为成熟,并且稳定可靠,但价格仍然相当昂贵,而限于资金投入和市场的原因,国内很少有通用在线仿真器的研究成果。本文在分析调试代理技术、片上调试技术和基于片上调试技术的通用在线仿真器产品的基础上,借鉴通用在线仿真器的仿真调试方法,利用片上调试技术,将调试代理从目标系统中独立出来,以弥补调试代理本身的缺陷。方案中选择了目前大多数嵌入式处理器芯片都支持的JTAG标准,采用具有良好发展趋势的SOPC技术,设计了一种通用调试代理结构模型。该模型已以ARM7TDMI为目标处理器完成了验证实现过程。文中所研制的调试代理具有设置断点、单步运行、连续运行、读写寄存器、读写内存等基本仿真功能。对不同的目标处理器,只需要更改目标处理器相关部分的程序代码,而保持硬件本身以及JTAG标准实现部分代码不变,理论上可以调试任意的支持JTAG标准的目标处理器。本文所设计的调试代理具有两大特色,特色一:调试代理利用片上调试技术从目标系统中独立出来,具有独立性,避免了对目标机的影响;特色二:调试代理的通用性。它体现在两点上:一是利用SOPC技术,软硬件设计相结合来实现整个系统,使得本设计模型具有通用性;二是此调试代理可以调试所有支持JTAG标准的处理器。