Over a million developers have joined DZone.

Going to Mars: Building a DIY Eclipse IDE for ARM Embedded Microcontrollers

Using the latest Eclipse IDE to work with ARM Cortex M based devices

· IoT Zone

Access the survey results 'State of Industrial Internet Application Development' to learn about latest challenges, trends and opportunities with Industrial IoT, brought to you in partnership with GE Digital.

It has been a while since I published my ‘build my own DIY IDE’ (see “DIY Free Toolchain for Kinetis: Part 1 – GNU ARM Build Tools“). I have used that approaches in my classes successfully. Now a new semester is coming up, so time to update the instructions using the latest Eclipse IDE (Mars) and tools (GCC ARM Embedded (launchpad) with GNU ARM Eclipse).

Eclipse Mars Splash Screen

Eclipse Mars Splash Screen

Outline

The goal is to build a custom Eclipse IDE and toolchain which can be used to create/build/debug ARM Cortex M based devices. Compared to vendor provided tools like Freescale’s Kinetis Design Studio or NXP’s LPCXpresso it requires to download and install several packages. It only takes about 30 minutes to get it done, but at the end I have something which can be used as IDE for multiple vendors.

For the ones of you using the Freescale Kinetis Design Studio (KDS v3.0.0), it gives the following advantages:

  • 64bit IDE. KDS uses 32bit Eclipse, I can use the 64bit Eclipse version which has better performance.
  • Eclipse Mars (4.5) with new features. KDS v3.0.0 uses Luna (4.4).
  • Eclipse CDT 8.7 with new multicore features. KDS v3.0.0 uses CDT 8.6
  • GNU ARM Eclipse with better tool integration: I can use the latest GNU ARM Eclipse plugins (see this discussion).

I’m going to build my toolchain with the following parts:

  1. IDE: Eclipse IDE and C/C++ CDT tools from http://www.eclipse.org
  2. GNU ARM Plugins: GNU ARM Eclipse plugins fromhttps://sourceforge.net/projects/gnuarmeclipse/
  3. Build tools: GCC ARM Embedded (launchpad) from https://launchpad.net/gcc-arm-embedded and
  4. Debugging: Segger J-Link and/or P&E Multilink
  5. Freescale only: Freescale New Project Wizard, Processor Expert and Kinetis SDK.

1. Eclipse IDE

Go to http://www.eclipse.org and download ‘Eclipse IDE for C/C++ Developers’ for your operating system. At the time of this article, the latest release is ‘Mars’

Eclipse Download

Eclipse Download


Download the archive and extract it. E.g. on Windows you could put the files into a folder like

c:\tools\IDE

For Windows there are 32bit and 64bit versions. Initially I had issues to start the 64bit version my my 64bit Windows 7 because of the Java version installed by IT on my machine. The 32bit version worked fine. After IT updated the Java on my machine, the 64bit version was working properly too.

Then launch the eclipse executable (e.g. in c:\tools\IDE\eclipse) inside the eclipse folder.

Eclipse Mars Splash Screen

Eclipse Mars Splash Screen

With this, we have the most of the IDE and for C/C++ development. What is missing in the default download is the ability to use GDB for debugging. To use Eclipse for GDB debugging, I have to install that support from this update site

http://download.eclipse.org/tools/cdt/releases/8.7

I use the menu Help > Install New Software and point to that site. From there, I select ‘C/C++ GDB Hardware Debugging’ and install it:

For all Eclipse updates, I recommend to disable ‘Contact all update sites during install to find required software”, see “Workaround for “Installing Software has encountered a problem” in Eclipse“.

C and C++ GDB Hardware Debugging

C and C++ GDB Hardware Debugging

If you want to download the CDT package for offline installation or to store it for later re-installation, you can download it from here:https://www.eclipse.org/cdt/downloads.php

2. GNU ARM Eclipse Plugins

In order to use a toolchain and the debugger with nice settings panels, I need to install more plugins. The best plugins to my knowledge for GNU ARM development are the ‘GNU ARM Eclipse’ open source plugins by Liviu.

In Eclipse use the menu Help > Install New Software and point to the following update site:

http://gnuarmeclipse.sourceforge.net/updates

and install the plugins from there.

Installing Plugins from GNU ARM Eclipse

Installing Plugins from GNU ARM Eclipse

If you want to download the plugins for off-line installation or later re-installation, you can download them from here:https://sourceforge.net/projects/gnuarmeclipse

3. GCC ARM Embedded Tool Chain

Go to https://launchpad.net/gcc-arm-embedded and download the toolchain (at the time of this writing it is 4.9-2015-q2). If you download the archive/zip, you simply can unpack the files somewhere, e.g. inside your IDE (c:\tools\IDE) folder. Otherwise run the setup which installs the tool chain on Windows in

C:\Program Files (x86)\GNU Tools ARM Embedded\4.9 2015q2

Installer for GNU Tools for ARM Embedded Processors

Installer for GNU Tools for ARM Embedded Processors

Now we compiler/assembler/linker and libraries, but we need other tools like make. I get them from here: https://sourceforge.net/projects/gnuarmeclipse/files/Build%20Tools/ and run the setup. You can use the default path:

There are 32bit and 64bit installers/files for Windows. My screenshots below show the 32bit version, as I missed the fact that there is a 64bit version available too.

GNU ARM Eclipse Build Tools Setup

GNU ARM Eclipse Build Tools Setup

Inside Eclipse (menu Window > Preferences), using the GNU ARM Eclipse plugins I can point my workspace setting to the build tools and toolchain folder:

Workspace Tools Paths

Workspace Tools Paths


4. Debugging with Segger and/or P&E

So far I have pretty much everything to build/debug projects for ARM. What is missing is debugging support.

Segger J-Link

To install support for Segger, go to the download page at https://www.segger.com/jlink-software.html and download the setup/package and run the installation process. You can go with the default installation path:

Segger J-Link Setup

Segger J-Link Setup

In Eclipse, make sure that you point to that installation location (menu Window > Preferences):

Segger J-Link Location in Eclipse

Segger J-Link Location in Eclipse

P&E Support

To install support for the P&E Multilinks, point Eclipse (Help > Install New Software) to the following update site:

http://www.pemicro.com/eclipse/updates

GNU ARM PEMicro Interface Debugging Support

GNU ARM PEMicro Interface Debugging Support

If I need to store a snapshot of the P&E update site, then I can use the approach described in “Replicating an Eclipse Update Site for Offline Usage“.

After installation I have now support added for the P&E debug devices, including support for OpenSDA.

5. Kinetis New Project Wizard, Processor Expert and Kinetis SDK

This part only applies if using Freescale Kinetis devices. To install the Kinetis New Project Wizard and Processor Expert, I go to http://www.freescale.com/tools/embedded-software-and-tools/software-development-tools/processor-expert-and-embedded-components/software-suites/processor-expert-software-microcontroller-driver-suite:PE_DRIVER_SUITE?tid=PEH and download the Processor Expert for Kinetis plugin package (registration required):

Processor Expert for Kinetis

Processor Expert for Kinetis

That package contains several files:

Processor Expert for Kinetis package

Processor Expert for Kinetis package

Unpack them and install first the ‘freescale_updater.zip’ with Help > Install New Software:

Installing Freescale Updater

Installing Freescale Updater

Then do the same using PEx_for_Kinetis_3.0.0.zip:

Processor Expert for Kinetis V3.0.0 installation

Processor Expert for Kinetis V3.0.0 installation

The Kinetis SDK (now v1.3) is available from http://www.freescale.com/ksdk for download (registration required). Run the setup, and by default it will install it into

C:\Freescale\KSDK_1.2.0

on Windows. Inside that installation there is an update for Eclipse add support for the Kinetis SDK. Use again Help > Install New Software and install the following zip file:

C:\Freescale\KSDK_1.2.0\tools\eclipse_update\KSDK_1.2.0_Eclipse_Update.zip

Kinetis SDK Eclipse Update

Kinetis SDK Eclipse Update

This pretty much completes the setup for the Freescale parts.

There is one more thing: at the time of this writing, there is a Processor Expert V3.0.1 update available from http://www.freescale.com/tools/embedded-software-and-tools/software-development-tools/processor-expert-and-embedded-components/software-suites/processor-expert-software-microcontroller-driver-suite:PE_DRIVER_SUITE?code=PE_DRIVER_SUITE&nodeId=015210BAF73F6BEC92&fpsp=1&tab=Design_Tools_Tab

Processor Expert for Kinetis v3.0.1 update

Processor Expert for Kinetis v3.0.1 update

Download that file, *unzip* it and update Eclipse with the zip file inside the downloaded package:

PEx for Kinetis V3.0.1

PEx for Kinetis V3.0.1

Now I have pretty much replicated what is in Kinetis Design Studio v3.0.0, but using my DYI Eclipse IDE :-).

Summary

With this, I have constructed my own DIY IDE to develop application for ARM Cortex based devices. It only requires to download and install a few standard packages. Best of all: I have all the packages available so I can repeat the installation again, or simply put my current IDE layout into an archive and use it on another machine.

Of course it does not stop here: I will add many more plugins: FreeRTOS kernel awareness, static source analysis, doxygen, version control system, …

Compared to distributions from vendors like Freescale (Kinetis Design Studio), I have full flexibility: I don’t have to wait for new releases to get a bleeding edge tool chain. While it takes a little time at the beginning to do such an IDE and tool chain setup, it is very valuable afterwards because I *understand* what I have, and where I have it. And knowing what I do is always a good thing :-).

Happy Do-It-Yourself-ing :-)

The IoT Zone is brought to you in partnership with GE Digital.  Discover how IoT developers are using Predix to disrupt traditional industrial development models.

Topics:
eclipse ,arm ,iot ,microcontrollers

Published at DZone with permission of Erich Styger, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

SEE AN EXAMPLE
Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.
Subscribe

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}