sabre sd 基于 imx-6,最大内部 RAM 约为 150Kb。然而,uboot 足够大,可以容纳在这个空间中。在这个场景中事情是如何进行的?https://community.freescale.com/docs/DOC-95015 https://community.freescale.com/docs/DOC-95015
在本飞思卡尔文档中,仅使用 uboot 来创建用于 sabre sd 启动的 SD 卡。
简短的回答:SRAM 有多小并不重要,因为 U-Boot 本身显然与它相差甚远。
主要的泄露是 mx6qsabresd 配置设置了一个入口点 0x17800000,根据是 DRAM 地址。现在,我本身并不“了解”i.MX6,但我当然可以总结该手册的“系统启动”章节所说的内容(嘿,这很有趣......)
内部 ROM 加载程序将图像的前 4K 从 SD 卡偏移 0x400 读取到内部 RAM 中以查看标头。该标头(在u-boot.imx
Image)包含 U-Boot 映像的大小和 DRAM 加载地址,以及配置寄存器数据的加载 - 来自构建mx6qsabresd_config
我看到这来自board/freescale/mx6sabresd/mx6q_4x_mt41j128.cfg
并且,通过外设映射简要交叉检查那里的地址,似乎主要是设置 IOMUX 和 DRAM 控制器。 ROM 代码将配置值写入相关寄存器,DMA 将整个图像从 SD 卡直接写入 DRAM,并跳转到它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)