调试ARM最便宜的方式是Wiggler Doggle,其实就是一种JTAG,使用244做电平转换(并口是5v逻辑,转换为3.3v),由PC上的软件控制时序,所以速度比较慢。
要使用Wiggler,首先就是要能够驱动并口。这一步需要安装一个特殊的并口驱动程序叫GiveIO,就是可以使软件直接控制并口的某些管脚。
然后所谓Wiggler,其实还分很多类的。一种叫做STD,还有的就称为Wiggler。其实就是使用的并口的Pin不同。
早期ARM公司的开发环境是SDT,在SDT开发环境期间,其JTAG主要是采用14脚的,即SDT JTAG。进入ADS开发环境之后,ARM公司的JTAG定义就全面转换到20芯,然后有网友做出用244搭建的简易JTAG工具,即WIGGLER调试器,从此很多人将20芯的调试接口叫成了wiggler,事实上wiggler只是一种简易调试器。14芯和20芯的JTAG调试接口其实包含的JTAG信号差不多,主要是引脚顺序改变了,并在20芯JTAG上加入了一些扩展功能。
所以wiggler 和SDT都是JTAG,只不过连接的并口端口不同。
下图是两种JTAG连接的并口端口:
Function | STD | Wiggler |
RST | Pin4 | Pin2 |
TMS | Pin3 | Pin3 |
TCK | Pin2 | Pin4 |
TDI | Pin8 | Pin5 |
TDO | Pin13 | Pin11 |
使用ARM的ARM Develop Suite开发,使用AXD调试,还不可以直接连接Wiggler。还需要一个协议转换/代理服务。有很多这样的软件,也为此差了很多资料。网上很有名的就是RDI,banyan等等。我尝试了H-JTAG和ARMJtagDebug这两个软件。