用Keil C51等软件调试单片机程序时,需要用到仿真器,才能查看每个端口的状态。在用ADS或MDK调试ARM时,仿真器就不是一定需要的了,因为ARM芯片中集成了JTAG接口。
在ARM芯片中,JTAG接口是一个很重要的接口,ADS或MDK调试ARM时,用JTAG接口就可以完成单片机的仿真器的功能。通常,JTAG接口联接在PC的并口上,ADS通过代理软件(如H-JTAG)就可以直接调试ARM,如上一篇讲的“跑马灯”程序就可以通过JTAG来调试。ARM芯片上有若干根引脚可扩展成标准JTAG接口,如S3C2440的五根引脚:nTRST、TMS、TCK、TDI、TDO,扩展成20线的JTAG接口。在ARM开发板上都有这样一个JTAG接口,20针。JTAG接口与PC并口间有一个小电路板,主要用于JTAG信号线的电平转换,上面仅有一个简单芯片,小电路板造价很便宜。开发过单片机的都知道,仿真器价格很昂贵,在调试时仿真器联接单片机与PC。ARM的JTAG也是联接ARM芯片与PC,却不需要一个昂贵的仿真器,因为仿真器的功能都集成在芯片的JTAG模块中了,所以JTAG给ARM开发带来了很大的方便。当然市场上也有ARM的仿真器出售,价格昂贵,但ARM仿真器对开发Linux是没有什么用的。
用ADS或MDK调试ARM时,程序文件都是通过JTAG接口下载到ARM的内存中,并通过JATG接口去查看ARM的所有资源,与用仿真器调试单片机一样。
JTAG接口还可以烧写ARM的外接FlashROM。用ADS或MDK开发