文章目录
- 1 I.MX6ULL镜像文件
1 I.MX6ULL镜像文件
boot ROM程序:
选择内部启动方式,启动boot ROM程序
- 初始化时钟、外部DDR3
- 从外部存储介质加载代码
必须解决两个问题:DDR3初始化参数如何确定?代码加载到哪里?镜像文件中就描述了这些问题。
镜像文件的五要素:
- 空偏移
- 芯片厂商设定
- Image vector table,简称IVT
- 关键数据位置
- Boot data,启动数据
- 镜像加载地址、大小
- Device configuration data,简称DCD
- 关键外设的寄存器配置信息(时钟、DDR3相关)
- bin文件
- 真正程序文件
8.7.1 Image Vector Table and Boot Data
空偏移:
镜像不是从介质头部开始存储的,不同介质分别对应一段偏移地址。
8.7.1 Image Vector Table and Boot Data
- Boot Device Type:不同启动介质
- Image Vector Table Offset :镜像有效数据偏移位置
- Initial Load Region Size:boot rom程序读取程序大小
IVT表:
记录关键数据的位置。
8.7.1.1 Image vector table structure
- header:IVT的长度、大小
- entry:程序运行地址
- dcd:内存中DCD数据地址
- boot data:内存中boot data地址
- self:内存中IVT自己所在地址
Boot data:
记录"镜像"在内存中的加载地址和大小。
8.7.1.2 Boot data structure
- start:镜像在内存中的加载地址,包括空偏移
- length:镜像长度,包括空偏移
DCD表:
外设寄存器配置信息,初始化关键外设。
8.7.2 Device Configuration Data (DCD)
- Header:记录DCD大小、版本
- CMD:寄存器初始化列表
Table 8-28. Write data command format
- Tag:DCD命令,一般为写寄存器
- Length:表示命令的大小
- Parameter:设置写寄存器方式(写值/清位/设置位)
- Address:寄存器地址,主要是时钟、DDR3相关外设地址
- Value:具体设置值