Neo 1973 OpenOCD
It provides a human-readable telnet interface for manually halting/resuming the target device, reading/writing registers and memory, etc.
In addition, it provides a RDI (remote debugger interface) on a TCP port. This interface can be used by gdb (the GNU Debugger).
The GTA01 development team uses OpenOCD with a wiggler compatible probe as their ICE solution.
We now have a Debian binary package of OpenOCD, available from http://people.openmoko.org/laforge/dpkg. Installing this package is the preferred method to install OpenOCD on your development machine like
dpkg --install openocd_82-1_i386.deb
OpenOCD Revision 82 and later have been proven to work with our QT2410 and Neo1973 target board and wiggler as well as Amontect JTAGkey and JTAGkey tiny. You can e.g. check rev. 130 out of the OpenOCD subversion via
svn co -r 130 http://svn.berlios.de/svnroot/repos/openocd/trunk
CP15 register read/write of ARM920T core not working
This has been reported upstream. Bugfix pending.
number of discovered devices in JTAG chain doesn't match configuration
You get something like:
Error: jtag.c:1224 jtag_examine_chain(): number of discovered devices in JTAG chain (51) doesn't match configuration (1)
This seems like a libftdi initialization bug. Sometimes the FT2232 doesn't get completely reset into a sane state at startup of OpenOCD. Please unplug the USB cable from the Amontec JTAGkey / Debug Board and re-plug. It should immediately work the next time. Bugfix would be appreciated a lot!
OpenOCD and Debug Board
If you wan to use OpenOCD with our Debug Board v2, and want to use the serial port simultaneously with OpenOCD, you need libftdi-0.8 or later. Chances are high that your distribution still ships an earlier version of libftdi, so you might want to download it from http://www.intra2net.com/de/produkte/opensource/ftdi/ and build yourself.
telnet_port 4444 gdb_port 3333 interface ft2232 jtag_speed 0 ft2232_vid_pid 0x1457 0x5118 ft2232_layout "jtagkey" reset_config trst_and_srst jtag_device 4 0x1 0xf 0xe daemon_startup attach target arm920t little reset_run 0 arm920t working_area 0 0x200000 0x4000 backup run_and_halt_time 0 5000
Using OpenOCD telnet interface
The telnet interface can be accessed using
telnet localhost 4444
it provides a plethora of functions for debugging. You might be interested in
reset reset halt resume poll reg load_binary mdw mww
Using OpenOCD and gdb for remote debugging