Archive for April, 2014

OpenOCD 0.8.0 release

Sunday, April 27th, 2014

Today I’m happy to announce the availability of OpenOCD 0.8.0 release.

It’s been almost a year since v0.7.0, and the amount of changes is impressive. The project gained 458 commits from 78 contributors all around the world; added to that countless hours that were spent on reviewing, discussing, testing and bug-reporting. I’d like to take this opportunity to say “thank you” to everybody involved, your participation is sincerely appreciated.

Of specific interest here were contributions directly from hardware manufacturers. During this development cycle OpenOCD received support from Andes Technology Corporation and Intel Corporation, and in both cases it was a fine collaboration following the best practices as established in the free software world. To help other manufacturers join the trend I propose we all start demanding out-of-the-box OpenOCD support from the vendors, educating them about Intel’s experience.

Please find the updated sources in the git repository and on the download area:

Freddie Chopin has kindly provided windows binaries on his website: > Download > Software > OpenOCD, see for details.

Good luck, and happy hacking!

The release highlights are listed below:

JTAG Layer:

  • New CMSIS-DAP driver.
  • Andes AICE debug adapter support.
  • New OpenJTAG driver.
  • New BCM2835 (RaspberryPi) driver.
  • JTAG VPI client driver (for OpenRISC Reference Platform SoC).
  • Xilinx BSCAN_* for OpenRISC support.
  • ST-LINKv2-1 support.
  • ST-LINKv2 SWO tracing support (UART emulation).
  • JLink-OB (onboard) support.
  • Altera USB Blaster driver rewrite, initial Blaster II support.
  • ULINK driver ported to libusb-1.0, OpenULINK build fixes.
  • Support up to 64 bit IR lengths.
  • SVF playback (FPGA programming) fixes.
  • “ftdi” interface driver got extensive testing and is now recommended over the old ft2232 implementation.

Boundary Scan:

Target Layer:

  • New target: Andes nds32.
  • New target: OpenRISC OR1K.
  • New target: Intel Quark X10xx.
  • MIPS EJTAG 1.5/2.0 support.
  • MIPS speed improvements.
  • Cortex-M, Cortex-A (MEM-AP, APB-AP) targets working with BE hosts now.
  • XScale vector_catch support, reset fixes.
  • dsp563xx ad-hoc breakpoint/watchpoint support.
  • RTOS support for embKernel.
  • Target profiling improvements.
  • Memory access functions testbench.

Flash Layer:

  • STM32 family sync with reference manuals, other bugfixes.
  • STM32F401, STM32F07x support.
  • Atmel SAM4L, SAMG5x support.
  • Atmel AT91SAM3SD8[a,b], AT91SAM3S8[a,b,c], AT91SAM4S, AT91SAM3N0[a,b,0a,0b] support, bugfixes.
  • Atmel SAMD support.
  • Milandr 1986ВЕ* support.
  • Kinetis KL, K21 support.
  • Nuvoton NuMicro MINI5{1,2,4} support.
  • Nuvoton NUC910 series support.
  • NXP LPC43xx, LPC2000 fixes.
  • NXP LPC800, LPC810 support.
  • More ATmega parts supported.
  • Fujitsu MB9Ax family support.
  • EFM32 Wonder Gecko family support.
  • Nordic nRF51 support.

Board, Target, and Interface Configuration Scripts:

  • STM32W108xx generic target config.
  • STM32F429 discovery board config.
  • STM32 Nucleo boards configs.
  • DENX M53EVK board config.
  • Altera Cyclone V SoC, SoCkit config.
  • New TI Launchpads board configs.
  • TI am43xx devices, AM437x GP EVM, AM438x ePOS EVM board configs.
  • Marvell Armada 370 family initial support.
  • TI TMDX570LS31USB (TMS570, Cortex-R4) support scripts.
  • Freescale FRDM-KL25Z, KL46Z board configs.
  • Digilent Zedboard config.
  • Asus RT-N16, Linksys WRT54GL, BT HomeHub board configs.
  • Atmel Xplained initial support.
  • Broadcom bcm28155_ap board config.
  • TUMPA, TUMPA Lite interface configs.
  • Digilent JTAG-SMT2 interface config.
  • New RAM testing functions.
  • Easy-to-use firmware recovery helpers targeting ordinary users with common equipment.

Server Layer:

  • Auto-generation of GDB target description for ARMv7-M (XML support in GDB is mandatory for this architecture now), ARM4, nds32, OR1K, Quark.
  • GDB File-I/O Remote Protocol extension support.
  • Default GDB flashing events handlers to initialise and reset the target automatically when “load” is used.


  • Extensive README* changes.
  • The official User’s Guide was proofread.
  • Example cross-build script.
  • RTOS documentation improvements.
  • Tcl RPC documentation and examples added.

Build and Release:

  • *BSD, OS X, clang, ARM, windows build fixes.
  • New pkg-config support changes the way libusb (and other dependencies) are handled. Many adapter drivers are now selected automatically during the configure stage.

PS: A next-release teaser: I know many people would like to see SWD support for FTDI-based adapters. It’s already working really good but not yet ready for merging, the patches are available from Gerrit and it’s likely they’ll be ready by the next release.