Skip to main content
  • Log in
  • Manage Cookies
projects.eclipse.org
Download
  • Projects
  • Working Groups
  • Members
  • Community
    • Marketplace
    • Events
    • Planet Eclipse
    • Newsletter
    • Videos
    • Blogs
  • Participate
    • Report a Bug
    • Forums
    • Mailing Lists
    • Wiki
    • IRC
    • Research
  • Eclipse IDE
    • Download
    • Learn More
    • Documentation
    • Getting Started / Support
    • How to Contribute
    • IDE and Tools
    • Newcomer Forum
  • More
      • Community

      • Marketplace
      • Events
      • Planet Eclipse
      • Newsletter
      • Videos
      • Blogs
      • Participate

      • Report a Bug
      • Forums
      • Mailing Lists
      • Wiki
      • IRC
      • Research
      • Eclipse IDE

      • Download
      • Learn More
      • Documentation
      • Getting Started / Support
      • How to Contribute
      • IDE and Tools
      • Newcomer Forum
    • Search

  1. Home
  2. Projects
  3. Eclipse IoT
  4. Eclipse Embedded CDT...
  5. Eclipse Embedded CDT...
  6. Creation Review

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

Type: 
Creation
State: 
Successful
End Date of the Review Period: 

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.

Wednesday, December 18, 2019
Project: 
Eclipse Embedded CDT (C/C++ Development Tools)
Proposal: 

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

Parent Project: 
Eclipse IoT
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).

Initial Contribution: 

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

Legal Issues: 

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.

 

Licenses: 
Eclipse Public License 2.0
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.

People
Project Leads: 
Liviu Ionescu
Committers: 
Liviu Ionescu
Jonah Graham
Anton Krug
Mentors: 
Jonah Graham
  • Sign in to post comments.

Comments Sign in to post comments

John Dallaway's picture

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:

  • The CDT tooling continues to provide generic support for embedded C/C++ developers while the new Embedded CDT project focusses on support for specific architectures and devices, adding valuable usability. This would mirror the historic roles of these developments. In this scenario, some of the more generic code might be migrated from the Embedded CDT repository to the CDT repository over time to reduce divergence. We should consider using a project name that emphasises this device-specific focus.
  • The Embedded CDT project becomes the home for all future embedded-related C/C++ tooling development, as the proposed project name suggests. Tooling support for C/C++ embedded development within the CDT project might be migrated to the Embedded CDT repository over time.
  • Log in to post comments

Project Links

  • The xPack Project
  • GitHub
  • Old GNU MCU/ARM Eclipse
  • Eclipse Analytics
  • Eclipse Marketplace
  • Eclipse Jenkins
  • Website
Eclipse Embedded CDT (C/C++ Development Tools)

Related Projects

Project Hierarchy:

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

Tags

Build Technologies
  • Jenkins

Eclipse Foundation

  • About Us
  • Contact Us
  • Sponsor
  • Members
  • Governance
  • Code of Conduct
  • Logo and Artwork
  • Board of Directors
  • Careers

Legal

  • Privacy Policy
  • Terms of Use
  • Copyright Agent
  • Eclipse Public License
  • Legal Resources

Useful Links

  • Report a Bug
  • Documentation
  • How to Contribute
  • Mailing Lists
  • Forums
  • Marketplace

Other

  • IDE and Tools
  • Projects
  • Working Groups
  • Research@Eclipse
  • Report a Vulnerability
  • Service Status

Copyright © Eclipse Foundation. All Rights Reserved.

Back to the top