Version 2.4.1 is a major release. The main additions, which extend the CMSIS Packs support, are a peripherals registers view in debug, and a documentation view in the C/C++ perspective.
The addition of the peripherals registers views is the first step to improve the debugging capabilities of GNU ARM Eclipse plug-ins with complex features, available usually in commercial suites.
- a new Devices tab was added to the C/C++ Build → Settings page, to associate a device, and possibly a board, to the project build configuration. The CMSIS Packs installed packages serve as the only source for devices and boards definitions, so it is necessary to first install the desired packages for this tab to be populated;
- [feature-requests:#53] a new Peripherals view was added to the Debug perspective; it requires for the build configuration to have a device associated;
- a new Documents view was added to the C/C++ perspective, to the right of the Outline view, showing the documentation available in the CMSIS Packs for the device (and possibly the board), associated with the build configuration; in case this view does not show, a reset is required for the perspective (right click the C/C++ perspective button);
- [feature-requests:#60] a new explicit option can be configured in the managed build plug-in:
-flto(Link-Time Optimizations); it is recommended for Release builds, to further reduce the size of the program;
-fltooption was added to all templates, and can be set during project creation;
- accept ‘/‘ in path definitions during project creation;
- partial support for CMSIS Packs PDSC v1.3 added, to open various types of files in outlines.
- [bugs:#98] clicking the Debug icon opened a contextual launcher, usually wrong, instead of the last used launch configuration; a preference was changed and now the last used configuration is used;
- [bugs:#116] the main packs view on Ubuntu was wrong, the description field was multiline; fixed, the description field is was shortened to a single line;
- [bugs:#120] the STM32F4x template did not compile with semihosting, due to a missing header definition; fixed;
- [bugs:#121] the templates had redundant FPU hardware initialization code; fixed, compile it only upon request;
- [bugs:#124] some of the templates defined –specs=nano.specs twice; the template process was fixed to avoid duplicates;
- [bugs:#126] although it was clearly documented that the plug-ins require Eclipse Kepler to run, some of the dependencies were not updated, and it was possible to install the plug-ins on certain older versions; the dependencies were updated.
- the update site was not automatically added to the Eclipse update sites; fixed (the URL was added in a p2.inf file);
- custom markers were added to the Problems view for Packs related events;
- the packs and debug plug-ins were split into multiple plug-ins, and extension points were added to reduce dependencies; and make the plug-ins work, even with reduced functionality, without the packs plug-in.