This article shows explains the layout of partitions in-system program image file , ISPBOOOT.BIN , of SP7350 and explains each partition in the file.
Internal After power on, internal ROM code of SP7350 will search for the file named ISPBOOOT.BIN in root directory of SD card if “boot from SD card” is setup selected by boot-switch of SP7350, or in root directory of USB flash drive if “boot from USB flash drive” is setup selected by boot-switch of SP7350. Once found the file, it loads the first-stage boot loader, called xX-bootBoot, from it the image file and store X-Boot image to internal SRAM. The xX-boot Boot image is at offset 0 of ISPBOOOT.BIN and its size is 192 KiB at maximum. Actual size is recorded in header of x-boot image. If checksum is verified pass, it then jumps to run xX-bootBoot.
xX-boot Boot will first do SDRAM controller initialization and training. After completed, DRAM is ready for use. It loads TF-A image from fip partition from ISPBOOOT.BIN and store to DRAM. It loaded loads U-Boot image from offset 0x30000 of ISPBOOOT.BIN and store to DRAM . If checksum is of both images are verified pass, it then jumps to run TF-A and then U-Boot.
U-Boot then automatically run scripts for programming flash device, such as eMMC, SPI-NAND flash, 8-bit NAND flash or SPI-NOR flash.
Refer to figure below, layout of partitions of file ISPBOOOT.BIN below, the image file starts with X-Boot image (partition name: xboot0) and followed by U-Boot image (partition nam: uboot0). Then is followed by a header which records detailed name, offset, size and etc. of the following partitions.
...
The following table explain use of explains each partitionspartition.
Partitions | Offset | Size | Descriptions |
---|---|---|---|
xboot0 | 0 | 192 kB | image of x-boot, including training firmware of DDR |
uboot0 | 0x30000 | 1344 kB | image of U-Boot |
file_header | 0x180000 | 16 kB | header for the following partitions |
xboot | 0x184000 | actual size | image of x-boot, including training firmware of DDR |
uboot1 | - | actual size | image of U-Boot |
uboot2 | - | actual size | image of U-Boot |
fip | - | actual size | image of fip, including TF-A and OP-TEE |
env | - | actual size | image of environment variable of U-Boot |
env_redund | - | actual size | image of environment variable of U-Boot (redundant) |
dtb | - | actual size | image of device-tree blob (not used) |
kernel | - | actual size | image of Linux kernel with U-Boot header |
rootfs | - | actual size | image of root file-system |
isp_script_nand | - | actual size | script of U-Boot for NAND in-system program |
isp_script_emmc | - | actual size | script of U-Boot for eMMC in-system program |
isp_script_nor | - | actual size | script of U-Boot for SPI-NOR in-system program |
...