I.MX6ULL的镜像文件由下面几部分组成:
1.Image vector table简称IVT。
2.Boot data,启动数据。
3.Device configuration data,简称DCD,主要是芯片的配置信息
4.用户代码生成的执行文件。比如uboot等。
所以i.MX6ULL的镜像组成为:IVT+Boot Data+DCD+用户程序。
我们首先看下IVT部分:它里面包含了程序的入口点,一个指向设备配置数据(DCD)的指针,以及其他在启动过程中被ROM固化程序用到的指针。IVT被存储在启动设备固定的位置(但是不同的启动设备保存的位置可能会不一样)。IVT在镜像文件的最前面,图 1是不同启动设备,IVT所在的位置偏移(相对于设备首地址):
这里我们以EMMC为例,从上表可以看出他的偏移是1Kbyte(1024字节),假设EMMC的每个扇区是512字节,那么我们的IVT要从第三个扇区开始保存。我们从《IMX6ULL参考手册.pdf》的8.7.1.1章节可以看到IVT的数据格式如图 2所示: