On Monday the new semester starts, and yet again: we will do a Sumo thing :-). They can choose which tool chain they would like to use to develop their application for the ARM Cortex-M0+ used from Freescale. One option is to create a ‘Do-It-Yourself’ toolchain. Since the start of the series, things have evolved: there is a new GNU ARM tool chain available, Segger has updated their drivers, and most important the GNU ARM Eclipse plugin has been greatly extended to support Freescale parts and Processor Expert. So instead to read through all the previous tutorials, this one is about putting together a free tool chain less than 10 minutes (not counting the time to download around 500 MByte).
The steps outlined below get you a free and unlimited Eclipse toolchain installed on Windows. The setup outlined is for Segger J-Link/OpenSDA, but can be easily adapted for other run control solutions.
What we need are the following parts for a full-sized tool chain with all the bells and whistles:
- Eclipse for C/C++: the IDE and framework to edit, build and debug my projects.
- Cross Build Tools: some tools like ‘echo’ or ‘rm’ are not present by default on Windows, this package closes that gap.
- GCC ARM Embedded: compiler, linker, build tools and gdb, they are needed to compile my sources.
- PATH: making sure that external tools are in the PATH.
- GNU ARM Eclipse plugins: integration of the GNU gcc for ARM into Eclipse, provides panels and build tool integration including a wizard to create new projects.
- Processor Expert: With Processor Expert I can build my applications with software drivers and have it deal with the low-level microcontroller initialization.
- McuOnEclipse Processor Expert Components: an extensive set of added Processor Expert components featured in this blog.
- Debug Interface: using the GDB debugger to deal with a probe like Segger.
💡 For deeper technical details, please go through the previous tutorials, listed at the end of this article.
The following are the quick steps for installation of the toolchain. There are several downloads needed with a total size of 600 MByte. It is possible to have multiple toolchains installed. For this tutorial, I’m installing everything into C:\Freescale\Kepler
Step 1: Eclipse
From http://www.eclipse.org/downloads/ and download Eclipse IDE for C/C++ Developers:
- 32bit version: http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/kepler/SR1/eclipse-cpp-kepler-SR1-win32.zip
- 64bit version: http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/kepler/SR1/eclipse-cpp-kepler-SR1-win32-x86_64.zip
Then unzip the archive into your installation folder (I use C:\Freescale\Kepler).
Step 2: Cross Build Tools
There are a bunch of tools like ‘echo’ or ‘rm’ which are used by Eclipse. Go to
and download the Cross Build Tools.zip file. I have the files placed in
The package has cs-make.exe and cs-rm.exe included. Rename them to rm.exe and make.exe (or make copies and rename):
Step 3: GCC ARM Embedded
Download the latest GCC ARM Embedded from the Launchpad:
💡 You can use the .zip from above site too. But then you need to change the PATH setting manually.
Run the setup. It is up to you where to install the tools, default (depends on release) is
C:\Program Files (x86)\GNU Tools ARM Embedded\4.8 2013q4
On my side I have it installed within my Eclipse installation folder:
C:\Freescale\Kepler\GNU Tools ARM Embedded\4.8 2013q4
💡 Having the GNU Tools installed inside the Eclipse folder has advantages (everything in one place, easy to pass tool chains to somebody else, etc), but might not fit your needs. You still can change things later on.
❗ Make sure you select ‘Add path to environment variable’ at the end of the setup.
Step 4: Checking PATH
Now verify that the PATH is correct. The PATH variable needs to reach
- The GNU ARM Embedded (gcc) tools.
- The Cross Build Tools: echo, make and rm.
So I need to have
C:\Freescale\Kepler\Cross Build Tools;C:\Freescale\Kepler\GNU Tools ARM Embedded\4.8 2013q4\bin;C:\Freescale\Kepler\GNU Tools ARM Embedded\4.8 2013q4\arm-none-eabi\bin
in my PATH settings. Verify with the DOS/cmd prompt and the ‘set path’ command if everything setup correctly. If not, go the to Windows Control Panel and change/modify the PATH environment variable (see here if you don’t know how to do this).
Step 5: GNU ARM Eclipse Plugins
Launch Eclipse (C:\Freescale\Kepler\eclipse\eclipse.exe), use the menu Help > Install New Software, use
as update site and install the packages.
Step 6: Processor Expert
This step requires that you register with Freescale (free registration). Go to
then switch to the Downloads tab. Download the ‘Microcontrollers Driver Suite plug-in for existing Eclipse’.
This is a zip file with two updater packages for Eclipse. Unpack the zip file and install first the
💡 Use ‘Add’ and then ‘Archive’ to browse for the zip file. Or drag&drop the file into the ‘Work with:’ field.
Afterwards, install the second zip archive file:
Installation takes several minutes, followed by a restart of Eclipse.
Step 7: McuOnEclipse Processor Expert Components
and download the PEUpd files (Part1 and Part2).
In Eclipse, use the menu Processor Expert > Import Component(s) to import the two packages. Restart Eclipse.
Step 8: Debugger Interface (Segger)
If you own a Segger J-Link or are using the Segger OpenSDA firmware, then this will be your choice of debug interface. There are other alternatives like P&E or CMSIS-DAP with OpenOCD (see List of Tutorials at the end of this article). Go to
and download the software (you will need a serial number of a Segger probe). Then install the software (I have it installed under C:\Freescale\Kepler\SEGGER).
With a few steps, I have put together my Do-It-Yourself toolchain, ready to develop cool applications for ARM microcontroller:
In the next post I explain how to create a project with the newly released GNU ARM Eclipse plugins. Stay tuned :-).
List of Tutorials
In case you want to get all the details, here is the list of tutorials for each part:
- Part 1: Setting up ARM GNU tool chain
- Part 2: Setting up Eclipse IDE
- Part 3: Setting up the debugger (P&E and Segger)
- Part 4: Setting up Processor Expert
- Part 5: Setting up FreeRTOS Kernel Awareness
- Part 6: Linux Host Support with OpenOCD and CMSIS-DAP
- Part 7: GNU ARM Eclipse Plugins
- Part 8: Processor Expert with GNU ARM Eclipse Plugins
- Part 9: DIY Free Toolchain for Kinetis: Part 9 – Express Setup in 8 Steps
- Part 10 – Project Creation with GNU ARM Eclipse 2.1.1
Happy Toolchaining 🙂