GNU ARM Eclipse

A family of Eclipse CDT extensions and tools for GNU ARM development

GNU ARM Eclipse OpenOCD v0.8.0-20150131* released GNU ARM Eclipse OpenOCD v0.8.0-20150320* released

GNU ARM Eclipse plug-ins v2.6.1-201502281154 released

Version 2.6.1-201502281154 is a new release; the main improvements include: significant stability and reliability changes to the Peripheral view, making it production ready; a new mechanism to manage the toolchain path and build tools path; for a better integration with the debug plug-ins, a new distribution of OpenOCD was added as a subproject named GNU ARM Eclipse OpenOCD.

Binary files »

New features:

  • in addition to the toolchain path, the build tools path can now be defined explicitly and is automatically added to the PATH environment variable;
  • a new mechanism to store and process the toolchain path and the build tools paths was added; normally tool paths are defined globally, for all workspaces, but the user can explicitly define paths per workspace or even per project; for this mechanism two Preference pages (Global Tools Paths and Workspace Tools Paths) and a Properties page (Tools Paths) were added; the old code in the Toolchains tab used to modify the toolcahin path was removed and hyperlinks to the new pages were added; Global Tools Path
  • a new mechanism to auto-discover the SEGGER install path was added to the J-Link debug plug-in; on Windows the WindowsRegistry is used; on macOS and GNU/Linux several fixed locations are searched;
  • the OpenOCD plug-in also does a fair job to auto-discover the install path;
  • debugging in RAM was improved; a new setting was added and when debugging in RAM, the code is downloaded with every reset;
  • in a combined effort with SEGGER, a new mechanism to process errors in the J-Link plug-in was implemented; the GDB server returns distinct exit codes for each error, and the plug-in properly displays them;
  • Eclipse preferences were added to configure various J-Link defaults, like Use semihosting, Use SWD;
  • since the general behaviour of the debug plug-ins configuration pages was to persistently store user settings and use them as defaults when new launch configurations were created, in order to return all these setting to their defaults a Restore defaults link was added;
  • the Peripherals used in a debug session were made persistent to the next session;
  • the new Build Tools v2.3 include a better shell version, instead of the Windows cmd.exe, so the annoying 8K limit on command line lengths was removed.

The following bugs were addressed:

  • [bugs:#163] error processing in the Packs Manager was improved; a visible progress bar was added; in case of download errors, a MessageDialog allows the user to retry/ignore/cancel the download.
  • in certain conditions, the URL connections used by the Refresh All command in the Packs Manager were not released immediately; fixed;
  • in certain conditions when the J-Link was waiting to connect to the probe, the Cancel button was not effective; fixed;
  • [bugs:#161, #149] the new GDB code used to start the debug sessions no longer supported external GDB servers; fixed;
  • [bugs:#155, #154; feature-requests:#75] on Windows, some paths used by the debugging plug-ins triggered errors; the problem was present only when some fields were filled in with non-POSIX paths, using backslashes; code to automatically duplicate the backslashes was added for Windows;
  • [bugs:#138] due to a bug inherited from the CDT debug classes, the initial break set to main() remained permanent, consuming one hard breakpoint; fixed, the break set in main() is clearly marked as a temporary break;
  • in certain conditions, the Restart button used to restart the debugged target did not work properly, even sometimes triggered an Eclipse platform bug that ended in exceptions; fixed;
  • [bugs:#160] in certain conditions the termination login in the J-Link plug-in failed to close all processes, and the session remained partly active, preventing to start a new session; fixed;
  • [bugs:#149] use of image resources was sub-optimal, leading to spilling resources, which, on Windows, in certain conditions, crashed the entire Eclipse; all image creation code was changed to use the system ImageRegistry, which manages resources properly;
  • [bugs:#165] when duplicating an existing Eclipse build configuration, the value for “Per project path” was not preserved; fixed, the value was moved to preferences and is unique for all build configurations;
  • [bugs:#158] parallel build did not work, due to a make problem; fixed since Build Tools v2.3;
  • [bugs:#150] Restart was not functional when debugging applications running from ram; fixed.

In the projects generated by the templates, the following issues were addressed:

  • the ARM-v7m HardFault_Handler code was extended to include semihosting; this allows to run applications with semihosting calls without the debugger connected;
  • [bugs:#157] unfortunately ARM-v6m does not include the necessary registers, so this new HardFault_Handler is of little use for Cortex-M0/M+ cores;
  • the _start() symbol was marked as weak, to allow the application to redefine it;
  • the STM32F4 template was updated to use HAL v1.4.0.

Known problems:

  • none, so far…


  • the new J-Link error processing code requires SEGGER J-Link version 4.96f or latter.