CM-T54: U-Boot: Building Images
The CompuLab CM-T54 System-on-Module / Computer-on-Module firmware consists of two components: Secondary Program Loader (SPL) and U-Boot. Both components are based on U-Boot source code. SPL is the bootstrap utility invoked by the CPU internal boot ROM code of the OMAP54xx SoC. SPL performs minimal hardware initialization and loads U-Boot from the same boot device. U-Boot initializes hardware modules necessary for system boot and loads the operating system.
Building Firmware images for CM-T54
There are several options for cross-compilation toolchain setup. You can either compile your cross-compiler or use an already built cross-compiler. The cross-compiler should support the ARM embedded-application binary interface ("EABI")
- Pre-built toolchain (recommended):
- Tools for creating cross-compilers:
Getting U-Boot sources
There are two ways to get U-Boot sources that can be used as a baseline for CM-T54 SPL and U-Boot. You can create a copy of "Das U-Boot" source tree or download a snapshot and extract it. We assume that you have created /home/development/cm-t54/u-boot directory for CM-T54 u-boot development.
- Download v2014.10 snapshot with your web browser.
- Extract the downloaded archive u-boot-c43fd23.tar.gz
cd /home/development/cm-t54/u-boot tar xvf /path/to/downloaded/u-boot-c43fd23.tar.gz mv u-boot u-boot-cm-t54
- This will create /home/development/cm-t54/u-boot/u-boot-cm-t54 directory containing U-Boot source code tree.
- Apply the CM-T54 patch
cd /home/development/cm-t54/u-boot/u-boot-cm-t54 patch -p1 < /path/to/cm-t54-u-boot/u-boot/u-boot-v2014.10-cm-t54-2.patch
- Install git version control system.
- Create a clone of U-Boot tree
cd /home/development/cm-t54/u-boot git clone git://git.denx.de/u-boot.git u-boot-cm-t54
- Create a branch for CM-T54 development. The CM-T54 patches are generated vs. v2014.10 tag (c43fd23cf619856b0763a64a6a3bcf3663058c49 commit) in the U-Boot tree. It is recommended to use exactly the same baseline to avoid merge conflicts.
git checkout -b cm-t54-dev v2014.10
- Apply the CM-T54 patch
cd /home/development/cm-t54/u-boot/u-boot-cm-t54 git apply /path/to/cm-t54-u-boot/u-boot/u-boot-v2014.10-cm-t54-2.patch
Building the firmware images
In this section we assume that any version of Sourcery CodeBench Lite toolchain is installed on a host machine and it's location is added to the PATH.
export ARCH=arm export CROSS_COMPILE=arm-none-linux-eabi- make mrproper make cm_t54_defconfig && make
In the example above, CM-T54 firmware images for SPL (MLO) and U-Boot (u-boot.img) will be created in /home/development/cm-t54/u-boot/u-boot-cm-t54.