Eclipse Embedded CDT

A family of Eclipse CDT extensions and tools for GNU Arm & RISC-V development

How to install Eclipse Embedded CDT

Overview

For more flexibility and upgradeability, Eclipse Embedded CDT is not packed as a all-inclusive suite to be installed in a single step. However, the separate steps are relatively easy to perform, and installing the plug-ins and the tools can be successfully completed even by non-experienced users.

Note for beginners: If performed for the first time, it is recommended to follow the steps by the book and avoid poetic licenses, since they might lead to tricky situations and subtle functional problems.

The recommended sequence is described below.

xpm - the xPack Manager

xpm is a new tool, currently under development, intended to manage software packages (xPacks), including to install binary distributions. It is built on top of Node.js and is highly portable; the install steps are described in the xpm install page.

Warning for GNU/Linux users: your distribution may already have a node binary installed; if it is not >= 8.x, xpm will complain and do not start; anyway, we strongly recommend to avoid the distribution binary and install at least the LTS package from Node.js.

Warning for Windows users: binary packages are .zip files containing .exe files; some aggressive antivirus programs may quarantine those files, or even modify the content of the archives, thus changing the checksum and thus preventing the packages to be installed; either configure or temporarily disable the antivirus if necessary.

Currently xpm is not mandatory, but it is a useful addition since it provides a convenient way to install and later upgrade the ARM and RISC-V toolchains, OpenOCD, QEMU and the Windows Build Tools.

xPack Dev Tools

In mid-2019, the main binary tools were moved from the GNU MCU Eclipse project to xPack project, and all new releases are available via the @xpack-dev-tools scope.

All previous releases are still available in the @gnu-mcu-eclipse scope, but were deprecated and are not recommended for new projects.

Toolchain(s)

This is generally mandatory, since most platforms do not come by default with an embedded GCC toolchain (ARM or RISC-V).

Please follow the steps in the Arm Toolchain install or RISC-V Toolchain install page.

For ARM, the easy install method is:

$ xpm install --global @xpack-dev-tools/arm-none-eabi-gcc@latest

For RISC-V, the easy install method is:

$ xpm install --global @xpack-dev-tools/riscv-none-embed-gcc@latest

Windows Build Tools

This step is Windows specific, and it is highly recommended to use the xPack Windows Build Tools, and avoid other make.exe programs, even if they apparently work, since subtle differences in path processing exists between different versions of make.

Please follow the steps in the How to install the Windows Build Tools page.

The easy install method is:

$ xpm install --global @xpack-dev-tools/windows-build-tools@latest

POSIX platforms generally include make in the system distribution, or might require to install some developer packages (for example on macOS you need to install the Xcode Command Line Tools).

SEGGER J-Link is the recommended debugger and, if available, please follow the steps in the How to install the SEGGER J-Link page.

OpenOCD

For the unfortunate developers who do not have a J-Link available, the alternative is to follow the steps in the How to install the OpenOCD binaries page.

The easy install method is:

$ xpm install --global @xpack-dev-tools/openocd@latest

OpenOCD might be needed when using development boards with integrated debuggers, like STM32F4-DISCOVERY boards, although the recommended solution is to prepare a custom cable and connect them to J-Link.

OpenOCD is also needed when using RISC-V boards with integrated debuggers.

QEMU

QEMU is a hardware emulator that can be successfully used to run simple blinky applications, and the default tutorial requires QEMU, so it is highly recommended to install it.

The easy install method is:

$ xpm install --global @xpack-dev-tools/qemu-arm@latest

For more details, please follow the steps in the How to install the QEMU binaries page.

Jumper Virtual Lab

Jumper Virtual lab is an emulator that provides a fast and easy way to execute firmware files on a virtual device running on the development machine. Jumper’s Eclipse plug-in uses the debug framework provided by the Eclipse Embedded CDT plug-ins.

To install the Jumper Virtual Lab, use the following links:

Jumper Virtual lab is a product of Jumper Labs Ltd, a third party company not directly related to Eclipse Embedded CDT. For questions and further info, please contact Jumper Labs via their support channels.

Java

As a prerequisite for Eclipse, Java is required.

Java is no longer a very hot technology, so it is generally not available by default on most platforms and requires separate installation.

More details are available in the How to install the Eclipse Embedded CDT plug-ins page.

Eclipse & CDT

Eclipse is the development platform where the Eclipse Embedded CDT plug-ins run. Generally it is not available by default on most platforms and requires separate installation.

The simple way is to download Eclipse IDE for Embedded C/C++ Developers from GitHub Releases and you get at once both Eclipse CDT and the MCU plug-ins.

If you prefer the manual way, be sure you install the Eclipse IDE for C/C++ Developers, not other package, since otherwise you’ll have to manually install CDT.

More details are available in the How to install the Eclipse Embedded CDT plug-ins page.

Note: on GNU/Linux be sure you manually install the Eclipse; DO NOT try to install it via the Synaptics package manager, or similar, since usually you get an older version and the CDT plug-ins are not included.

Plug-ins

Once the Java & Eclipse are functional, please proceed with plug-ins install, as explains in the How to install the Eclipse Embedded CDT plug-ins page.

Workspace preferences

It is highly recommended that this step be performed after creating each and any Eclipse workspace; for this please follow the steps in the Workspace preferences page.

CMSIS packages

To assist the debugger in finding the peripheral registers definitions, please check the The CMSIS Packs manager page, and install the CMSIS packs for the family of devices used by your projects.