I did this: ########### # toolchain # took a look at https://launchpad.net/gcc-arm-embedded cd /Net wget -x -N -c --protocol-directories \ https://launchpad.net/gcc-arm-embedded/5.0/5-2016-q3-update/+download/gcc-arm-none-eabi-5_4-2016q3-20160926-linux.tar.bz2 cd /Net/https/launchpad.net/gcc-arm-embedded/5.0/5-2016-q3-update/+download tar jxf gcc-arm-none-eabi-5_4-2016q3-20160926-linux.tar.bz2 cd /usr/local mkdir mcu_arm cd mcu_arm/ ln -s /Net/https/launchpad.net/gcc-arm-embedded/5.0/5-2016-q3-update/+download/gcc-arm-none-eabi-5_4-2016q3 . ln -s gcc-arm-none-eabi-5_4-2016q3 gcc-arm-none-eabi ## add /usr/local/mcu_arm/gcc-arm-none-eabi/bin to PATH somehow, I do it in my ~/.profile ########### # libopencm3 cd /Net/git git clone https://github.com/libopencm3/libopencm3.git cd libopencm3 make make doc ########### # this lib git clone git://turkos.aspodata.se/openhw.git cd openhw/libarm make