Mobile and Embedded Linux Solutions

Home / Blogs / ARM Cortex A9 Angstrom Console Image and Tool Chain

I’ve now managed to successfully build an Angstrom Linux console image and cross gcc tool chain for the ARM Cortex-A9 CPU found on some newer SoC boards. Although unfortunately I’ve not yet had a chance to test this image yet as I’m waiting on the delivery of my new Cortex A9 hardware.

The angstrom-2008.1.conf binutils, gcc and glibc versions used are

PREFERRED_VERSION_glibc ?= "2.10.1"
PREFERRED_VERSION_glibc-initial ?= "2.10.1"
ANGSTROM_GCC_VERSION_armv7a ?= "4.4.2"
ANGSTROM_BINUTILS_VERSION_armv7a ?= "2.20"

Whilst the CPU tuning for Cortex A9 is

# Instead of using -mfpu=vfp[2] we can use -mfpu=neon to make use of gcc intrinsics[1] and vectorize loops with -ftree-vectorize[3]
# [1] http://gcc.gnu.org/onlinedocs/gcc/ARM-NEON-Intrinsics.html
# [2] http://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html
# [3] https://support.codesourcery.com/GNUToolchain/kbentry29

TARGET_CC_ARCH = "-march=armv7-a -mtune=cortex-a9 -mfpu=neon -mfloat-abi=softfp"
FEED_ARCH = "armv7a"
PACKAGE_EXTRA_ARCHS += "armv4 armv4t armv5te armv6 armv7 armv7a"
BASE_PACKAGE_ARCH = "armv7a"

All the Openembedded files required to build this too chain and image are available via git in the SlimLogic OE omap4 branch.

The repository URL is git://git.slimlogic.co.uk/oe.git for anyone interested in adding it as a remote.