Unalarming Discursions

Embedded Engineering Field Notes. Made by @jjmilburn.

© 2018 Josh Milburn. All rights reserved.

Importing Atollic C Projects to Eclipse

Eclipse CDT and Cortex M0

1) Get Eclipse CDT; this is an Eclipse IDE tailored to C/C++ development. AFter installing Eclipse CDT, go to “Help”, and “Install New Software”. Add http://gnuarmeclipse.sourceforge.net/updates to the “Work with” path, and select the available update. Install this, and restart Eclipse. Tested on Kepler.

2) Ignore everything you read about CodeLite/CodeSourcery. You want a cross-ARM toolchain that supports newlib-nano, for the size-optimized nano libraries. Specifically, you want “GNU Tools for Embedded Processors (gcc-arm-embedded); download the latest precompiled toolchain (or source, if you are feeling masochistic today) from LaunchPad. It’s maintained by ARM employees so hopefully it isn’t broken. I’ve tested a working binary created on release 2014-q2

Embedded Toolchain Diagram

3) Get a copy of whatever project you’ve successfully developed in Atollic, that you wish to port to this toolchain.

4) Launch Eclipse CDT, and go to “File->Import” to import this project into the workspace.

5) Right click on the project name, and go to “Properties”

6) Under the “C/C++ Build” category, click on “Settings”, then “Toolchains”. Ensure that the name of the toolchain contains a mention of “arm-none-eabi-gcc”

7) Click the “Use Global Toolchain Path”, and navigate to the /bin folder of the toolchain code downloaded and extracted in step 2. For example, “/home/josh/Development/gcc-arm-none-eabi-4_8-2014q2/bin”.

8) Under “Settings” -> “Tool Settings”, set the following:

Target Processor




Cross ARM GNU Assembler

Cross ARM C Compiler

Cross ARM C Linker

-Wl,--start-group -lc -lm -Wl,--end-group -static -Wl,-cref,-u,Reset_Handler

Post Build Commands

The above commands will allow Eclipse to generate an .elf file. To generate a bin or hex, use whatever tool you find most preferable.

Disabling Debug Symbols

References Operators and C Syntax