BuildingBabbageRedBoot

The Freescale Babbage board uses RedBoot as its bootloader. We carry a small set of patches against it to allow it to build with a non-CodeSourcery ARM EABI toolchain, and to include the correct machine id. To successfully build RedBoot, you need an arm-eabi toolchain. You can either compile one yourself, use a prebuilt one, or use the CodeSourcery EABI ARM toolchain.

1. Build the ecos configuration tools

sudo apt-get install tcl-dev tk-dev
bzr co lp:~canonical-mobile/redboot/fsl-ecosconfig
mkdir fsl-ecosconfig/build
pushd fsl-ecosconfig/build
# there is a bug with ecosconfig with newer TCL's where it does not 
# find the include directory so we need to specify it by hand
TCL_INC_DIR=/usr/include/tcl ../src/configure
make
sudo make install
popd

2. Build RedBoot

bzr co lp:~canonical-mobile/redboot/fsl-redboot
export ECOS_REPOSITORY=`pwd`/fsl-redboot/packages
mkdir redboot_build
pushd redboot_build
ecosconfig new mx51_babbage redboot
ecosconfig import ${ECOS_REPOSITORY}/hal/arm/mx51/babbage/current/misc/redboot_ROMRAM.ecm
ecosconfig tree

# If using a toolchain targetted to arm-none-eabi (arm-none-eabi-gcc is in the PATH)
make

# If using the ecos prebuilt toolchain, you will need to specify the CC/LD/AR/OBJCOPY names by hand
make CC=arm-eabi-gcc LD=arm-eabi-ld AR=arm-eabi-ar OBJCOPY=arm-eabi-objcopy

The resulting binary comes out in install/bin/redboot.bin, which can be DD'ed to the board, or uploaded over XMODEM, go'ed to, and then installed via the romupdate command.

ARM/BuildingBabbageRedBoot (last edited 2009-03-11 17:18:11 by cpe-67-242-211-173)