工作需要,时常要通过JTAG 做flash program, 一般的ICE软件也可以做,但是我们手上的几个不同类型的总是不是那么完美,要么因为software license的问题,软件没法用在某些新的芯片上;要么只能支持某一类型的芯片;还有时候莫名其妙就是不能写flash,所以觉得有必要研究一下JTAG的工作原理。
网上有很多这样的小工具和软件,在dd-wrt/open-wrt上面也有很多人在用,调查一下来看,UrJtag: http://urjtag.sourceforge.net/ 可以满足我的需求: 支持的CPU类型比较多,支持快速的 USB-JTAG cable,更重要的是这个项目目前还在维护。
自己先做了一个并口转JTAG的线, 跟Wiggler 大多相同,但也有几个脚定义不同,所以需要修改软件代码。 公司里还有一个USB-JTAG cable,也可以用,programm速度比wiggler要快10倍。选cable类型的命令
cable wiggler ppdev /dev/parport0 --- wiggler
cable OOCDLink-s vid=0403 pid=6010 driver=ftdi-mpsse --- USB cable,类型是试出来的
下面是我在不同平台上的试验结果
1. Intel xScale IXP42x platform
detect到的chip ID 是0,所以需要指定config file
网上有很多这样的小工具和软件,在dd-wrt/open-wrt上面也有很多人在用,调查一下来看,UrJtag: http://urjtag.sourceforge.net/ 可以满足我的需求: 支持的CPU类型比较多,支持快速的 USB-JTAG cable,更重要的是这个项目目前还在维护。
自己先做了一个并口转JTAG的线, 跟Wiggler 大多相同,但也有几个脚定义不同,所以需要修改软件代码。 公司里还有一个USB-JTAG cable,也可以用,programm速度比wiggler要快10倍。选cable类型的命令
cable wiggler ppdev /dev/parport0 --- wiggler
cable OOCDLink-s vid=0403 pid=6010 driver=ftdi-mpsse --- USB cable,类型是试出来的
下面是我在不同平台上的试验结果
1. Intel xScale IXP42x platform
detect
detectflash 0
readmem 0 0x10000 test.bin
flashmem 0 test.bin
2. Admtek 5120 board
detectflash 0
readmem 0 0x10000 test.bin
flashmem 0 test.bin
detect到的chip ID 是0,所以需要指定config file
detect
include admtek/adm5120/adm5120
detectflash 0x3fc00000
readmem 0x3fc00000 0x10000 test.bin
3. Brecis MSP2000/MSP2006/MSP2010 <
include admtek/adm5120/adm5120
detectflash 0x3fc00000
readmem 0x3fc00000 0x10000 test.bin