<?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-T335%3A_U-Boot%3A_Firmware_Overview</id>
	<title>CM-T335: U-Boot: Firmware Overview - 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-T335%3A_U-Boot%3A_Firmware_Overview"/>
	<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=CM-T335:_U-Boot:_Firmware_Overview&amp;action=history"/>
	<updated>2026-04-30T11:15:31Z</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-T335:_U-Boot:_Firmware_Overview&amp;diff=1862&amp;oldid=prev</id>
		<title>Igor: /* Introduction */</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=CM-T335:_U-Boot:_Firmware_Overview&amp;diff=1862&amp;oldid=prev"/>
		<updated>2014-11-04T11:47:15Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Introduction&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 11:47, 4 November 2014&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Introduction ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Introduction ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This article describes firmware for CM-T335 &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;system&lt;/del&gt;-on-&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;module&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This article describes firmware for &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;the CompuLab &lt;/ins&gt;CM-T335 &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;System&lt;/ins&gt;-on-&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Module / Computer-on-Module&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;CM-T335 firmware consists of two components: Secondary Program Loader (SPL) and U-Boot.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;CM-T335 firmware consists of two components: Secondary Program Loader (SPL) and U-Boot.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;SPL is the bootstrap utility invoked by the CPU internal boot ROM code of the AM335x SoC.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;SPL is the bootstrap utility invoked by the CPU internal boot ROM code of the AM335x SoC.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Igor</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=CM-T335:_U-Boot:_Firmware_Overview&amp;diff=1742&amp;oldid=prev</id>
		<title>Nikita: /* See also */</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=CM-T335:_U-Boot:_Firmware_Overview&amp;diff=1742&amp;oldid=prev"/>
		<updated>2014-06-11T13:09:34Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;See also&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 13:09, 11 June 2014&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l110&quot; &gt;Line 110:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 110:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[U-Boot quick reference]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[U-Boot quick reference]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[U-Boot images]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[U-Boot images]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [http://www.emlinews.net/2012/10/u-boot-spl-framework-becomes-generic/ U-Boot SPL framework]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://www.denx.de/wiki/U-Boot/Documentation U-Boot documentation]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://www.denx.de/wiki/U-Boot/Documentation U-Boot documentation]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://processors.wiki.ti.com/index.php/SD/MMC_format_for_OMAP3_boot SD/MMC format for OMAP3 boot]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://processors.wiki.ti.com/index.php/SD/MMC_format_for_OMAP3_boot SD/MMC format for OMAP3 boot]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Nikita</name></author>
		
	</entry>
	<entry>
		<id>https://www.mediawiki.compulab.com/w/index.php?title=CM-T335:_U-Boot:_Firmware_Overview&amp;diff=1618&amp;oldid=prev</id>
		<title>Ilya at 13:32, 11 November 2013</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.compulab.com/w/index.php?title=CM-T335:_U-Boot:_Firmware_Overview&amp;diff=1618&amp;oldid=prev"/>
		<updated>2013-11-11T13:32:58Z</updated>

		<summary type="html">&lt;p&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 firmware for CM-T335 system-on-module.&lt;br /&gt;
CM-T335 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 AM335x SoC.&lt;br /&gt;
The AM335x boot ROM tries to boot from the micro SD card. If no media present in the micro SD card socket or no valid boot image is found, the boot ROM will try to boot from the NAND flash.&lt;br /&gt;
SPL performs minimal hardware initializations and loads U-Boot from the same boot storage device.&lt;br /&gt;
U-Boot initializes hardware modules necessary for system boot and loads the operating system.&lt;br /&gt;
&lt;br /&gt;
== SPL ==&lt;br /&gt;
SPL resides in a file on a micro SD card or in the first erase block of the system NAND flash.&lt;br /&gt;
In case a micro SD card is used as boot media, SPL binary should be present in card's root directory and named {{filename|MLO}}.&lt;br /&gt;
It is loaded into the CPU internal SRAM immediately after system reset.&lt;br /&gt;
&lt;br /&gt;
SPL is responsible for initial clock setup, DDR initialization and boot media controller initialization.&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;
&lt;br /&gt;
== U-Boot ==&lt;br /&gt;
U-Boot is the bootloader used on CM-T335. It allows flexible selection of operating system boot modes, provides scripting facilities and command line interface through a serial port.&amp;lt;br&amp;gt;&lt;br /&gt;
U-Boot resides in the system NAND flash starting from offset {{parameter|0x200000}} or in a file on a micro SD card.&lt;br /&gt;
In case a micro SD card is used as boot media, U-Boot binary should be present in card's root directory and named {{filename|u-boot.img}}.&lt;br /&gt;
&lt;br /&gt;
U-Boot allows booting operating system from the on-board NAND flash, SD card or from network (from TFTP server).&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 NAND flash at offset {{parameter|0x300000}}.&lt;br /&gt;
The environment size is 16KiB and it uses 1MiB of NAND flash storage size for various NAND flash chips compatibility.&lt;br /&gt;
&lt;br /&gt;
== Boot sources ==&lt;br /&gt;
CM-T335 can boot from either a micro SD card, or the on-board NAND flash.&lt;br /&gt;
The boot source sequence is hard coded as shown below and cannot be overridden:&lt;br /&gt;
# micro SD card&lt;br /&gt;
# on-board NAND flash&lt;br /&gt;
&lt;br /&gt;
== Default NAND flash 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;
|+ CM-T335 NAND flash mapping&lt;br /&gt;
|-&lt;br /&gt;
! Offset&lt;br /&gt;
! Description&lt;br /&gt;
! Size (megabytes)&lt;br /&gt;
|-&lt;br /&gt;
| 0x0&lt;br /&gt;
| SPL&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| 0x200000&lt;br /&gt;
| U-Boot&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x300000&lt;br /&gt;
| U-Boot environment&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x400000&lt;br /&gt;
| Device Tree Blob&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| 0x500000&lt;br /&gt;
| Splash Screen image&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| 0x900000&lt;br /&gt;
| Linux kernel&lt;br /&gt;
| 6&lt;br /&gt;
|-&lt;br /&gt;
| 0xF00000&lt;br /&gt;
| Linux filesystem&lt;br /&gt;
| remaining NAND flash space&lt;br /&gt;
|}&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;
|+ CM-T335 SD card mapping&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/sdc1&lt;br /&gt;
| Boot&lt;br /&gt;
| 0x100000&lt;br /&gt;
| 0x75A2000&lt;br /&gt;
|-&lt;br /&gt;
| /dev/sdc2&lt;br /&gt;
| Linux file system&lt;br /&gt;
| 0x76A2000&lt;br /&gt;
| remaining SD card space&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{filename|fdisk}} output for the 8GB sample SD card:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Disk /dev/sdc: 7948 MB, 7948206080 bytes&lt;br /&gt;
245 heads, 62 sectors/track, 1021 cylinders, total 15523840 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: 0x9f700771&lt;br /&gt;
&lt;br /&gt;
   Device Boot      Start         End      Blocks   Id  System&lt;br /&gt;
/dev/sdc1   *        2048      242959      120456    c  W95 FAT32 (LBA)&lt;br /&gt;
/dev/sdc2          242960    15523839     7640440   83  Linux&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{note|Micro SD card supplied by CompuLab with CM-T335 modules may not have the above layout. In such case the above layout can be created with {{cmd|fdisk}} utility.}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[U-Boot quick reference]]&lt;br /&gt;
* [[U-Boot images]]&lt;br /&gt;
* [http://www.emlinews.net/2012/10/u-boot-spl-framework-becomes-generic/ U-Boot SPL framework]&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|U-Boot]]&lt;br /&gt;
[[Category:CM-T335]]&lt;/div&gt;</summary>
		<author><name>Ilya</name></author>
		
	</entry>
</feed>