|
知识路径: > 嵌入式系统软件基础知识 > 嵌入式系统程序设计 > 嵌入式软件开发环境 > 编辑器、交叉工具链(编译器、链接器、调试器)、模拟器 > 调试及调试工具 >
|
考试要求:掌握
相关知识点:6个
|
|
|
|
在线仿真器(In Circuit Emulator,ICE)是一种用于替代目标机CPU的设备。对目标机来说,在线仿真器就相当于它的CPU。事实上,ICE本身就是一个嵌入式系统,有自己的CPU、RAM、ROM和软件。它的CPU比较特殊,可以执行目标机CPU的所有指令,但有更多的引出线,能将内部信号输出到被控制的目标机上。在线仿真器的存储器也可以被映射到用户的程序空间。因此,即使没有目标机,仅用ICE也可以进行程序的调试。
|
|
|
ICE和宿主机一般通过串口、并口或网络相连。在连接ICE和目标机时,需要先将目标机的CPU取出,然后将ICE的CPU引出线接到目标机的CPU插槽上。在使用ICE来调试程序时,在宿主机上也有一个调试器用户界面。在调试过程中,这个调试器将通过ICE来控制目标机上的程序。
|
|
|
|
.同时支持软件断点和硬件断点的设置。软件断点只能到指令级别,也就是说,只能指定程序在读取某一指令前停止运行。而在硬件断点方式下,多种事件的发生都可使程序在一个硬件断点上停止运行。这些事件不仅包括取指令,还包括内存读/写、I/O读/写以及中断等。
|
|
|
.能够设置各种复杂的断点和触发器。例如,可以让程序在“当变量m等于100,同时AX寄存器等于0”时停止运行。
|
|
|
.能实时跟踪目标程序的运行,并可实现选择性的跟踪。在ICE上有大块RAM,专门用来存储执行过的每个指令周期的信息,使用户可以得知各个事件发生的精确次序。
|
|
|
.能在不中断被调试程序运行的情况下查看内存和变量,即非干扰的调试查询。
|
|
|
在线仿真器特别适用于调试实时应用系统、设备驱动程序以及对硬件进行功能测试。它的主要缺点就是价格昂贵,一般都在几千美元,有的甚至要几万美元。这显然阻碍了团队的整体开发,因为不可能给每位开发人员都配备一套在线仿真器。所以,现在ICE一般都用于普通调试工具解决不了的问题,或者用它来做严格的实时性能分析。
|
|
|