首先在这里提一个话题:我们制作映像文件的目的什么?
把我们自己的程序烧写到启动设备,让boot ROM程序启动它.
首先我们看cpu手册中对镜像的描述
这段的意思是 IVT(image vector table)映射向量表是boot ROM从启动设备读取的数据结构.
IVT包括程序映像的入口点、指向设备配置数据(DCD)的指针和ROM在引导过程中使用的指针。ROM将IVT定位到固定的地址,该地址有连接到芯片的启动设备确定。
表中就是指明了地址(初始加载区域的大小)
我们在看以下IVT的具体结构,看图:
从上图我们看到,镜像文件中首先就是IVT的数据,结构如下表:
entry:从映像文件执行的第一条指令的绝对地址
reserved1: 保留 0
DCD:DCD的绝对地址,可为null
boot data:boot data的绝对地址
self:IVT的绝对地址,通常有ROM来使用(这就是我们前面提到的ROM读取的地址