![为什么我无法使用 U-Boot 从分区加载文件?](https://linux22.com/image/203103/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E6%97%A0%E6%B3%95%E4%BD%BF%E7%94%A8%20U-Boot%20%E4%BB%8E%E5%88%86%E5%8C%BA%E5%8A%A0%E8%BD%BD%E6%96%87%E4%BB%B6%EF%BC%9F.png)
由于某种原因,我的 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 是那个位置)保留您尝试使用的内存。
您必须了解您尝试启动的系统的启动时内存映射。如果不知道您正在使用的实际硬件,就很难为您提供帮助,但是bdinfo
U-Boot命令可能是一个很好的起点。