Собрал тулчейн для STM32 (только возможности проверить ещё небыло).
Использовал:
binutils-2.20.1 , gcc-4.4.4(
core,
g++) ,
newlib-1.18.0 wget
http://ftp.gnu.org/gnu/binutils/binutils-2.20.1.tar.bz2wget
http://ftp.gnu.org/gnu/gcc/gcc-4.4.4/gcc-core-4.4.4.tar.bz2wget
http://ftp.gnu.org/gnu/gcc/gcc-4.4.4/gcc-g++-4.4.4.tar.bz2wget ftp://sources.redhat.com/pub/newlib/newlib-1.18.0.tar.gz
tar -xf binutils-2.20.1.tar.bz2
tar -xf gcc-core-4.4.4.tar.bz2
tar -xf gcc-g++-4.4.4.tar.bz2
tar -xf newlib-1.18.0.tar.gz
mv newlib-1.18.0/newlib gcc-4.4.4/
rm -rf newlib-1.18.0
mkdir binutils-build
cd binutils-build
../binutils-2.20.1/configure --prefix=/usr/arm-eabi --target=arm-eabi \
--enable-threads --disable-libmudflap --disable-libssp --disable-libgomp \
--disable-libstdcxx-pch --with-gnu-as --with-gnu-ld --enable-languages=c,c++ \
--disable-shared --with-newlib --disable-nls --with-headers=yes
make -j4
sudo make install
cd ..
mkdir gcc-build
cd gcc-build
CFLAGS="$CFLAGS -Wl,-z,defs"; ../gcc-4.4.4/configure --prefix=/usr/arm-eabi \
--target=arm-eabi --enable-languages=c,c++ --enable-thumb \
--enable-interwork --enable-multilib --with-newlib --disable-libada \
--disable-libssp --disable-nls
make
sudo make install
cd ..
rm -rf *-build binutils-2.20.1 gcc-4.4.4
PATH=$PATH:/usr/arm-eabi/bin
arm-eabi-g++ -Wall -O2 -mcpu=cortex-m3 -mthumb -o firmware.elf main.c
arm-eabi-objcopy -O ihex firmware.elf firmware.hex