GNU ARM Eclipse plug-ins v2.6.1-201502281154 released | web-jekyll

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

Feb 28, 2015 / Liviu Ionescu / gnu, arm, eclipse, j-link, openocd, peripherals-view, toolchain-path

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 toolchain path was removed and hyperlinks to the new pages were added;
- 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 MessageDialogue 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…

Notes:

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

Edit