接上一节:【ARM 裸机】I.MX 启动方式之启动头文件 1;
2.3、DCD
DCD,Device Configuration Data ,就是配置 6ULL 寄存器的,DCD 数据最大限制 1768 字节;
CCGR0 是不是很熟悉?对,在写汇编驱动的时候配置过这个寄存器;
接下来会设置 DDR 初始化参数 ;
接下来会配置 MMDC(DDR 控制器),参看 I.MX6ULL 参考手册第 35 章;
2.4、其他的数据
检查数据命令,NOP 命令,解锁命令也都属于 DCD 数据,只是没有管它而已。
可以得出,DCD 里面的初始化配置主要包括三方面:设置 CCGR0~CCGR6 这 7 个外设时钟使能寄存器,默认打开所有的外设时钟;配置 DDR3 所用的所有 IO;配置 MMDC 控制器,初始化 DDR3;
在这一节:【ARM 裸机】汇编 led 驱动之烧写 bin 文件 中说到,我们编译出来的 .bin 文件不能直接烧写到 SD卡中,需要在.bin 文件前面加上 IVT、BOOT DATA 和 DCD 这三个数据块,这三个数据块是有指定格式的,必须按照格式填写,然后将其放到 .bin 文件前面,最终合成的文件才是直接烧写到 SD 卡中的文件。