Home Articles News New OpenOCD version 0.6.1
New OpenOCD version 0.6.1
User Rating: / 4
PoorBest 
Written by Freddie Chopin   
Saturday, 13 October 2012 16:02

Because of huge amount of obligations (and a little bit of rest in a form of climbing trip [; ) I did not publish any info about release of OpenOCD version 0.6.0, which took place at the beginning of September. As it turned out later (after getting back from the trip) it wasn't so bad, as this version contained a serious regression, which was introduced somewhere between 0.6.0-rc1 and 0.6.0-rc2. To cut things short, the problem manifested itself in the fact that some operations worked correctly only on the first try, all subsequent tries failed - this is what happened when trying to flash something to LPC17xx/LPC2xxx chip. Those interested may find some more info on OpenOCD's mailing list and in the news about fixed version on project's website.

So, soon after the regression was discovered, a new bugfix version 0.6.1 was published, which brought back correct behavior of these functionalities that were affected by the bug. As usually I have provided a binary version for Windows (both 32- and 64-bit version) in Download > Software > OpenOCD section. By the way - because of recurring questions - these packages since 0.5.0 (inclusive) are not available in the form of installer, only as a compressed archive with everything that is needed. So it's not possible to install them (as written in my article about toolchain), it's enough to extract them anywhere and execute the binary using full path. Creating an installer was too much hassle for completely no benefit it gave (;

What interesting changes does new version of OpenOCD bring? A lot! I don't know where to start, so I'm going through some more significant things from the list which you may find in the news about new version on project's website.

  • OpenOCD supports ST-LINK interface (probably best known from Discovery series of development boards) - both older (V1) and newer variant (V2). By the way it's worth noting that with these interfaces it's possible to debug targets via SWD.
  • New, currently a bit experimental, driver was introduced for interfaces based on FTDI chips from FTx232 series, so probably the most popular interfaces used with OpenOCD (like well-known JTAG-lock-pick 1 and coming-very-soon JTAG-lock-pick Tiny 2). This driver uses libusb-1.0 library in asynchronous mode in place of libftdi + libusb-0.1, which results in it's great performance - detailed comparison can be found here, in brief the speed gain may reach as high as 500%! Configuration files using this new driver can be found in interfaces/ftdi folder - they're worth trying, but before tests you need to change the driver for your JTAG to the one using libusb-1.0 (a short description of the process for Windows can be found in the package with binary version, in the drivers\libusb-1.0 drivers.txt file).
  • Support for debugging RTOSes - currently working with Linux, FreeRTOS, ThreadX and eCos.
  • Asynchronous flashing algorithm for selected targets (STM32, Stellaris and PIC32), which - of course - results in speed gain.
  • ...
I highly encourage to download and use the most recent version, especially people who downloaded version 0.6.0 (now removed from website) should upgrade.

Last Updated on Saturday, 13 October 2012 17:32