为什么我无法使用 U-Boot 从分区加载文件?

为什么我无法使用 U-Boot 从分区加载文件?

由于某种原因,我的 U-Boot 似乎无法从 FAT32 分区加载文件:

=> mmc part

Partition Map for MMC device 1  --   Partition Type: DOS

Part    Start Sector    Num Sectors     UUID            Type
  1     2048            62519296        a1d1165e-01     0b
=> fatls mmc 1:1
    52560   file1.bin
     1984   file2.bin
      456   file3.bin
       64   file4.bin
=> fatload mmc 1:1 0x0001FF80 file1.bin
** Reading file would overwrite reserved memory **
Failed to load 'file1.bin'

为什么会出现Failed to load这种情况?我该如何解决?

答案1

它告诉你原因:

** Reading file would overwrite reserved memory **

根据错误消息的第一行,使用您指定的起始地址将文件读入内存将导致某些保留的内存区域被覆盖。

您应该使用不同的起始地址(并且可能重建文件以匹配更改的起始地址),或者更改 U-Boot(并重建它)以将其自身放置到不同的位置(如果 U-Boot 是那个位置)保留您尝试使用的内存。

您必须了解您尝试启动的系统的启动时内存映射。如果不知道您正在使用的实际硬件,就很难为您提供帮助,但是bdinfoU-Boot命令可能是一个很好的起点。

相关内容