Difference between revisions of "CL-SOM-AM57x: U-Boot: Building Images"

From Compulab Mediawiki
Jump to: navigation, search
(Snapshot download)
 
Line 4: Line 4:
 
SPL is the bootstrap utility invoked by the CPU internal boot ROM code of the AM57x SoC.
 
SPL is the bootstrap utility invoked by the CPU internal boot ROM code of the AM57x SoC.
 
SPL performs minimal hardware initialization and loads U-Boot from the same boot device.
 
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.
+
U-Boot initializes hardware modules necessary for system boot and loads the operating system.<br>
 +
The latest U-Boot package is available at the [http://www.compulab.com/products/computer-on-modules/cl-som-am57x-ti-am5728-am5718-system-on-module/#devres CL-SOM-AM57x Resources] web page.
  
 
== Building Firmware images for CL-SOM-AM57x ==
 
== Building Firmware images for CL-SOM-AM57x ==
Line 24: Line 25:
 
<pre>
 
<pre>
 
cd /home/development/cl-som-am57x/u-boot/u-boot-cl-som-am57x
 
cd /home/development/cl-som-am57x/u-boot/u-boot-cl-som-am57x
patch -p1 < /path/to/cl-som-am57x-u-boot/u-boot/u-boot-v2017.01-cl-som-am57x-1.2.patch
+
patch -p1 < /path/to/cl-som-am57x-u-boot/u-boot/u-boot-v2017.01-cl-som-am57x-1.3.patch
 
</pre>
 
</pre>
  

Latest revision as of 10:21, 4 June 2017

Overview

The CompuLab CL-SOM-AM57x 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 AM57x 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.
The latest U-Boot package is available at the CL-SOM-AM57x Resources web page.

Building Firmware images for CL-SOM-AM57x

Getting U-Boot sources

There are two ways to get U-Boot sources that can be used as a baseline for CL-SOM-AM57x 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/cl-som-am57x/u-boot directory for CL-SOM-AM57x u-boot development.

Snapshot download

  • Download v2017.01 snapshot with your web browser.
  • Extract the downloaded archive u-boot-a705ebc.tar.gz
cd /home/development/cl-som-am57x/u-boot
tar xvf /path/to/downloaded/u-boot-a705ebc.tar.gz
mv u-boot u-boot-cl-som-am57x
This will create /home/development/cl-som-am57x/u-boot/u-boot-cl-som-am57x directory containing U-Boot source code tree.
  • Apply the CL-SOM-AM57x patch
cd /home/development/cl-som-am57x/u-boot/u-boot-cl-som-am57x
patch -p1 < /path/to/cl-som-am57x-u-boot/u-boot/u-boot-v2017.01-cl-som-am57x-1.3.patch

Git clone

  • Install git version control system.
  • Create a clone of U-Boot tree
cd /home/development/cl-som-am57x/u-boot
git clone git://git.denx.de/u-boot.git u-boot-cl-som-am57x
  • Create a branch for CL-SOM-AM57x development. The CL-SOM-AM57x patches are generated vs. v2017.01 tag (a705ebc81b7f91bbd0ef7c634284208342901149 commit) in the U-Boot tree. It is recommended to use exactly the same baseline to avoid merge conflicts.
cd u-boot-cl-som-am57x
git checkout -b cl-som-am57x-dev v2017.01
  • Apply the CL-SOM-AM57x patch
git am ~/device/cl-som-am57x/package/cl-som-am57x-u-boot/u-boot/patches/*

Building the firmware images

In this section we assume that any version of a 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 cl-som-am57x_defconfig && make

In the example above, CL-SOM-AM57x firmware images for SPL (MLO) and U-Boot (u-boot.img) will be created in /home/development/cl-som-am57x/u-boot/u-boot-cl-som-am57x.

See also