EMBEDDED PROJECTS JOURNAL
100% frei und kostenlos,
als PDF und in gedruckter Form,
per Open Source Lizenz
AVR-RISC (Infos)
Embedded Software selbst entwickeln
(inkl. Absatz über USBprog)
AVR-Starterkit für 61,90 EUR
Quicklinks: Home | Online Firmware Pool | Shop
     

USB JTAG adapter for OpenOCD (ARM Debugger)

von Benedikt Sauter, sauter@ixbat.de, 2007

With the USB JTAG adapter you are able to program many ARM-based microcontrollers in-circuit. The adapter allows realtime debugging, the setting of breakpoints and the realization of single steps, so you get the whole range of functions needed for successful application development and for efficient debugging. You can control the adapter with OpenOCD by Dominic Rath.

NEW: In the meantime, OpenOCD along with USBprog-support is integrated in the testing sector of Debian Sarge. Meaning, everything you need can easily be installed with the package management.

 

This adapter isn't the fastest, but the speed is enough for the most simple programmings and debugsessions! A singlestep on the telnet console works almost without any delay. Nevertheless, I am working on a small PCB that can easily be plugged on just like the breadboard shown above. There will be an CPLD on it that will advance the communication drastically.

State

Testet with the telnet interface and the console GDB under Linux and Windows.

Download

Beschreibung
 Download
 Hex firmware
 openocd.hex
 Bin firmware  openocd.bin
 source code archive firmware  SVN Repository
 driver files for Windows
 Download
 OpenOCD windows version with USBprog support incl. drivers (YAGARTO)
 Download
 OpenOCD Debian oackage
 Download
 OpenOCD source code archive
 Download



Support for OpenOCD 

On this page, only the support directly for the adapter is provided. If you have any problem with OpenOCD and an ARM controller you are in good hands in the OpenOCD support forum: http://forum.sparkfun.com/viewforum.php?f=18

Pin configuration

10-pole plug
Description  Pin  Pin  Description 
 TDI *
 1  2
 VREF
 SRST  3  4  TRST
 TMS *
 5  6  
 TCK *
 7  8  
 TDO *
 9  10  GND
 * only these IOs are available in version 2.0

JP3 (on 3.0) JP2 (on 2.0)
Pin  Description 
 1  VCC (not existing on JP2 in version 2.0)
 2  SRST
 3  TRST
 4  GND (not existing on JP2 in version 2.0)
 
 
ATTENTION! There are ARM processors that aren't 5V compatible! (e.g. STR710, STR711, STR712) You have to hook up a circuit for the level conversion!

Quote from a user: Please note: Atmel SAM7XC data sheet, page 13: JTAG Port Pins are not 5V tolerant, although the rest is!

OpenOCD under Linux

Debian (Sarge testing)

  1. apt-get install openocd 

Install from the source code

  1. Download source code archive with subversion:
     svn checkout http://svn.berlios.de/svnroot/repos/openocd/trunk
  2. Prepare compilation: ./configure --enable-usbprog
  3. Compilation: make
  4. Installing the file system: make install
  5. Modulate permits : chmod +s /usr/local/bin/openocd (as root)

USBprog and OpenOCD in action: ARM Getting Started with USBprog and OpenOCD

OpenOCD under Windows

Michale Fischer is maintaining an installation version of OpenOCD. It is available on the homepage http://www.yagarto.de/. Since USBprog is quite new, there is only a Yagarto OpenOCD USBprog version on my page for now. The file simply has to be downloaded and installed.

You can either run OpenOCD from the Dos box or integrate it in an development environment consisting of Eclipse.
 

Working with the OpenOCD Debugger

GNU/Linux
Quite a while ago I wrote a small demo here. It should last for a manual. Developing LPC2103(ARM7) with OpenOCD under Linux

Windows
Since I'm more familiar with Linux I refer directly to the page of Michael Fischer. Here is described how to develop with OpenOCD and the GCC under Windows: http://www.yagarto.de/howto.html

 

Level converter 5V and 3,3 V

Possible voltage converters:

SN74LVC8T245
8-Bit Dual-Supply Bus Transceiver with Configurable Voltage Translation and Three-State Outputs 1.65 5.5 Both 8 Dual Supply
TXB0108
8-Bit Bidirectional Voltage-Level Translator with Auto Direction Sensing and +/-15-kV ESD Protect 1.2

 © 2007 by Embedded Projects, Benedikt Sauter