jtag、在线仿真器

指令集模拟器

1、部分集成开发环境提供了指令集模拟器,可方便用户在PC机上完成一部分简单的调试工作,但是由于指令集模拟器与真实的硬件环境相差很大,因此即使用户使用指令集模拟器调试通过的程序也有可能无法在真实的硬件环境下运行,用户最终必须在硬件平台上完成整个应用的开发。

驻留监控软件

1、运行在目标板上的程序,集成开发环境中的调试软件通过以太网口,并行端口,串行端口等通讯端口与驻留软件进行交互。

2、由调试软件发布命令通知驻留监控软件控制程序的执行、读写存储器、读写寄存器、设置断点等。

3、驻留监控软件是一种比较低廉有效的调试方式,不需要任何其他的硬件调试和仿真设备。例如ARM公司的Angel。

4、大部分嵌入式实时操作系统也是采用该类软件进行调试,不同的是在嵌入式实时操作系统中,驻留监控软件是作为操作系统的一个任务存在的。

JTAG

1、jtag是一种国际标准测试协议,主要用于芯片内部测试。

2、基于芯片边界扫描链进行调试,读取引脚状态,寄存器值。

3、硬件断点,当cpu去读某个地址的指令时,将cpu挂起。

4、软件断点,程序在编译时,生成调试信息,根据调试信息,从源代码的某行定位到指令的存储地址,然后调试软件利用硬件断点的原理将cpu挂起。

5、gdb就是利用软件断点来进行调试的。

在线仿真器

1、使用仿真头完全取代目标板上的cpu,可以完全仿真ARM芯片行为。

2、主要用于ARM硬件开发中,价格昂贵,难以普及

猜你喜欢

转载自www.cnblogs.com/10cm/p/10058436.html