sabre sd 如何在没有 SPL 的情况下直接从 uboot 启动 [英] how sabre sd boots directly from uboot without SPL
问题描述
sabre sd 基于 imx-6,它具有大约 150Kb 的最大内部 RAM.但是 uboot 足够大以适应这个空间.在这个场景中事情如何运作?https://community.freescale.com/docs/DOC-95015
sabre sd is based on imx-6 which has around 150Kb max internal RAM. however the uboot is large enough to fit in this space. How things work in this scenerio ? https://community.freescale.com/docs/DOC-95015
在此飞思卡尔文档中,仅使用 uboot 为 sabre sd 启动创建 SD 卡.
In this freescale documentation only uboot is used to create an SD card for sabre sd boot.
推荐答案
简短回答:SRAM 多小并不重要,因为 U-Boot 本身显然无法靠近它.
Short answer: it doesn't matter how small SRAM is since U-Boot itself apparently doesn't go anywhere near it.
主要的赠品是 mx6qsabresd 配置设置了 0x17800000 的入口点,根据 参考手册是DRAM地址.现在,我不知道"i.MX6 本身,但我当然可以总结该手册的系统启动"一章所说的(嘿,这很有趣......)
The major giveaway is that the mx6qsabresd config sets an entry point of 0x17800000, which according to the memory map in the the reference manual is a DRAM address. Now, I don't "know" i.MX6 per se, but I can certainly summarise what the "System Boot" chapter of that manual says (hey, it was interesting...)
内部 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,然后跳转到它.
The internal ROM loader reads the first 4K of the image from offset 0x400 of the SD card into internal RAM to look at the header. This header (in the u-boot.imx
Image) contains the size and DRAM load address of the U-Boot image, along with a load of configuration register data - from building mx6qsabresd_config
I see this comes from board/freescale/mx6sabresd/mx6q_4x_mt41j128.cfg
and, briefly cross-checking the addresses there with the peripheral map, appears to be mostly setting up the IOMUX and DRAM controller. The ROM code writes to configuration values to their relevant registers, DMA's the whole image from the SD card straight into DRAM, and jumps to it.
这篇关于sabre sd 如何在没有 SPL 的情况下直接从 uboot 启动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!