<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.compulab.com/w/index.php?action=history&amp;feed=atom&amp;title=CM-T54%3A_U-Boot%3A_Firmware_Overview</id>
	<title>CM-T54: U-Boot: Firmware Overview - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.compulab.com/w/index.php?action=history&amp;feed=atom&amp;title=CM-T54%3A_U-Boot%3A_Firmware_Overview"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.compulab.com/w/index.php?title=CM-T54:_U-Boot:_Firmware_Overview&amp;action=history"/>
	<updated>2026-09-02T08:19:15Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://mediawiki.compulab.com/w/index.php?title=CM-T54:_U-Boot:_Firmware_Overview&amp;diff=1915&amp;oldid=prev</id>
		<title>Grinberg: /* Default SD card mapping */</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.compulab.com/w/index.php?title=CM-T54:_U-Boot:_Firmware_Overview&amp;diff=1915&amp;oldid=prev"/>
		<updated>2014-12-18T11:40:26Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Default SD card mapping&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;== Introduction ==&lt;br /&gt;
This article describes the firmware for CM-T54 system-on-module.&lt;br /&gt;
CM-T54 firmware consists of two components: Secondary Program Loader (SPL) and U-Boot.&lt;br /&gt;
SPL is the bootstrap utility invoked by the CPU internal boot ROM code of the OMAP54xx SoC.&lt;br /&gt;
The OMAP54xx boot ROM is configured by default to boot SPL from the on board eMMC storage.&lt;br /&gt;
Hardware boot selector (BOOT SELECT button) can define alternative boot strap.&lt;br /&gt;
If alternative boot is selected, the boot ROM tries to boot first from a mSATA drive.&lt;br /&gt;
If a SATA device is not detected or no valid boot image is found, the boot ROM will try to boot from the SD card.&lt;br /&gt;
U-Boot initializes hardware modules necessary for system boot and loads the operating system.&lt;br /&gt;
&lt;br /&gt;
=== Package contents ===&lt;br /&gt;
&lt;br /&gt;
==== images ====&lt;br /&gt;
* {{filename|MLO}} - SPL binary&lt;br /&gt;
* {{filename|u-boot.img}} - U-Boot binary&lt;br /&gt;
&lt;br /&gt;
==== u-boot ====&lt;br /&gt;
* {{filename|spl-2014.10-cm-t54-2.bin}} - SPL binary&lt;br /&gt;
* {{filename|u-boot-2014.10-cm-t54-2.bin}} - U-Boot binary&lt;br /&gt;
* {{filename|u-boot-2014.10-cm-t54-2.patch}} - patch vs. v2014.10 mainline U-Boot&lt;br /&gt;
* {{filename|patches}} - ordered collection of patches, that form the single patch above ({{filename|u-boot-2014.10-cm-t54-2.patch}})&lt;br /&gt;
&lt;br /&gt;
== SPL ==&lt;br /&gt;
SPL is responsible for initial clock setup, DDR initialization and boot media controller initialization.&lt;br /&gt;
It is loaded into the CPU internal SRAM immediately after system reset.&lt;br /&gt;
After basic hardware setup, SPL loads U-Boot bootloader into the system RAM and transfers control to the U-Boot bootloader.&lt;br /&gt;
If mSATA drive is used for boot, then SLP binary should be copied as file, named {{filename|HLO}}, on the first FAT partition of the storage device.&lt;br /&gt;
&lt;br /&gt;
== U-Boot ==&lt;br /&gt;
U-Boot is the bootloader used on CM-T54. It allows flexible selection of operating system boot modes, provides scripting facilities and command line interface through a serial port.&lt;br /&gt;
U-Boot allows booting operating system from on-board eMMC storage, mSATA drive or the network (TFTP/NFS server).&lt;br /&gt;
If mSATA drive is used for boot, then U-Boot binary should be copied as file, named {{filename|u-boot.img}} on the first FAT partition of the storage device.&lt;br /&gt;
Please consult [[U-Boot quick reference]] and [http://www.denx.de/wiki/U-Boot/Documentation U-Boot project documentation] for U-Boot features and commands description.&lt;br /&gt;
&lt;br /&gt;
=== U-Boot environment ===&lt;br /&gt;
U-Boot environment resides on the on-board eMMC storage user data HW partition, regardless of the boot source. The environment resides at offset 0xC0000 from the start of eMMC user data HW partition, and its size is 16KB.&lt;br /&gt;
In addition to the main environment, there is a second storage area at offset 0xc4000 of size 16K. This area is used to hold a redundant copy of the environment data as a backup.&lt;br /&gt;
&lt;br /&gt;
== Boot sources ==&lt;br /&gt;
CM-T54 can boot from a micro SD/MMC card, on-board eMMC storage or mSATA drive.&lt;br /&gt;
&lt;br /&gt;
The following sections describe the layout of each storage type.&lt;br /&gt;
&lt;br /&gt;
=== Default SD card mapping ===&lt;br /&gt;
{| cellpadding=&amp;quot;3&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid rgb(85, 85, 85); border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Description&lt;br /&gt;
! Size&lt;br /&gt;
|-&lt;br /&gt;
| 0KB&lt;br /&gt;
| Reserved/MBR&lt;br /&gt;
| 128KB&lt;br /&gt;
|-&lt;br /&gt;
| 128KB&lt;br /&gt;
| SPL&lt;br /&gt;
| 128KB&lt;br /&gt;
|-&lt;br /&gt;
| 256KB&lt;br /&gt;
| U-Boot&lt;br /&gt;
| 512KB&lt;br /&gt;
|-&lt;br /&gt;
| 768KB&lt;br /&gt;
| Reserved&lt;br /&gt;
| 384KB&lt;br /&gt;
|-&lt;br /&gt;
| 1MB&lt;br /&gt;
| Remaining SD/MMC card space&lt;br /&gt;
| Remaining SD/MMC card space&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Default eMMC storage mapping ===&lt;br /&gt;
{| cellpadding=&amp;quot;3&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid rgb(85, 85, 85); border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Description&lt;br /&gt;
! Size&lt;br /&gt;
|-&lt;br /&gt;
| 0KB&lt;br /&gt;
| Reserved/MBR&lt;br /&gt;
| 128KB&lt;br /&gt;
|-&lt;br /&gt;
| 128KB&lt;br /&gt;
| SPL&lt;br /&gt;
| 128KB&lt;br /&gt;
|-&lt;br /&gt;
| 256KB&lt;br /&gt;
| U-Boot&lt;br /&gt;
| 512KB&lt;br /&gt;
|-&lt;br /&gt;
| 768KB&lt;br /&gt;
| U-Boot environment&lt;br /&gt;
| 16KB&lt;br /&gt;
|-&lt;br /&gt;
| 784KB&lt;br /&gt;
| U-Boot redundant environment&lt;br /&gt;
| 16KB&lt;br /&gt;
|-&lt;br /&gt;
| 800KB&lt;br /&gt;
| Reserved&lt;br /&gt;
| 224KB&lt;br /&gt;
|-&lt;br /&gt;
| 1MB&lt;br /&gt;
| Remaining eMMC storage space&lt;br /&gt;
| Remaining eMMC storage space&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Example mSATA drive mapping ===&lt;br /&gt;
{| cellpadding=&amp;quot;3&amp;quot; border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid rgb(85, 85, 85); border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Partition&lt;br /&gt;
! Description&lt;br /&gt;
! Offset (Bytes)&lt;br /&gt;
! Size (Bytes)&lt;br /&gt;
|-&lt;br /&gt;
| /dev/sdb1&lt;br /&gt;
| Boot&lt;br /&gt;
| 0x100000&lt;br /&gt;
| 0x6400000&lt;br /&gt;
|-&lt;br /&gt;
| /dev/sdb2&lt;br /&gt;
| Linux file system&lt;br /&gt;
| 0x6400000&lt;br /&gt;
| remaining SD card space&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{filename|fdisk}} output for the 32GB sample mSATA drive:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Disk /dev/sdb: 32.0 GB, 32017047552 bytes&lt;br /&gt;
255 heads, 63 sectors/track, 3892 cylinders, total 62533296 sectors&lt;br /&gt;
Units = sectors of 1 * 512 = 512 bytes&lt;br /&gt;
Sector size (logical/physical): 512 bytes / 512 bytes&lt;br /&gt;
I/O size (minimum/optimal): 512 bytes / 512 bytes&lt;br /&gt;
Disk identifier: 0xd1530955&lt;br /&gt;
&lt;br /&gt;
   Device Boot      Start         End      Blocks   Id  System&lt;br /&gt;
/dev/sdb1   *        2048      206847      102400    c  W95 FAT32 (LBA)&lt;br /&gt;
/dev/sdb2          206848    62533295    31163224   83  Linux&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[CM-T54: U-Boot: Firmware Update]]&lt;br /&gt;
* [[CM-T54: U-Boot: Creating a bootable SD card]]&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;
&lt;br /&gt;
[[Category:U-Boot|U-Boot]]&lt;br /&gt;
[[Category:CM-T54]]&lt;/div&gt;</summary>
		<author><name>Grinberg</name></author>
		
	</entry>
</feed>