A New Dawn

A project log for Setting up Linux AVR and ARM toolchains

Documenting the steps taken to build a new, clean, Linux development environment.

tmTM 02/26/2014 at 15:430 Comments

I've been a Linux user, off-and-on, since Ubuntu 6.10 (Edgy Eft). ​By Ubuntu 12.04 (names no longer cute) my Linux use had withered away to 2 days fixing a broken update every 6 months. I spent most of my play-time in my Compaq Presario's XP partition.

And this wasn't a problem, as most of my play-time activities were better suited to Windows. I'd program PIC microcontrollers in assember using Microchip's Windows tools, write Nintendo DS homebrew using devKitPro libraries and Windows emulators, or write Java roguelikes in Netbeans (which sucks anywhere).

And then the Presario died. Stone cold dead. Yipee! Time for a new laptop.

I eventually settled on a Toshiba Satellite L775D-S7340 as it was cheap, has a 17 inch screen, was cheap, has a quad core (but AMD) CPU, was cheap, and has decent graphics (Radeon HD 6520). (It also has a BlueRay drive, which I've never used.)

The Toshiba came with Windows 7, and I sort of got the Presario's XP partition working on it (until a Windows Update killed it), but I knew I also wanted a Linux partition. After a last look of cold contempt at Ubuntu I installed Mint 13 (Maya) with the retro (Gnome 2) Mate GUI. And I was smitten: Mint13+Mate was everything I liked about Ubuntu back in the mid-naughties. Pretty soon I stopped booting into Windows at all.

I'd been in a Java phase when tragedy struck and it was pretty easy to get Netbeans and the JDK installed to continue my "work". Netbeans was just as flaky on a new, fast, Linux machine as on an aging Windows XP box so the continuity was seamless.

I drifted on to tinkering with USB drivers in Vanilla C with Geany and makefiles, dabbled with writing an Android app using Eclipse Indigo, got really into programming AVRs in C with command line tools, wrote Python programs to monitor my Beaglebone Black-based robot, tried Arduino with a Trinket, and had a nostalgia fling with programming PICs in C. LIfe was good.

Then, on a whim, I ordered a couple of LPC810s and a Freescale FRDM-KL46Z from element14. Time to get ARMed. I had, after all, done a lot of ARM programming on the NIntendo DS, and a (very) little for Android, and the Raspberry Pi and BBB were ARM, so how hard could it be? Very hard. So far I've only managed to write some "hello world" stuff for the FRDM board using the online IDE at

My attempts to get a clean install of Eclipse Kepler working with Gnu ARM cross-building tools and Freescale's Processor-Expert add-in have gone nowhere. Rather than just thrash around piling more random cruft onto Mint13, I decided to make a clean install of the latest Mint (16) and then to methodically (?) follow's 10 part (!!!) series of articles on installing a "DIY Free Toolchain for Kinetis". I'll document my progress here.

TL;DR - Notes on installing ARM development tools in Linux.