Difference between revisions of "CL-SOM-AM57x: U-Boot: Building Images"
(One intermediate revision by the same user not shown) | |||
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. | + | 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
Contents
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.