I.MX6ULL的Boot Rom启动方式

当 BOOT_MODE1 为 1, BOOT_MODE0 为 0 的时候此模式使能。

  • 芯片会执行内部的 boot ROM 代码,进行硬件初始化(内核、系统、某些外设时钟,为了加快执行速度会打开 MMU 和 Cache)

  • 然后从所选择的boot 设备(就是存放代码的设备、比如 SD/EMMC、 NAND)中将含头部信息的.imx(由.bin文件而来)拷贝出来复制到指定的 RAM 中,一般是 DDR。
     —imx文件头部信息由以下3部分组成(4K,除去前面1K偏移为3K)
       1.IVT(image vector table)(主要为镜像程序的入口。Boot Rom要求IVT在指定位置,不同设备不同,它的起始位置为相对于存储设备起始地址的偏移)、
      2.Boot Data(主要为整个.imx的起始地址即为IVT起始地址。前面有 1KByte 的地址偏移【如果512B为一扇区,则前面应有2空扇区】)、
      3.DCD(device configuration data)(I.mx6ull寄存器【如CCGR】地址和配置信息,以开启某些外设时钟、初始化DDR)

注意:这三个数据块是有指定格式的,我们必须按照格式填写,然后将其放到.bin 文件前面,最终合成的才是可以直接烧写到 SD 卡中的文件。
   32的头部信息直接由MDK魔法棒里设置自动添加即可,所以不用转成.imx文件这一步骤。

你可能感兴趣的:(笔记)