【发布时间】:2014-04-17 22:59:37
【问题描述】:
我正在使用 qemu 和 uboot 为 arm 开发一个简单的操作系统。我可以很好地加载 uboot,并且可以使用“bootm”命令后跟相应的地址来加载映像。我希望内核映像自动加载而无需调用 bootm。我将“#define CONFIG_BOOTCOMMAND”bootm 0x28124“”添加到通用.h 文件中,它会自动加载,但问题是该地址可以更改。我正在使用多功能 pb,我认为 uboot 缺少文档中说它应该具有的许多命令,这很奇怪。
【问题讨论】:
-
“uboot 缺少很多文档说它应该有的命令。” -- 给定 U-Boot 副本中的可用命令取决于如何U-Boot 是在构建时配置的。对于“自动”内核/程序执行,“自动启动”有一个倒数计时器。请参阅this answer 了解执行内核/程序的不同方式。请注意,命令可以采用变量和常量,因此您的
bootm 0x28124也可以是setenv loadaddr 0x28124; bootm ${loadaddr}。 -
我有倒数计时器,它通过定义“#define CONFIG_BOOTCOMMAND”bootm 0x28124“自动启动,但问题是内存地址的变化取决于内核的大小,所以我需要这个数字是动态的。bash 脚本会以某种方式解决这个问题吗?