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