This page has things that aren't needed anymore. Will be fixed soon

Tools and Software used in HRI project


JTAG

Adapter

JTAG adapter build by schematics originated by JTAG-ARM9 project and had to be pin-compatible Wiggler device from Macraigor Systems LLS.

Note: for some inexplainable reason, DLink DI604 router don't work properly when JTAG implements nTRST connection. If you face such problem - simply disconnect this pin.

Check FAQ for alternatives.

JTAG software

Original Wiggler software

Using benefits of compatibility with a Wiggler, I used following free software from Macraigor Systems:

Open Source JTAG software

To read flash memory content, I used a very popular armtool from open source arm-boot project. Unfortunately, original pointer (http://kabel.home.at:5880/cgi-bin/viewcvs.cgi/arm-boot/) is not working any more.

A newest sources may be obtained from http://home.at/cgi-bin/viewcvs.cgi/midori/sources/armtool/ and we have fresh compile/usage instructions available.

To accommodate Wiggler compatible adapter, following definitions had to be made in jtag_io.c file (old version from arm-boot project, it is not needed to newer armtool):


#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)

RS232 adapter

You'll need a level shifter like this one in case your board have a serial (3.3V) UART

Please note that this make a RS232C COM PORT, so you'll need a cross-over cable to connect it to a serial port i.e. on a PC (another approach would be crossover pins 2 & 3 and use a female DB9 connector)


Disassemblers

Dissassembler is a must to have tool when you reverse engineering original firware or flash memeory image.


Other software - compilers and so on

ARM Toochain for CYGWIN

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

Openwince JTAG instructions (Linux)

ARM Toochain for LINUX

You can compile your own ARM cross-compile enviroment using the instructions here: Snapgear arm-elf-gcc build . You may download a precompiled binaries from Snapgear web site.


Links

Soft Osciloscope

Oscilloscope for Windows is a Windows application that converts your PC into a powerful dual-trace oscilloscope. Oscilloscope uses your PC's sound card as an Analog-to-Digital Converter (ADC) to digitize any input waveform (speech, music, electric signal, etc.) and then presents it on the monitor in real time, allowing the user to control the display in the same way as on a conventional "standalone" scope, for example change gain, timebase or plot Lissajous patterns.


$Id: index.html,v 1.10 2004/03/02 06:37:04 staskh Exp $