一个理想的单片机仿真器使开发者能观察到单片机内部的操作,仿真器是使替代单片机并使单片机操作可视化的硬件工具。
一个ICE应包括两个接口,一个是连接到目标板上的MCU插座,另一个与PC相连。仿真器应该与目标MCU在电气及物理上等价,并能在开发系统中替代MCU。目标系统的操作可由PC得以控制及观察。在开发初期,开发系统依靠仿真器工作,当目标功能完善后,仿真器将被真正的MCU取代。
ICE的功能及特性:
在主机与目标系统间产生对应的程序区,host
memory作为仿真程序区(emulator memory)或Shadow memory
脱离目标硬件实时测试代码
单步(Step),全速(Run),从特定的状态运行到特定的状态或到断点(BreakPoint)。这通常指特定的地址,但也可以是特定的触发条件。
修改MCU
Register值
在线修改Memory内容
实时跟踪记录已执行的程序(Trace)
ICE设计中的难点及局限性:
ICE功能的实现需要与MCU的data bus,address bus,control
bus相连,而实际芯片三总线往往不连外部引脚
电气上:ICE的驱动能力及时序需要与MCU完全相同,而ICE的外加电缆及电路必将降低负载能力及改变时序特性,引起一些目标系统在极限状态下与ICE联调往往会失败。
一个常见的现象是一个系统用ICE调试完成最终用实际MCU取代ICE可保证运行,但若硬件开发过程中未用ICE,为了调试软件问题在中途使用了ICE,往往会在时序及负载上出现问题。
理想的是所以的引脚的所以功能与MCU相同,而实际上不少低端仿真器占用了一个中断资源以控制监控程序的运行
使用ICE的主要优点在于:
软件设计及实时测试可先于实际硬件完成
提供了修改,显示memory及register的功能,提供了系统的开发效率
bond-out
MCU是芯片设计公司为实现其商用MCU的仿真功能,将内部的数据,地址及控制总线连接到芯片封装的管脚上,使得外部仿真逻辑可以监视和控制MCU内部的状态。一个ICE的质量很大程度上依赖于它与其要仿真的MCU之间的吻合程度,bond-out
MCU能最大程度上提供ICE与商用MCU的无差别替换。
加载中,请稍候......