[英]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.