由于当前使用的是裸板,没有OS,DDR的初始化、文件保存地址都尚未确定,所以我们生成二进制文件以后,是无法直接放到开发板上运行的。
因此,我们一般会在二进制文件之前加一些头部信息,这些头部信息会告诉开发板如何初始化DDR、文件要拷贝到哪个位置、文件大小是多少等。 头部信息 + 二进制文件 = 镜像文件
下面重点了解的是头部信息由哪些内容构成
目录
一、IVT
IVT 相当于当前镜像文件的管理者,指定了 IVT、Boot Data、DCD、bin文件在DDR中的起始位置
1、IVT 的起始位置
采用不同设备启动,IVT 在存储设备中偏移量也会有所不同,以SD卡为例,IVT表的偏移量是 1K 字节,说明 IVT 要保存到第 1Kbyte 的位置
2、IVT 的内容
那么 IVT 中主要包含了如下内容:
| 字段 | 含义 | 示例数据 |
| header | 头部信息(如 IVT 所占空间大小、版本) | 0x402000D1 |
| entry | 镜像第一行指令在内存中的绝对地址 (不是存储设备的绝对地址) | 0x87800000 |
| reserved1 | 保留字段 | - |
| dcd | DCD地址(指的是内存中的地址) | 0x877FF42C |


发布评论