sabre sd 如何在没有 SPL 的情况下直接从 uboot 启动 [英] how sabre sd boots directly from uboot without SPL

查看:39
本文介绍了sabre sd 如何在没有 SPL 的情况下直接从 uboot 启动的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆