Page 1
ARM-USB-OCD-H, ARM-USB-OCD OLIMEX OPENOCD ARM JTAG DEBUGGERS USER’S MANUAL Document revision D, July 2015 All boards produced by Olimex LTD are ROHS compliant...
This document is intended only to assist the reader in the use of the product. OLIMEX Ltd. shall not be liable for any loss or damage arising from the use of any information in this document or any error or omission in such information or any incorrect use of the product.
3.6 IAR Embedded Workbench for ARM ............25 3.7 Rowley Crossworks for ARM ................. 26 3.8 CooCox IDE ..................... 28 3.9 Olimex Open Development Suite (ODS) package ........28 3.10 Other software tools ..................29 CHAPTER 4: FREQUENTLY ASKED QUESTIONS .......... 30...
1. Introduction to the chapter Thank you for choosing an OpenOCD debugger manufactured by OLIMEX LTD. This document provides information about two of the ARM debuggers manufactured by OLIMEX LTD – ARM- USB-OCD and ARM-USB-OCD-H. ARM-USB-OCD and ARM-USB-OCD-H are very similar in features and hardware design.
Both debuggers are able to power your target board via the JTAG. Both debuggers can power the target board via a DC power plug. The ARM-USB-OCD-H always provides up to 5V of voltage to the target via the plug, while the ARM-USB-OCD can be configured to provide 9V or 12V.
An extension cable that fits the barrel jack is included in the package. The ARM-USB-OCD can provide 5V or 9V or 12V (controlled via jumper), while ARM-USB-OCD-H can only provide 5V. This feature is useful when you want to power the target board without establishing the JTAG connection.
The USB type B connector follows the USB 2.0 specification. The connector itself looks like this: You would most likely need a suitable cable to connect the debugger to your personal computer. The cable should be USB A-B type. You might find a cable like that in the Olimex web-shop or any electronics store nearby.
The voltage available at the power out barrel jack depends on the exact product you have! The voltage available at the PWR_OUT barrel jack might vary ARM-USB-OCD or ARM-USB-OCD-H. By default both debugger designs can provide 5V DC to the PWR_OUT jack. However, ARM- USB-OCD has two jumpers that can enable 9V DC voltage output or 12V DC voltage output.
CHAPTER 3: SETTING UP ARM-USB-OCD 3. Introduction to the chapter More details about the standard connection routine of Olimex ARM-USB-OCD and your target via the most often used development environments. You can find the guidelines to use ARM-USB-OCD and the similar Olimex products below.
ARM-USB-OCD debuggers lacks SWD interface by hardware design but such can be added. You can use the ARM-JTAG-SWD adapter to enable the SWD interface of ARM-USB-OCD debuggers. Connect the adapter to Olimex programmers in the following way: JTAG debugger – SWD interface – JTAG ribbon cable – Target;...
“Driver Signature Verification” which is enabled by default. It prevents the installation of any unsigned drivers to your system. After you plug ARM-USB-OCD-H for the first time and you open ''Windows Device Manager'' you should see two entries under ''Other devices'' like shown below: The driver installation in Windows would depend on which version of OpenOCD you are using.
Create a file /etc/udev/rules.d/olimex-arm-usb-ocd-h.rules Put this single line in the file: The Olimex vendor and product IDs are part of the driver (VID/PID) and you have to find the right IDs from table 2 (above in this manual). For ARM-USB-OCD-H those are: PID: 0×002b...
PID/VID in decimal. You might want to use a calculator for the conversion (hex to decimal). Search for "Olimex OpenOCD JTAG B" and edit the <integer> fields after the keys idProduct (PID) and idVendor (VID). Remember you need to have root privileges to edit the file.
This is the default way to communicate with your target if you use an OpenOCD version 0.8.0 or newer. If you are using a 64-bit operating system and OpenOCD versions 0.8.0 a typical connection command between ARM-USB-OCD-H and a STM32F1 target would would like: openocd-x64-0.8.0.exe -f ./interface/ftdi/olimex-arm-usb-ocd-h.cfg -f ./target/stm32f1x.cfg...
This is the default way to communicate with your target if you use an OpenOCD version prior to 0.8.0. Note that the interface cfg is located at a different place compared to the previous example with FTDI drivers. openocd -f interface/olimex-arm-usb-ocd-h.cfg -f target/stm32f1x.cfg Info : JTAG tap: stm32f1x.cpu tap/device found: 0x3ba00477 (mfg: 0x23b, part: 0xba00, ver: 0x3) Info : JTAG tap: stm32f1x.bs tap/device found: 0x06418041 (mfg: 0x020, part:...
In OpenOCD there is a specific parameter that allows the usage of multiple debuggers on the same computer. Despite that the OLIMEX debuggers have the same VID and PID, they have unique serial numbers. The serial number is stored in the “iSerial” property of the USB information. After we have identified the serial number of each connected debugger we need to create own configuration file for each debugger.
Then download the FTD2XX drivers (from here: https://www.olimex.com/Products/ARM/JTAG/_resources/driver-ftd2xx.zip), extract them somewhere and point manually the installer to that location.
There is profile for ARM-USB-OCD in Crossworks – it works with both ARM-USB-OCD and ARM-USB-OCD-H. The ready-to-use configuration also works fine for a SWD setup – a debugger with ARM-JTAG-SWD. If you experience disconnects you might increase the “JTAG Clock Divider”...
Page 27
The correct VID and PID for your device might be found in table 2 in case you missed it. The SWD interface via ARM-JTAG-SWD might require different manual settings compared to the JTAG ones. You can see a properly connected ARM-USB-OCD-H + ARM-JTAG-SWD in Crossworks 3.5.1 in the picture below: Page 27 of 33...
Windows installer so if you are a pure Linux user you might want to skip this chapter. The package is primarily meant to be used by people who own an Olimex OpenOCD debugger and one of the supported Olimex boards. It might be a very helpful software package for the OpenOCD beginners.
Open-Source tools used in Olimex ODS) once you get the idea! Unfortunately, Olimex is unable to provide any support for the Olimex ODS (we can't give you any custom configurations, neither makefiles, neither additional examples). Olimex ODS it is meant to be used only as a reference in your efforts to configure own environment.
Q: I have LPC1227 board and can't program it with your OpenOCD debugger. What do I do wrong? A: LPC1227 lacks JTAG according to the microcontroller's datasheet. The board can be programmed only via SWD (Serial Wire Debug) interface. Olimex OpenOCD debuggers have JTAG by default. You would need an additional adapter – ARM-JTAG-SWD.
ARM-USB-OCD user's manual 5.3 Product support For product support, hardware information and error reports mail to: support@olimex.com. Note that we are primarily a hardware company and our software support is limited. Please consider reading the paragraph below about the warranty of Olimex products.