If you have a Stellaris Launchpad - and don’t want to use the official tools - you can mostly follow the instructions at y3xz to build your own toolchain on any Unix/Linux based system using the ARM EABI Toolchain Builder. This includes Mac OS X, but I ran into a couple of minor issues as listed below.

(If you don’t fancy building the toolchain, yagarto offers recent binaries for Windows and Mac OS X that target ARM devices.)

Note, the libraries included with the Codesourcery Lite toolchain used here do not support the hardware FPU of the ARM Cortex-M4F, using software floating point code instead. There is a hardfloat-toolchain builder (which I’ve not used yet), and ARM is maintaining a GCC toolchain targeting embedded ARM processors, which I’ll probably try building next.

For more details on the launchpad, and the various libraries etc. that it uses, T.I. has a selection of technical documentation on their site.


The makefile failed to download the source archive, so download it manually into the root of the toolchain repo. Make will continue so long as the filename and checksum matches.


The lm4flash tool included in recent versions of lm4tools is unable to read the serial number of the device on OS X, so compiled code cannot be flashed to the launchpad device.

Update: The dev has committed a workaround that fixes lm4flash on OS X.

$ ./lm4flash project0.bin
Unable to get device serial number: LIBUSB_ERROR_OTHER
Unable to find any ICDI devices

Newer versions of lm4tools require a kernel extension to be installed on OS X (this will prevent access to the virtual serial device), see the issue on github for more info. The simplest workaround is to checkout and build commit ea3c905, which doesn’t check for the serial number.

Btw, you will get a similar error if your system requires root privileges to access the device directly over usb; try using sudo on linux/unix systems if you have issues.

Setting up the GCC ARM Toolchain - focuses on using ARM’s GCC toolchain on Windows

Testing the Stellaris Toolchain - my overview for compiling and testing code on the device.