
Using benefits of compatibility with a Wiggler, I used following free software from Macraigor Systems:
The arm-elf tools are added to /usr/local/bin each has "ARM-ELF-" added to the tool CAPITALISED name (ie ARM-ELF-GDB and ARM-ELF-GCC) to differentiate it from the x86 versions of the same commands.
Several example gdb.ini files are provided.
#define MASK_TMS_BIT 0x02 //2 //0x04
#define MASK_TCK_BIT 0x04 //1 //0x02
#define MASK_TDI_BIT 0x08 //4 //0x01
#define MASK_RST_BIT 0x01 //8
#define MASK_TDO_BIT 0x80 //0x10
/* Polarity of signals */
#define INVERT_TMS 0 // 0
#define INVERT_TCK 0 // 0
#define INVERT_TDI 0 // 0
#define INVERT_RST 0
#define INVERT_TDO 1 // 1
In general, following definitions could be used to use Wiggler adapter with other open source JTAG software.
/*
* data D[7:0] (pins 9:2)
*/
#define TDI 3
#define TCK 2
#define TMS 1
#define TRST 0
/*
* 7 - BUSY (pin 11)
* 6 - ACK (pin 10)
* 5 - PE (pin 12)
* 4 - SEL (pin 13)
* 3 - ERROR (pin 15)
*/
#define TDO 7 //(inverted)
objdump -b binary -m arm7tdmi -D file_name
Precompiled GNU toolkit for ARM for CYGWIN environment could be downloaded from OpenWinCE project (see http://sourceforge.net/projects/openwince/ ).
Package arm-elf-3.0.4-2.cygwin.tar.bz2 include GCC with following parameters :
$ /usr/local/tools-3.0.4-2/bin/arm-elf-gcc.exe -v
Reading specs from /usr/local/tools-3.0.4-2/bin/../lib/gcc-lib/arm-elf/3.0.4/specs
Configured with: ../gcc-3.0.4/configure --target=arm-elf
--prefix=/devel/tools-3.0.4-2 --with-gnu-as --with-gnu-ld --enable-languages=c,c++
Thread model: single
gcc version 3.0.4
$ /usr/local/tools-3.0.4-2/bin/arm-elf-objdump.exe -i
BFD header file version 2.13
elf32-littlearm
(header little endian, data little endian)
arm
elf32-bigarm
(header big endian, data big endian)
arm
elf32-little
(header little endian, data little endian)
arm
elf32-big
(header big endian, data big endian)
arm
srec
(header endianness unknown, data endianness unknown)
arm
symbolsrec
(header endianness unknown, data endianness unknown)
arm
tekhex
(header endianness unknown, data endianness unknown)
arm
binary
(header endianness unknown, data endianness unknown)
arm
ihex
(header endianness unknown, data endianness unknown)
arm
elf32-littlearm elf32-bigarm elf32-little elf32-big srec
arm elf32-littlearm elf32-bigarm elf32-little elf32-big srec
symbolsrec tekhex binary ihex
arm symbolsrec tekhex binary ihex