This article explains the layout of partitions in the ISP file ISPBOOOT.BIN. The ISP (In-System Program) file contains images for SP7350 to boot and write images to flash devices such as eMMC, SPI-NAND flash, 8-bit NAND flash and SPI-NOR flash.
When the SP7350 powers on, its internal ROM code initiates a search for the ISPBOOOT.BIN file. The search location is the root directory of the first or solo partition on the selected boot devices, with options including an SD card or a USB flash drive. Once found, the file is loaded, extracting the first-stage boot loader, X-Boot, and storing it in the internal SRAM.
...
U-Boot autonomously executes scripts to program one of the following flash devices: eMMC, SPI-NAND flash, 8-bit NAND flash, or SPI-NOR flash.
The partition layout of ISPBOOOT.BIN is illustrated below, commencing with the X-Boot image (partition name: xboot0), followed by the U-Boot image (partition name: uboot0), and a header detailing the subsequent partitions.
...
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 variables of U-Boot |
env_redund | - | actual size | Image of environment variables 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 flash in-system program |
isp_script_emmc | - | actual size | Script of U-Boot for eMMC in-system program |
If ISPBOOOT.BIN is for programming SPI-NOR flash, isp_script_
...
-
...
actual size
...
nand and isp_script_emmc partitions will be replaced with isp_script_nor partition.
Refer to the code below for the definition of partition_info in the file_header.
...