Archive for the ‘News’ Category

OpenOCD 0.10.0 release is out

Sunday, January 22nd, 2017

Hello,

I’m happy to announce the availability of OpenOCD version 0.10.0, finally! For the important points regarding packaging please see [1].

It was a long release cycle but it was also a fruitful one. The list of the most important changes follows.

OpenOCD is a community project and I want to take this opportunity to say thank you to all the contributors, regular and occassional, hobbyists and professionals, corporate-supported and those doing the work on their spare time. Please keep the flow of the patches going, both by sending new code and by reviewing other’s contributions. It’s you who really decide what new features OpenOCD is going to get.

I also want to remind how important it is to communicate to the silicon vendors that you would like to see their devices supported upstream (or that you’re happy that they’re supported).

Highlights of the changes made in the OpenOCD source archive release

JTAG Layer:

  • New driver for J-Link adapters based on libjaylink (including support for FPGA configuration, SWO and EMUCOM)
  • FTDI improvements to work at 30MHz clock
  • BCM2835 native driver SWD and Raspberry Pi2 support
  • BCM2835 is set to 4ma drive, slow slew rate
  • ixo-usb-jtag (emulation of an Altera Bus Blaster I on Cypress FX2 IC) support
  • JTAG pass-through mode for CMSIS-DAP (including support for FPGA configuration)
  • OpenJTAG support for Cypress CY7C65215
  • connect_assert_srst support for SWD
  • Xilinx Virtex-II Series7 bitstream loading support
  • Use JEP106 data to decode IDs
  • Deprecated “ft2232″ driver removed (use “ftdi” instead)
  • GPL-incompatible FTDI D2XX library support dropped (Presto, OpenJTAG and USB-Blaster I are using libftdi only now)
  • ZY1000 support dropped (unmaintained since long)
  • oocd_trace support dropped

Target Layer:

  • ARMv7-A, Cortex-M, Cortex-A/R important fixes and improvements (allowing e.g. simultaneous debugging of A8 and M3 cores, JTAG WAIT support etc.)
  • ARM Cortex-A,R allow interrupt disable during single-step (maskisr command)
  • Semihosting support for ARMv7-A
  • ARM Cortex-M7 support
  • Intel Quark mcu D2000 support
  • Freescale LS102x SAP support
  • ThreadX RTOS support on ARM926E-JS
  • Cortex-M RTOS stack alignment fixes
  • FreeRTOS FPU support
  • uC/OS-III RTOS support
  • bridging semihosting to GDB’s File-I/O support
  • -defer-examine option added to target create command
  • verify_image_checksum command added

Flash Layer:

  • Atmel SAM4S, SAM4N, SAM4C support
  • Atmel SAMV, SAMS, SAME (Cortex-M7) support
  • Atmel AT91SAMD handle reset run/halt in DSU, other fixes
  • Atmel AT91SAML21, SAML22, SAMC20/SAMC21, SAMD09 support
  • ST STM32F4x support
  • ST STM32F74x/76x/77x, STM32L4 support
  • ST STM32L0 categories 1, 2 and 5 support
  • Kinetis K02, K21, K22, K24, K26, K63, K64, K66 support
  • Kinetis KE, KVx, K8x families support
  • Kinetis FlexNVM handling
  • Kinetis flash protection, security, mass_erase improvements
  • Infineon XMC4xxx family support
  • Infineon XMC1000 flash driver
  • Energy Micro EFM32 Happy Gecko support
  • Energy Micro EFM32 debug interface lock support
  • Analog Devices ADuCM360 support
  • Unified Nuvoton NuMicro flash driver
  • NIIET K1921VK01T (Cortex-M4) support
  • Nordic Semiconductor nRF51 improvements
  • Spansion FM4 flash (including MB9BFx64/x65, S6E2DH) driver
  • Ambiq Micro Apollo flash driver
  • PIC32MX new device IDs, 17x/27x flash support
  • read_bank() and verify_bank() NOR flash internal API to allow reading (and verifying) non-memory-mapped devices
  • JTAGSPI driver to access SPI NOR flashes via a trivial FPGA proxy
  • Milandr read/verify for Info memory support
  • Various discrete SPI NOR flashes support
  • CFI 16-bit flash reversed endianness support

Board, Target, and Interface Configuration Scripts:

  • Digilent JTAG-HS2, JTAG-HS3 interfaces configs
  • FTDI UM232H module as JTAG interface config
  • 100ask’s OpenJTAG interface config
  • MBFTDI interface config
  • XDS100v3 interface config
  • Freescale Vybrid VF6xx target config
  • EmCraft VF6 SOM and baseboard configs
  • Freescale SabreSD board config
  • Freescale VF65GS10 tower board config
  • Pipistrello Xilinx Spartan6 LX45 FPGA board config
  • miniSpartan6+ board config
  • Xilinx Kintex7 Development board config
  • Parallella-I board config
  • Digilent Atlys and Analog Discovery board configs
  • Numato Opsis board config
  • Xilinx Spartan 6 FPGA “Device DNA” reading support
  • Altera 10M50 FPGA (MAX10 family) target config
  • Altera EPM240 CPLD (MAXII family) target config
  • Marsohod2, Marsohod3 FPGA, Marsohod CPLD boards configs
  • Novena’s integrated FPGA board config
  • XMOS XS1-XAU8A-10′s ARM core config
  • XMOS xCORE-XA Core Module board config
  • Exynos5250 target config
  • Arndale board config
  • FM4 MB9BFxxx family configs
  • Spansion SK-FM4-U120-9B560 board config
  • Diolan LPC4357-DB1 board config
  • ST STM32F469 discovery board config
  • ST STM32F7-DISCO, STM327[4|5]6G-EVAL boards configs
  • ST STM32L4 discovery, NUCLEO L476RG, STM32F429I-DISC1 boards configs
  • Atheros AR2313, AR2315 targets config
  • Netgear WP102 board config
  • La Fonera FON2200 board config
  • Linksys WAG200G board config
  • LPC-Link2 board config
  • NXP LPC4370 target config
  • Atmel SAMV, SAMS, SAME target configs
  • Atmel SAM E70 Xplained, SAM V71 Xplained Ultra boards configs
  • Nordic nRF52 target config
  • Nordic nRF51-DK, nRF52-DK boards configs
  • Infineon XMC4700 Relax Kit, XMC4800 Relax EtherCAT Kit, XMC4300 Relax EtherCAT Kit boards configs
  • Renesas S7G2 target config
  • Renesas DK-S7G2 board config
  • Altera EP3C10 FPGA (Cyclone III family) target config
  • TI MSP432P4xx target config
  • Cypress PSoC 5LP target config
  • Analog Devices ADSP-SC58x target config (Cortex-A5 core only)

Server Layer:

  • tcl_trace command for async target trace output via Tcl RPC

Build and Release:

  • Various fixes thanks to http://coccinellery.org
  • libftdi is now autodetected with pkgconfig
  • Releases should now support reproducible builds
  • Conversion to non-recursive make, requires automake >= 1.14
  • Udev rules modified to add uaccess tag and moved to 60-openocd.rules
  • Support searching for scripts relative to the openocd binary for all major architectures

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.

Good luck, and happy hacking!

OpenOCD 0.10.0-rc2 release candidate is available

Sunday, January 15th, 2017

Few minor issues were fixed and now we are moving to the second release candidate. If everything goes nicely, we plan to produce the release during the next weekend.

The source archives and release notes are available from the usual SF download locations.

Please post all your feedback to the openocd-devel mailing list.

OpenOCD 0.10.0-rc1 release candidate is out

Sunday, December 25th, 2016

We are pleased to announce the first release candidate of the upcoming OpenOCD version.

The source archives and release notes are available from the usual SF download locations.

Freddie Chopin has kindly provided windows binaries on his website:

http://www.freddiechopin.info/ > Download > Software > OpenOCD dev > openocd-0.10.0-rc1

Please post all your feedback to the openocd-devel mailing list.

OpenOCD 0.9.0 release

Monday, May 18th, 2015

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: https://sourceforge.net/projects/openocd/files/openocd/0.9.0/ and the documentation can be easily reached from http://openocd.org/documentation/ .

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

Documentation:

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: http://sourceforge.net/p/openocd/code/ci/v0.9.0/log/?path=

OpenOCD 0.8.0 in major repositories

Friday, May 16th, 2014

A quick update on distro adoption status:

Debian unstable, Gentoo, Fedora devel and Arch GNU/Linux distributions provide their users with an up-to-date 0.8.0 package.

OS X users are covered as well: with Gentoo Prefix you can easily have either 0.8.0 or the current git version (-9999); same about Homebrew: just update and brew install [--HEAD] openocd (where the optional –HEAD parameter tells it to build the current git version).

Thanks to everybody involved!

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 SF.net download area:

http://sourceforge.net/projects/openocd/files/openocd/0.8.0/

Freddie Chopin has kindly provided windows binaries on his website:

http://www.freddiechopin.info/ > Download > Software > OpenOCD, see http://www.freddiechopin.info/en/articles/34-news/92-openocd-w-wersji-080 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.

Documentation:

  • 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.

OpenOCD 0.8.0-rc1 release candidate is out

Monday, March 31st, 2014

We are pleased to announce the first release candidate of the upcoming OpenOCD version.

The source archives and release notes are available from the usual SF download locations.

Windows binary of OpenOCD 0.8.0-rc1 is kindly provided by Freddie Chopin and is available for download from his website: www.freddiechopin.info.

Please post all your feedback to the openocd-devel mailing list.

OpenOCD and GDB for OpenRISC – ORCONF 2013

Thursday, January 16th, 2014

A talk by Franck Jullien on using OpenOCD and GDB for OpenRISC.

OpenOCD 0.7.0 released

Sunday, May 5th, 2013

After almost 7 months since previous 0.6.1 version, new 0.7.0 release is out! Source packages are available to download from SourceForge. If you use Windows and don’t want to build the executable yourself, Freddie Chopin provides binaries on his personal website.

Here is the NEWS file for this release, which highlights the most important changes:

This file includes highlights of the changes made in the OpenOCD source archive release. See the repository history for details about what changed, including bug fixes and other issues not mentioned here.

JTAG Layer:

  • New TI ICDI adapter support.
  • Support Latest OSBDM firmware.
  • Improved MIPS EJTAG Support.

Boundary Scan:

Target Layer:

  • New ARMv7R and Cortex-R4 support.
  • Added ChibiOS/RT support.

Flash Layer:

  • New NXP LPC1850 support.
  • New NXP LPC4300 support.
  • New NXP SPIFI support.
  • New Energy Micro EFM32 support.
  • New ST STM32W support.
  • New ST STM32f2 write protection and lock/unlock support.
  • Ability to override STM32 flash bank size.

Board, Target, and Interface Configuration Scripts:

  • Support Freescale i.MX6 series targets.

Documentation:

  • New MIPS debugging info.

Build and Release:

For more details about what has changed since the last release, see the git repository history. With gitweb, you can browse that in various levels of detail.

For older NEWS, see the NEWS files associated with each release (i.e. NEWS-<version>).

For more information about contributing test reports, bug fixes, or new features and device support, please read the new Developer Manual (or the BUGS and PATCHES.txt files in the source archive).

OpenOCD: Hardware Debugging and More – ELCE 2012

Monday, January 28th, 2013

A talk from Peter Stuge on using OpenOCD to debug embedded systems.