第69讲 I.MX6ULL镜像文件_哔哩哔哩_bilibili
先了解boot ROM程序(芯片出厂时固化好的)
初始化时钟、外部DDR3(回去初始化所有DDR3相关的寄存器)
就可以从外部存储介质加载代码(镜像)(加载到DDR3上运行)
stm32中,这部分功能是我们自己写的。
需要解决问题,这个DDR3不是在芯片内部的,boot rom程序要如何获取DDR3相关的属性参数,然后去正确设置相关的寄存器
boot room想要加载程序代码,在DDR3上运行的话,如何知道代码(镜像)的加载地址。我们在编译代码的时候,需要给它指定编译链接地址,代码要正确地加载到编译链接地址,才能正确去运行,所以说boot room程序也要先知道代码加载到哪些地址才可以。
i.mx6ull主要是以镜像文件的格式来解决上述两问题。
i.mx6ull镜像的五要素
空偏移:外部介质存放镜像时不是从头开始存储的,实际上有段空偏移(由芯片厂商来设定)(不同存储介质空偏移不同)
Image vector table,简称IVT:关键数据(即下边的Boot Date和DCD)位置
boot data就解决boot rom程序如何知道镜像的加载链接地址的问题
DCD就解决了第一个问题(不同型号规格的DDR3的配置信息就记录在DCD中)
镜像文件的格式
再详细地讲讲各个要素在数据手册中的描述
第三列表示,该存储介质的话,boot rom程序读取镜像文件的大小
听不太懂,,