Reviews run for a minimum of one week. The outcome of the review is decided on this date. This is the last day to make comments or ask questions about this review.
Eclipse Embedded CDT (C/C++ Development Tools)
The project was created in 2006, as GNU ARM Eclipse, and in 2017, when support for RISC-V was added, it was rebranded as GNU MCU Eclipse. The current web site is https://gnu-mcu-eclipse.github.io.
This project provides a family of Eclipse plug-ins for multi-platform embedded C/C++ ARM and RISC-V development. The managed build plug-ins are based on CDT, and the debug plug-ins are based on the GDB Hardware plug-ins.
The Eclipse Embedded C/C++ plug-ins allow to create, build, debug and in general to manage ARM & RISC-V projects (executables and static/shared libraries, in both 32 and 64-bit versions) with the Eclipse framework. The plug-ins run on Windows, macOS and GNU/Linux.
The main features are:
- create/build/manage embedded ARM/AArch64/RISC-V applications, using the managed project features of Eclipse CDT, i.e. without having to manually create and maintain makefiles
- provide ready to run templates for some ARM Cortex-M processors
- provide debugging support via JTAG/SWD
- provide a special view to examine and modify peripheral registers during debug sessions
Other features of the cross build plug-in are:
- supports a wide range of 32 and 64-bit toolchains
- provides extra build steps to generate the binary files required to write the controller flash memory
- supports the automatic discovery of system paths and macro definitions for accurate indexing and auto-completion
- provides common options for all toolchains
- provides fully configurable toolchain definitions
- provides advanced toolchain path management
- improved project portability
The Eclipse IoT Working Group already serves as an incubator for projects and technology that helps with the development of embedded solutions. As an independent project, GNU MCU Eclipse already proved during many years that is is a convenient solution for building many embedded projects. A better integration with other Eclipse Foundation projects will further increase the project value (ease of use, visibility, etc).
The initial contribution will be based on the existing GNU MCU Eclipse GitHub project.
All Eclipse specific code will be covered by EPL-2.0. In the current repository, some of the old files (inherited from various other Eclipse plug-ins) are marked as EPL-1.0, but will be updated.
The project includes lots of project templates which generate various complex embedded projects. The files in those generated projects can be redistributed under the terms of the MIT License.
The use of external GNU-licensed components should not be problematic, since the plugins launch them via the Eclipse/CDT standard mechanisms.
There are not fixed schedule releases; they generally reflect either new features being added, or bug fixes, and do not depend on CDT or Eclipse releases at all. Releases are available from an Eclipse p2 update site and previous versions are available as archives.
As a convenience for new users, the plug-ins are also available as EPP packages, generated some time after the Eclipse Simultaneous Releases.
Bugs fixes and enhancements will be provided.
New technologies, like alternate build mechanisms, new project templates engines, new project configuration tools are planned.
Comments Sign in to post comments
The existing Eclipse C/C++
Submitted by John Dallaway on Thu, 2019-12-05 05:41
The existing Eclipse C/C++ Development Tooling (CDT) project provides more generic tools (independent of processor architecture) for C/C++ embedded developers, including the GDB Hardware Debugging launch delegate and the Cross GCC toolchain description. The GNU MCU Eclipse plugins build on these generic tools in part, but there has been some divergence in implementation. It will be important to clarify the distinction between CDT and the new project and how the tooling they generate will interrelate in the future. Two possible scenarios: