ARM Cortex M3 Hacking (2010-2013)

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

  • Embedded Hacking Weekend Posted on: February 3, 2013
    I’ve gotten back into the ARM Cortex M3 embedded stuff (yes, again), specifically with the NXP LPC1768 chip.   I’ve had this Blue Board development board hanging around for a couple of years, and I’ve made a couple of attempts at getting some of the open source toolchains (e.g. CodeSourcery Lite) working with the Eclipse IDE ...read more
  • Cortex M3 Articles Posted on: January 31, 2013
    Happened across a pair of articles giving a good overview of embedded development with the Cortex-M3. Part 1 covers the processor architecture while Part 2 gets more into the nitty gritty of tool chains and such.
  • From the Trenches: Embedded Platform Work Posted on: January 25, 2012
    I’m tinkering with a new platform for my embedded projects, based on the NXP LPC1768, which is an ARM Cortex-M3 chip. I picked up an eval board (the Blueboard LPC1768-H) back in late 2010.  The board is nothing to write home about, and has some design choices that I seriously question (like non-0.100″ aligned headers… Really guys? ...read more