下面对目前国内市场上常见的几种仿真器一一做点介绍。 由于对仿真器和市场了解有限, 在此仅抛砖引玉, 欢迎大家探讨。
1. Wigger, SDT250JTAG, 2410JTAG
此类器件仅做简单的PC并口到JTAG接口的电平转换。它们的区别仅在于JTAG信号PIN和PC并口PIN的对应关系不同, 其主要用来在PC机上通过JTAG接口烧写目标板上的Flash, 常用软件如Flashpgm等, 如加上JTAG.exe等SERVER软件, 也可用SDT等软件进行源代码级的调试, 只不过速度会比较慢。
2. EasyJTAG
与Wigger等相比, 多了JTAG输入输出信号缓冲,内部有颗JTAG Bus Master芯片,而且与PC并口之间的数据接口是8位连接,因此比前者的速度快。但不幸的是支持的软件较少(Flashpgm, JTAG.exe都不支持), 需要自己开发软件相关软件,故市场上很少见, 而且需注重的是有人将wigger与它相混淆。
3. Multi-ICE
此为ARM公司生产的原版ARM并口仿真器。支持全系列的ARM核, 与wigger, EsayJTAG一样, 通过并口与PC机连接,且数据接口也为8位。由于其内部有颗FPGA做并口到JTAG的协议转换, 速度要比前两者都要快很多,下载速度可在120kByte/s左右。此器件有两种供电方式,一为外接5V电源(当目标板的电源功率不够或想减少仿真器对目标板的影响时用), 另一为通过JTAG接口从目标板上取电(因而使用方便)。 Multi-ICE的系统构架是由硬件实现PC并口到JTAG协议的转换(JTAG Bus Master控制器),而在PC机上用Multi-ICE.exe服务软件及并口驱动实现JTAG TAP多路访问、控制接口及不同ARM核的支持,用Multi-ICE.dll或Multi-ICE-gdb.exe来支持RDI(ADS或SDT等)或GDB(gdb或xgdb等)接口的调试器与Multi-ICE.exe之间的TAPop接口的操作。在如此的架构下,使得ARM公司可以在不提供Multi-ICE硬件升级的前提下,能通过更新Multi-ICE.exe及Multi-ICE.dll等软件来实现支持最新的ARM核。 ARM开发论坛
4. 兼容型Multi-ICE
此类产品又分两大类:
1) 完全兼容型
与ARM公司生产的原版ARM并口仿真器Multi-ICE不同之处仅在于价格和稳定性, 还有的厂家的产品只支持原版Multi-ICE两种供电方式中的一种(从JTAG接口供电或外接5V供电);相同之处是必须使用类似Multi-ICE.exe和Multi-ICE.dll的软件。
2) 部分兼容型
此类产品在硬件上做了并口到JTAG的协议转换, 但由于通过并口与PC机连接,数据接口也都只能为8位。
5. RealView ICE
此为ARM公司生产的原版ARM网口和USB仿真器, 支持全系列的ARM核, 通过网口或USB口与PC机连接, 内部有MCU和FPGA, 由于MCU与PC连接是通过网口或USB连接,故速度要比Multi-ICE快很多,下载速度可高达600kByte/s,同时支持GDB源代码调试。
6. 各厂家做的网口及USB ICE
一般来说国外产家的产品要稳定并且支持的ARM核要多,有的甚至同时支持MIPS及PowerPC核。