OpenOCD 0.9.0 release

I’m happy to announce the release of OpenOCD version 0.9.0, finally!

It tooks us a bit more than a year but the list of changes isn’t a small one either. With 439 commits from 94 contributors, it’s an impressive example of how the community can drive the project forward. As an active OpenOCD user, I really appreciate all your patches, bugreports, discussions and friendly chat on IRC, thank you folks! Special mention goes to those who tirelessly review the patches and keep the project afloat as a whole: the core maintainers team.

We’ve also seen participation from the big semiconductor manufacturers, both nice and odd. Not everybody understands why it’s important to provide the customers with free software cross-platform tools, so please, even if you’re just a customer, you still have a voice, send your vendor an email explaining why it would be important for you to have support for their ICs in upstream OpenOCD (or if it’s already there, how happy you’re about it). The more examples they get, the more likely they’ll listen and learn; and I hope those who have already tried collaborating with the OpenOCD project enjoyed it as much as we did.

The release tarballs are available from the usual SF location: and the documentation can be easily reached from .

Here follows a copy of the release NEWS for your convenience.

Enjoy, and happy hacking!

JTAG Layer:

  • SWD support with FTDI, Versaloon, J-Link, sysfsgpio
  • CMSIS-DAP massive speed and stability improvements
  • Versaloon driver ported to libusb-1.0
  • STLink can reestablish communication with a target that was disconnected or rebooted
  • STLink FAULT and WAIT SWD handling improved
  • New hla_serial command to distinguish between several HLA adapters attached to a single machine
  • Serial number support for CMSIS-DAP and J-Link adapters
  • Support for more J-Link adapters
  • TAP autoprobing improvements
  • Big speedup for SVF playback with USB Blaster

Boundary Scan:

Target Layer:

  • Stability improvements for targets that get disconnected or rebooted during a debug session
  • MIPS speed and reliability improvements
  • MIPS 1.5/2.0 fixes
  • ARMv7-R improvements
  • Cortex-A improvements, A7, A15 MPCores support
  • FPU support for ARMv7-M (Cortex-M4F)
  • TPIU/ITM support (including SWO/SWV tracing), can be captured with external tools or STLink
  • JTAG Serial Port (Advanced Debug System softcore) support
  • Profiling support for OpenRISC
  • ChibiOS/RT 3.0 support (with and without FPU)
  • FreeRTOS current versions support
  • Freescale MQX RTOS support
  • GDB target description support for MIPS
  • The last created target is auto-selected as the current

Flash Layer:

  • nRF51 async loader to improve flashing performance and stability
  • Cypress PSoC 41xx/42xx and CCG1 families flash driver
  • Silabs SiM3 family flash driver
  • Marvell Wireless Microcontroller SPI flash driver
  • Kinetis mass erase (part unsecuring) implemented
  • lpcspifi stability fixes
  • STM32 family sync with reference manuals, L0 support, bugfixes
  • LPC2000 driver automatically determines part and flash size
  • NXP LPC11(x)xx, LPC13xx, LPC15xx, LPC8xx, LPC5410x, LPC407x support
  • Atmel SAMD, SAMR, SAML21 devices support
  • Atmel SAM4E16 support
  • ZeroGecko family support
  • TI Tiva C Blizzard and Snowflake families support
  • Nuvoton NuMicro M051 support
  • EZR32 support in EFM32 driver

Board, Target, and Interface Configuration Scripts:

  • Normal target configs can work with HLA (STLink, ICDI) adapters
  • STM32 discovery and Nucleo boards configs
  • Gumstix AeroCore board config
  • General Plus GP326XXXA target config
  • Micrel KS869x target config
  • ASUS RT-N66U board config
  • Atmel SAM4E-EK board config
  • Atmel AT91SAM4L proper reset handling implemented
  • TI OMAP/AM 3505, 3517 target configs
  • nRF51822-mKIT board config
  • RC Module К1879ХБ1Я target config
  • TI TMDX570LS20SUSB board config
  • TI TMS570 USB Kit board config
  • TI CC2538, CC26xx target configs
  • TI AM437x major config improvements, DDR support
  • TI AM437X IDK board config
  • TI SimpleLink Wi-Fi CC3200 LaunchPad configs
  • Silicon Labs EM357, EM358 target configs
  • Infineon XMC1000, XMC4000 family targets and boards configs
  • Atheros AR9331 target config
  • TP-LINK TL-MR3020 board config
  • Alphascale asm9260t target and eval kit configs
  • Olimex SAM7-LA2 (AT91SAM7A2) board config
  • EFM32 Gecko boards configs
  • Spansion FM4 target and SK-FM4-176L-S6E2CC board configs
  • LPC1xxx target configs were restructured
  • IoT-LAB debug adapter config
  • DP BusBlaster KT-Link compatible config

Server Layer:

  • Polling period can be configured
  • “shutdown” command has an immediate effect
  • The “program” command doesn’t lead to a shutdown by default, use optional “exit” parameter for the old behaviour
  • Proper OS signal handling was implemented
  • Async target notifications for the Tcl RPC


Build and Release:

This release also contains a number of other important functional and cosmetic bugfixes. For more details about what has changed since the last release, see the git repository history:

Comments are closed.