繁体   English   中英

运行我的引导时出现qemu错误

[英]qemu error while running my boot

我编写了一个简短的启动代码,并尝试通过以下命令与Qemu一起运行:

qemu-system-arm.exe -M多用途pb -cpu cortex-a9-内核boot.bin

我希望代码可以加载到地址0x8400000,但是qemu向我返回了错误

尝试在RAM或ROM外部以0x84000000执行代码,这通常意味着发生以下情况之一:

(1)您告诉QEMU为错误的机器类型执行内核,并且在启动时崩溃(例如,尝试在多功能pb QEMU计算机上运行树莓派内核)(2)您没有给QEMU提供内核或BIOS文件名QEMU完全执行了一个无操作指令的ROM,直到它掉到最后为止(3)您的来宾内核有一个错误,并跳到无处崩溃

这几乎总是前两个之一,因此请检查命令行,并为该计算机使用正确的内核类型。 如果您认为选项(3)很有可能,则可以尝试使用-d调试选项调试客户机; 特别是,-d guest_errors将导致日志此时包括来宾寄存器状态的转储。

执行无法继续; 在这里停止。

所以我想我的代码尚未开始运行,因为它没有加载到正确的位置

我怎么了

谢谢

您说“我希望代码被加载到地址0x8400000”,但是QEMU的错误消息显示“ 0x84000000”,它不是相同的数字(它有一个额外的0)。 这表明您在链接描述文件中有错字,或者正在创建boot.bin文件的内容有错。 (我假设boot.bin是一个ELF文件,QEMU会在ELF文件指定的地址上加载该文件,因为否则,它将假定它是一个能够自我重定位的Linux内核映像,否则将被加载到RAM中。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM