<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.mediawiki.compulab.com/w/index.php?action=history&amp;feed=atom&amp;title=CM-T3517%3A_Building_Firmware_Images</id>
	<title>CM-T3517: Building Firmware Images - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.mediawiki.compulab.com/w/index.php?action=history&amp;feed=atom&amp;title=CM-T3517%3A_Building_Firmware_Images"/>
	<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=CM-T3517:_Building_Firmware_Images&amp;action=history"/>
	<updated>2026-05-08T06:52:02Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=CM-T3517:_Building_Firmware_Images&amp;diff=2777&amp;oldid=prev</id>
		<title>Grinberg: /* Getting X-Loader sources */</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=CM-T3517:_Building_Firmware_Images&amp;diff=2777&amp;oldid=prev"/>
		<updated>2015-11-19T08:07:36Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Getting X-Loader sources&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Overview ==&lt;br /&gt;
CM-T3517 firmware consists of two components: X-Loader and U-Boot.&amp;lt;br&amp;gt;&lt;br /&gt;
X-Loader is the bootstrap utility invoked by the CPU internal boot ROM code of the OMAP3 SoC.&lt;br /&gt;
X-Loader performs minimal hardware initializations and loads U-Boot.&amp;lt;br&amp;gt;&lt;br /&gt;
U-Boot initializes hardware modules necessary for system boot and loads the operating system.&lt;br /&gt;
&lt;br /&gt;
== Building Firmware images for CM-T3517 ==&lt;br /&gt;
=== Cross-Compiler ===&lt;br /&gt;
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 (&amp;quot;[http://en.wikipedia.org/wiki/Application_binary_interface#EABI EABI]&amp;quot;)&lt;br /&gt;
* Pre-built toolchain (recommended):&lt;br /&gt;
** [http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/ Sourcery CodeBench Lite]&lt;br /&gt;
* Tools for creating cross-compilers:&lt;br /&gt;
** [http://crosstool-ng.org/ Crosstool-ng]: Builds a cross-compiler from source. Non-distribution specific.&lt;br /&gt;
** [http://www.gentoo.org/proj/en/base/embedded/handbook/index.xml?part=1&amp;amp;chap=4 Crossdev]: Gentoo's cross-compiler builder. Needs Gentoo.&lt;br /&gt;
&lt;br /&gt;
=== Getting the sources ===&lt;br /&gt;
==== Getting X-Loader sources ====&lt;br /&gt;
X-Loader source code is included in the Compulab U-Boot package as a tar.gz archive and can be found in the x-loader folder.&lt;br /&gt;
We assume that you have created /home/development/cm-t3517/x-loader directory for CM-T3517 X-Loader development.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /home/development/cm-t3517/x-loader&lt;br /&gt;
tar xvf /path/to/x-loader-cm-t3x-3.tar.bz2&lt;br /&gt;
mv x-loader x-loader-cm-t3x&lt;br /&gt;
cd x-loader-cm-t3x&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Getting U-Boot sources ====&lt;br /&gt;
There are two ways to get U-Boot sources that can be used as a baseline for CM-T3517 U-Boot.&lt;br /&gt;
You can create a copy of &amp;quot;Das U-Boot&amp;quot; source tree or download a snapshot and extract it.&lt;br /&gt;
We assume that you have created {{filename|/home/development/cm-t3517/u-boot}} directory for CM-T3517 U-Boot development.&lt;br /&gt;
&lt;br /&gt;
===== Snapshot download =====&lt;br /&gt;
* Download [http://git.denx.de/cgi-bin/gitweb.cgi?p=u-boot.git;a=snapshot;h=33711bdd4a4dce942fb5ae85a68899a8357bdd94;sf=tgz v2015.07] snapshot with your web browser.&lt;br /&gt;
* Extract the downloaded archive {{filename|u-boot-33711bd.tar.gz}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /home/development/cm-t3517/u-boot&lt;br /&gt;
tar xvf /path/to/downloaded/u-boot-33711bd.tar.gz&lt;br /&gt;
mv u-boot u-boot-cm-t3517&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
: This will create {{filename|/home/development/cm-t3517/u-boot/u-boot-cm-t3517}} directory containing U-Boot source code tree.&lt;br /&gt;
* Apply the CM-T3517 patch&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /home/development/cm-t3517/u-boot/u-boot-cm-t3517&lt;br /&gt;
patch -p1 &amp;lt; /path/to/cm-t3517-u-boot/u-boot/u-boot-2015.07-cm-t3517-2.patch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Git clone =====&lt;br /&gt;
* Install [http://git-scm.com/ git] version control system.&lt;br /&gt;
* Create a clone of U-Boot tree&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /home/development/cm-t3517/u-boot&lt;br /&gt;
git clone git://git.denx.de/u-boot.git u-boot-cm-t3517&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Create a branch for CM-T3517 development. The CM-T3517 patches are generated vs. [http://git.denx.de/?p=u-boot.git;a=commit;h=33711bdd4a4dce942fb5ae85a68899a8357bdd94 v2015.07 tag] (33711bdd4a4dce942fb5ae85a68899a8357bdd94 commit) in the U-Boot tree. It is recommended to use exactly the same baseline to avoid merge conflicts.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git checkout -b cm-t3517-dev v2015.07&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Apply the CM-T3517 patch&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /home/development/cm-t3517/u-boot/u-boot-cm-t3517&lt;br /&gt;
git apply /path/to/cm-t3517-u-boot/u-boot/u-boot-2015.07-cm-t3517-2.patch&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Building the firmware images ===&lt;br /&gt;
==== Building X-Loader images ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
export ARCH=arm&lt;br /&gt;
export CROSS_COMPILE=arm-none-linux-eabi-&lt;br /&gt;
make mrproper&lt;br /&gt;
make cm-t3x_config&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the example above, CM-T3517 firmware X-Loader image ({{filename|x-load.bin}}) will be created in {{filename|/home/development/cm-t3517/x-loader/x-loader-cm-t3x}}.&lt;br /&gt;
&lt;br /&gt;
==== Building U-Boot images ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
export ARCH=arm&lt;br /&gt;
export CROSS_COMPILE=arm-none-linux-eabi-&lt;br /&gt;
make cm_t3517_config&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In the example above, CM-T3517 firmware U-Boot image ({{filename|u-boot.bin}}) will be created in {{filename|/home/development/cm-t3517/u-boot/u-boot-cm-t3517}}.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[CM-T3x: U-Boot: Firmware Update]]&lt;br /&gt;
* [[U-Boot quick reference]]&lt;br /&gt;
* [[U-Boot images]]&lt;br /&gt;
* [http://www.denx.de/wiki/U-Boot/Documentation U-Boot documentation]&lt;br /&gt;
* [http://processors.wiki.ti.com/index.php/SD/MMC_format_for_OMAP3_boot SD/MMC format for OMAP3 boot]&lt;br /&gt;
&lt;br /&gt;
[[Category:U-Boot]]&lt;br /&gt;
[[Category:CM-T3517]]&lt;/div&gt;</summary>
		<author><name>Grinberg</name></author>
		
	</entry>
</feed>