Transclusion: CL-SOM-iMX7: U-Boot: Firmware Overview

From Compulab Mediawiki
Revision as of 14:33, 26 October 2017 by Urim (talk)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

SPL

SPL is responsible for initial clock setup, DDR initialization and boot media controller initialization. It is loaded into the CPU internal SRAM immediately after system reset. After basic hardware setup, SPL loads U-Boot bootloader into the system RAM and transfers control to the U-Boot bootloader.

U-Boot

U-Boot is the bootloader used on the device. It allows flexible selection of operating system boot modes, provides scripting facilities and command line interface through a serial port. U-Boot allows booting operating system from the on-board eMMC flash, removable storage (e.g. USB drive, SD/MMC card), or the network (TFTP/NFS server).

Please consult U-Boot: Quick reference and U-Boot project documentation for U-Boot features and commands description.

U-Boot environment

U-Boot environment resides on the SPI flash, regardless of the boot source. The environment resides at offset 0xC0000 from the start of SPI flash, and its size is 8KiB.

Boot sources

The device can boot from either a micro SD card, or the on-board SPI flash.

The following sections describe the layout of each storage type.

Default storage device mapping

SPI flash mapping
Offset Size Description
0x0 (0KB) 0xc0000 (768KB) U-Boot
0xc0000 (768KB) 0x40000 (256KB) U-Boot environment
0x100000 (1MB) Remaining SPI flash space Splash image
NAND flash mapping
Offset Size Description
0x0 (0KB) 0x980000 (9.5MB) Kernel (zImage)
0x980000 (9.5MB) 0x80000 (512KB) Device Tree blob (.dtb)
0xa00000 (10MB) Remaining NAND flash space Root filesystem
SD card mapping
Offset Size Description
0x0 (0KB) 0x400 (1KB) Reserved/MBR
0x400 (1KB) 0xffc00 (999KB) U-Boot
0x100000 (1MB) Remaining SD-card space Partitions/Filesystems/Data