JTAG-GDB Server for ARM


The "JTAG-GDB server" is a program for integrating the ARM-Embedded ICE logic with the GNU-Debugger GDB.
This program is running at a host system (for example an i386 PC) and it is directly (or an extra Level Shifter/Line Driver) connected with the ARM Embedded ICE logic of the target platform using the JTAG interface.

At the other side, the server has to understand GDB's own remote debug protocol which is transported over ether a RS232 or a TCP/IP link (including the loopback interface so that the debugger and the server can live at the same machine).
The host system can be any embedded CPU platform that has a direct port to emulate the standard JTAG signals.

For example the host platform can be standard PC with a parallel IO using a Level Shifter/Line Driver.
These drivers can also be standard device like Altera Byteblaster, Xilinx DLC, Lattice ISPDLC, Macraigor Wiggler etc or your own tinker solution.

The target machine can be any ARM CPU with JTAG and embedded ICE logic.


Details

See Manual file for more details.


Status

There is no stable release yet !!!!

An instable development snapshot of the JTAG-GDB Server with limited features exists.(see Notes)

Host Architecture: Standard ix86 PC
Operation System: Unix (FreeBSD, Cygwin, Linux)
Host Interface: TCP/IP
Target Machine: ARM7TDMI , ARM9TDMI and Cortex-M3 (little endian versions)
Target Interface: Parallel port driver

Parallel Level Shifter/Line Driver:

My own tinker solution seems to work
Olimex MSP 430 JTAG seems to work additional modifications required (due to voltage regulator feedback and rest signal driver)
Altera Byteblaster not yet tested
Xilinx DLC not yet tested
Lattice ISPDLC seems to work
Macraigor Wiggler seems to work

ARM7TDMI target machines:

Type Vendor Core Featurs Comment
S3C44B0X Samsung most functions seems to work (*)
AT91SAM7S64 Atmel most functions seems to work (*)
LPC2106 Phillips most functions seems to work (*)
STR711 STM most functions seems to work (*)
ML67Q5003 OKI not yet tested
LH79520 Sharp ARM720T MMU some functions seems to work, poor MMU support (**)

ARM9TDMI target machines:

Type Vendor Core Featurs Comment
AT91RM9200 Atmel ARM920T MMU some functions seems to work, poor MMU support (**)
STR912 STM ARM966E-S TCM (noMMU) some functions seems to work, poor CP15 support (***)

Cortex-M3 target machines:

Type Vendor Core Featurs Comment
STM32F10x STM ARMv7-M Thumb 2 (no ARM-mode) some functions seems to work (****)

Flash of target platform:

AMD Algorithm M29W400BB (STM) seems to work
Intel Algorithm not yet tested


(* Some methods like the system setup (or Reset) didn't work good enough.)
(** MMU not realy usable)
(*** sometimes strange behaviour; some methode currently deactivated)
(**** first stage)

Contributing

Suggestions, reports of working platforms, bug reports (if possible with bug fixes) are always welcomed. Send mail