首页 > 解决方案 > 如何让 U-boot 自动从 FAT 分区加载

问题描述

我有一块 NXP 板,上面有 U-boot 和 Linux。在启动时,如果我不输入任何内容,U-boot 将使用 linux 映像自动启动 Linux。一切都在我插入板上的 SD 卡上。

SD 卡上有一个 FAT 分区,其中包含一个带有 FreeRTOS 程序的二进制文件。我可以通过执行以下操作来运行它: 1. 打开电路板并立即在键盘上键入任何内容以进入 U-boot 2. 键入fatload mmc 0:1 0x7F8000 hello_world.bin 3. 键入dcache flush然后bootaux 0x7F8000

我需要 U-boot 来自动启动 FreeRTOS 二进制文件,而不是 Linux 映像。我怎样才能做到这一点?我可以制作某种在启动时执行这些命令的启动 U-boot 脚本吗?谢谢。

标签: linuxpartitionu-bootfreertosfat

解决方案


要了解有关 u-boot 环境变量的更多信息,我建议您这样做:

u-boot> printenv 

此命令在屏幕上打印所有环境变量。并查看 U-Boot 环境变量中提到的变量描述

变量 bootcmd 是最重要的理解。没有什么是真的很难,信息就在那里。

您可能会做出的改变是

u-boot> setenv load_firmware 'fatload mmc 0:1 0x7F8000 hello_world.bin; dcache flush; bootaux 0x7F8000'
u-boot> setenv bootcmd load_firmware

然后

u-boot> saveenv; reboot

保存更改并重新启动。

希望这有帮助。


推荐阅读