I have been occasionally tinkering with an ARM Cortex M3 platform (specifically an NXP LPC1768) over the last couple of years.
I have recently built my own toolchain built with crosstool-ng 1.17.0 under Linux, based somewhat on instructions from this page. Here are my very rough notes, which I hope to clean up soon.
on SL6.1 host... need lots of dev pkgs installed, including: glibc-static texinfo
extract crosstool-ng, configure it and build it: ./configure --enable-local make
mkdir arm-none-eabi cd arm-none-eabi cp ../arm-none-eabi.crosstool-config .config #or alternately take it from the crosstool-ng samples directory, e.g. #cp crosstool-ng-1.17.0/samples/arm-bare_newlib_cortex_m3_nommu-eabi/crosstool.config .config
../crosstool/ct-ng menuconfig ../crosstool/ct-ng build
Here is my crosstool-ng configuration (arm-none-eabi.crosstool-config):
CT_EXPERIMENTAL=y
CT_SAVE_TARBALLS=y
CT_LOG_EXTRA=y
CT_ARCH_CPU="cortex-m3"
CT_ARCH_TUNE="cortex-m3"
CT_ARCH_FLOAT_SW=y
CT_ARCH_arm=y
# CT_ARCH_USE_MMU is not set
CT_ARCH_ARM_MODE_THUMB=y
CT_ARCH_BINFMT_FLAT=y
CT_BINUTILS_V_2_19_1a=y
CT_CC_V_4_4_1=y
CT_CC_LANG_CXX=y
CT_LIBC_NEWLIB_V_1_18_0=y
CT_GMP_V_4_3_2=y
CT_MPFR_V_2_4_2=y
CT_PPL_V_0_10_2=y
CT_CLOOG_V_0_15_9=y
CT_PARALLEL_JOBS=8
CT_LOCAL_TARBALLS_DIR="${HOME}/arm-cross/src"
CT_PREFIX_DIR="${HOME}/x-tools/${CT_TARGET}"
CT_TARGET_VENDOR="none"
Related Posts