gpt4 book ai didi

embedded-linux - fatload mmc 和 bootm 在 uboot 中是什么意思?

转载 作者:行者123 更新时间:2023-12-04 02:38:48 29 4
gpt4 key购买 nike

我无法理解这些命令,例如

fatload mmc 0 0x3000000 uImage
fatload mmc 0 0x2A00000 devicetree.dtb
bootm 0x3000000 - 0x2A00000
#fatload mmc 0 0x3000000 uImage .
它在做什么?是否将uImage作为胖分区加载并加载到RAM地址0x3000000?
bootm 0x3000000 - 0x2A00000 - ?
这是否意味着从 RAM 地址 0x3000000 启动到 0x2A00000?

最佳答案

U-Boot 运行放置在(处理器)RAM 中的代码,但它也可以从其他媒体读取数据。引导过程通常分两步进行:

  • 从媒体(以太网、闪存、USB、MMC)读取操作系统镜像到 RAM
  • 跳转到 RAM 中图像的第一条指令
  • uImage是(很可能是 Linux)内核。
    xxx.dtb是编译形式的设备树。它包含硬件信息,因此可以将这些信息与内核分开保存。

    现在,要从 FAT 格式的 MMC 卡中读取图像,命令是:
    fatload mmc <dev>[:partition] <loadAddress> <bootfilename>
    所以 2 fatload命令正在将 2 个文件从 MMC 卡加载到处理器的内存/RAM 中。

    现在,关于 bootm :此命令启动内核镜像运行。语法是:
    bootm <address of kernel> <address of ramdisk> <address of dtb> ramdisk的地址和/或 dtb如果内核配置得不需要它/它们,则可以省略。

    在您的情况下,您没有使用 ramdisk因此破折号 -在中间。

    关于embedded-linux - fatload mmc 和 bootm 在 uboot 中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60368553/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com