saber sd基于imx-6,最大内部RAM约为150Kb。但是,uboot足够大以适合该空间。在这个场景中事情如何运作?
https://community.freescale.com/docs/DOC-95015
在本飞思卡尔文档中,仅uboot用于创建用于saber sd引导的SD卡。
最佳答案
简短的回答:SRAM的大小无关紧要,因为U-Boot本身显然不会靠近它。
主要优点是mx6qsabresd配置将入口点设置为0x17800000,根据the reference manual中的内存映射,该入口点是DRAM地址。现在,我并不“了解” i.MX6本身,但是我可以肯定地总结了该手册的“系统启动”一章所说的(嘿,这很有趣...)
内部ROM加载器将从SD卡的偏移量0x400读取图像的前4K到内部RAM中以查看标头。该标头(在u-boot.imx
图像中)包含U-Boot图像的大小和DRAM加载地址,以及配置寄存器数据的加载-来自构建mx6qsabresd_config
,我看到这来自board/freescale/mx6sabresd/mx6q_4x_mt41j128.cfg
,并且简要地交叉-使用外围设备映射检查那里的地址似乎主要是在设置IOMUX和DRAM控制器。 ROM代码将配置值写入其相关的寄存器,DMA将SD卡中的整个映像直接存入DRAM,然后跳转到DRAM。