Verdex JTAG

From Gumstix User Wiki
Revision as of 15:01, 30 September 2011 by Ashcharles (Talk | contribs) (Created page with "This page explains one way to use OpenOCD JTAG software with verdex pro. This is useful for hardware debugging and reflashing verdex boards. == Get OpenOCD === Start by downloa...")

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

This page explains one way to use OpenOCD JTAG software with verdex pro. This is useful for hardware debugging and reflashing verdex boards.

Get OpenOCD =

Start by downloading OpenOCD. To get the latest features and support for your particular JTAG adapter, build from source. If you are using a JTAG adapter that connects to your computer via USB, you'll likely need to enable libftdi support.

$ git clone git://openocd.git.sourceforge.net/gitroot/openocd/openocd
$ cd openocd
$ ./configure --enable-ft2232_libftdi
$ make -j2

At this point, you can install it with a sudo make install. I just ran in place:

$ ./src/openocd -s tcl -f tcl/interface/flyswatter.cfg -f tcl/board/verdex.cfg

Three important notes:

  • your verdex should be powered and connected via JTAG
  • replace -f tcl/interface/flyswatter.cfg with the configuration for your particular JTAG adapter
  • if -f tcl/board/verdex.cfg is not available, try using -f tcl/board/voipac.cfg instead (I've submitted a patch but it may take a while to get included)

If all goes well, you should see something like this:

Open On-Chip Debugger 0.6.0-dev-00084-gdaa4147 (2011-09-26-16:43)
Licensed under GNU GPL v2
For bug reports, read http://openocd.berlios.de/doc/doxygen/bugs.html
Info : only one transport option; autoselect 'jtag'
adapter_nsrst_delay: 260
jtag_ntrst_delay: 250
Info : verdex.cpu: hardware has 2 breakpoints and 2 watchpoints
trst_and_srst separate srst_gates_jtag trst_push_pull srst_open_drain
50000 kHz
Info : clock speed 6000 kHz
Info : JTAG tap: verdex.cpu tap/device found: 0x89265013 (mfg: 0x009, part: 0x9265, ver: 0x8)

Using JTAG

With the OpenOCD daemon running, open a new terminal window and fire up a telnet (or gdb) session:

$ telnet localhost 4444

You can now play with JTAG. Hint: the help command is pretty useful.

Reflashing

These are the steps I followed to reflash my board starting from a telnet session:

reset halt
flash write_image erase unlock /home/ash/u-boot.bin
flash write_image erase unlock /home/ash/rootfs.jffs2 0x00040000
flash write_image erase unlock /home/ash/uImage 0x01e00000

Notes:

  • you need to specify absolute ('~' doesn't count) paths to your files ('u-boot.bin', 'rootfs.jffs2', 'uImage')
  • for XM4 boards, change '0x01e00000' to '0x00e00000'
  • for debugging/unbricking, it certainly isn't necessary to flash all three components---just u-boot.bin is sufficient