计算机]嵌入式软件开发流程内容摘要:

tDebugger。 采用 ROMMonitor方式进行交叉调试需要在宿主机上运行调试器,在 目标 机上运行 ROM监视器( ROMMonitor)和被调试程序,宿主机通过调试器与目标机上的 ROM监视器遵循远程调试协议建立通信连接。 ROM监视器可以是一段运行在目标机 ROM上的可执行程序,也可以是 一个专门的硬件调试设备,它负责监控目标机上被调试程序的运行情况,能够与宿主机端的调试器一同完成对应用程序的调试。 在使用这种调试方式时,被调试程序首先通过 ROM监视器下载到目标机,然后在 ROM监视器的监控下完成调试。 优点: ROM监视器功能强大,能够完成设置断点、单步执行、查看寄存器、修改内存空间等各项调试功能。 确定:同软件调试一样,使用 ROM监视器目标机和宿主机必须建立通信连接。 其原理图如图。 图 ROMMonitor 调试方式 采用 ROMEmulator方式进行交叉调试时需要使用 ROM仿真器,并且它通常被插入到目标机上的 ROM插槽中,专门用于仿真目标机上的 ROM芯片。 在使用这种调试方式时,被调试程序首先下载到 ROM 仿真器中,因此等效于下载到目标机的 ROM芯片上,然后在 ROM仿真器中完成对目标程序的调试。 优点:避免了每次修改程序后都必须重新烧写到目标机的 ROM中。 缺点: ROM仿真器本身比较昂贵,功能相对来讲又比较单一,只适应于某些特定场合。 其原理如图。 图 ROMEmulator 调试方式 采用 InCircuitEmulator( ICE)方式进行交叉调试 时需要使用在线仿真器,它是目前最为有效的嵌入式系统的调试手段。 它是仿照目标机上的 CPU而专门设计的硬件,可以完全仿真处理器芯片的行为。 仿真器与目标板可以通过仿真头连接,与宿主机可以通过串口、并口、网线或 USB口等连接方式。 由于仿真器自成体系,所以调试时既可以连接目标板,也 可以不连接目标板。 在线仿真器提供了非常丰富的调试功能。 在使用在线仿真器进行调试的过程中,可以按顺序单步执行,也可以倒退执行,还可以实时查看所有需要的数据,从而给调试过程带来了很多的便利。 嵌入式系统应用的一个显著特点是与现实世界中 的硬件直接相关,并存在各种异变和事先未知的变化,从而给微处理器的指令执行带来各种不确定因素,这种不确定性在目前情况下只有通过在线仿真器才有可能发现。 优点:功能强大,软硬件都可做到完全实时在线调试。 缺点:价格昂贵。 其原理如图。 图 ICE调试方 式 采用 InCircuitDebugger( ICD)方式进行交叉调试时需要使用在线调试器。 由于 ICE的价格非常昂贵,并且每种 CPU都需要一种与之对应的 ICE,使得开发成本非常高。 一个比较好的解决办法是让 CPU直接在其内部实现调试功能, 并通过在开发板上引出的调试端口发送调试命令和接收调试信息,完成调试过程。 如使用非常广泛的 ARM处理器的 JTAG端口技术就是由此而诞生的。 JTAG是 1985年指定的检测 PCB和 IC芯片的一个标准。 1990年被修改成为 IEEE的一个标准,即。 JTAG标准所采用的主要技术为边界扫描技术,它的基本思想就是在靠近芯片的输入输出管脚上增加一个移位寄存器单元。 因为这些移位寄存器单元都分布在芯片的边界上(周围),所以被称为边界扫描寄存器( BoundaryScan Register Cell)。 当芯片处于调试状态时候,这些边界扫描寄存器可以将芯片和外围的输入输出隔离开来。 通过这些边界扫描寄存器单元,可以实现对芯片输入输出信号的观察和控制。 对于芯片的输入管脚,可通过与之相连的边界扫描寄存器单元把信号(数据)加载到该管脚中去;对于芯片的输出管脚 ,可以通过与之相连的边界扫描寄存器单元 “捕获 ”( CAPTURE)该管脚的输出信号。 这样,边界扫描寄存器提供了一个便捷的方式用于观测和控制所需要调试的芯片。 现在较为。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。