镜像组成
完整的imx镜像由以下四部分组成:
- Image Vector Table(映像向量表)
- Boot Data(启动数据)
- Device Configuration Data(设备配置数据)
- User Code & Data(用户代码与数据)
IVT
映像向量表(IVT)是SOC的内部BootRom从BootDevice中读取的一组数据信息,该数据中指定了运行时各部分组件的地址。
IVT中包含了用户应用的入口地址,DCD部分的运行时地址,Boot Data的运行时地址等。
内部BootRom根据Boot Device不同对IVT的起始地址有所规定,IVT相对及地址的偏移和初始化加载大小如下:
Boot Device Type | Image Vector Table Offset | Initial Load Region Size |
---|---|---|
NOR | 4Kbyte | Entire Image Size |
NAND | 1Kbyte | 4Kbytes |
OneNAND | 256bytes | 1Kbytes |
SD/MMC/eSD/eMMC/SDXC | 1Kbytes | 4Kbytes |
I2S/SPI EEPROM | 1Kbytes | 4Kbytes |
SATA | 1Kbytes | 4Kbytes |
BootRom只需要知道IVT的地址,其他的组成部分的地址则可以根据IVT中查询到。
以下为BootDevice中IVT在运行时,各成员的实际运行地址。
IVT具体结构如下,每个成员均为32bit