IMX6ULL 启动方式之IVT与BootData数据
创始人
2024-05-31 10:45:21
0

一.   load.imx 文件

本文针对 IMX6ULL的裸机开发中。x.bin 文件中,恩智浦官方提供加入 x.bin 文件中的头部信息分析。

例如,之前汇编开发 实现 LED 灯的程序。x.bin 通过 添加头文件信息生成 load.imx 文件。

load.imx 文件由以下组成:

1.  IVT(Image vector table);

2.  Boot data,启动数据;

3.  DCD(Device configuration data),设备配置信息,重点是 DDR3 的初始化配置;

4. 用户代码可执行文件,比如 led.bin。

二.  Boot Rom做的事

设置内核时钟为396MHz。使能MMU和Cache,使能L1cache L2 cache MMU,目的就是为了加速启动。

从BOOT_CFG 设置的外置存储中,读取 image,然后做相应的处理。

三.  load.imx 文件中头信息

load.imx 文件中头信息中,大概包含IVT 信息,Boot Data数据,DCD数据,与其他的数据。

1.   IVT 和 Boot Data 数据

Image vector table简称 IVTIVT 里面包含了一系列的地址信息,这些地址信息在 ROM 中按照固定的地址存放着。 Boot data启动数据,包含了镜像要拷贝到哪个地址,拷贝的大小是多少等等。

Bin文件前面要添加头部。可以得到,我们烧写到SD卡中的load.imx文件在SD卡中的起始地址是0x400,也就是1024。

头部大小为3KB,加上偏移的1KB,一共是4KB,因此在SD卡中bin文件起始地址为4096。

IVT大小为32B/4=8条。

IVT+Boot Data的数据,很多是我从NXP官方u-boot.imx文件里面提取出来的。

2.  DCD数据

Device configuration data,简称 DCD,设备配置信息,重点是 DDR3 的初始化配置。即配置6ULL内部寄存器的。

首先,将CCRG0~CCGR6全部写为0XFFFFFFFF,表示打开所有外设时钟。然后就是DDR初始化参数。设置DDR控制器,也就是初始化DDR。

3.  其他的数据

检查数据命令、NOP命令、解锁命令。这些其实也都属于DCD

总结:

内部的 boot-rom 根据这些头部信息来完成 IMX6ULL 的 DDR 初始化,一些外设初始化,以及从 SD卡将 x.bin 文件(可执行程序)拷贝到DDR的哪个位置。

本文内容针对 IMX6ULL 裸机开发的。主要是保证x.bin文件可以在开发板中运行,必须添加的一些头部信息。这些头部信息的简略介绍,可以有一个初步的了解。

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...