This proposal has been approved and the Eclipse Embedded CDT (C/C++ Development Tools) project has been created.
Visit the project page for the latest information and development.

Eclipse Embedded CDT (C/C++ Development Tools)

Monday, September 30, 2019 - 09:21 by Liviu Ionescu
This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the community. Please login and add your feedback in the comments section.
Parent Project
Proposal State
Created
Background

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.

Scope

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.

Description

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
Why Here?

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

Project Scheduling

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.

Future Work

Bugs fixes and enhancements will be provided.

New technologies, like alternate build mechanisms, new project templates engines, new project configuration tools are planned.

Project Leads
Committers
Mentors
Initial Contribution

The initial contribution will be based on the existing GNU MCU Eclipse GitHub project.

Source Repository Type

I updated the project name; after the approved trademark Eclipse Embedded CDT it includes the explanation (C/C++ Development Tools), similarly to Eclipse CDT (C/C++ Development Tooling)