Thumb2 Newlib Toolchain
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


This is the Thumb2 Newlib Toolchain project providing a script to compile the latest GCC with Newlib and optimizations for microcontrollers.

So far it only has been tested on OSX, Debian and NetBSD, feel free to push changes for your OS.

Usage is quite simple:
Execute "./" to build toolchain
Execute "./ clean" to remove build artefacts
Check script header for configuration options

01/30/2018 - GCC 7.3, Newlib 3.0.0 etc. Support for Cortex-M7 including VFPU. (fpv5-d16 and fpv5-sp-d16)
             Default code size optimizations and buffer sizes are now less aggressive. (Can still be configured)
02/10/2017 - GCC 6.3, Newlib 2.5.0 etc. New option to enable Newlib instrumentation.
02/29/2016 - GCC 5.3 and Newlib 2.3.0 as well as compilation with debug symbols.
09/18/2015 - GCC 5.2 and the latest Newlib 2.2.0
03/19/2014 - The latest everything. GCC 4.9 (snapshot), Newlib 2.1.0 (nano-malloc) and more!
08/24/2013 - Additional optimization option preferring speed over size
01/24/2013 - Replaced newlib with newlib-nano, the newlib option is still in the build script.
06/05/2012 - TNT has been updated to the latest Linaro GCC 4.7
06/22/2012 - Switched to a GCC 4.8 snapshot and disabled LTO for newlib due to regressions
08/29/2012 - Switched to the latest Linaro GCC for minor size improvements, also configured newlib with "reent-small" for 800byte savings in .data
09/10/2012 - Multilib support for several thumb targets: armv6s-m (cortex-m0/cortex-m1) armv7-m (cortex-m3) armv7e-m (cortex-m4/cortex-m4f including FPU and DSP instruction support)