Compilation 为QEMU模拟二进制代码

Compilation 为QEMU模拟二进制代码,compilation,qemu,Compilation,Qemu,我希望为arm目标交叉编译helloworld.c并在qemu上运行,但在运行此命令时总是出现相同的错误: qemu系统arm-M vexpess-a9-内核测试 qemu系统arm:-内核测试:不支持的机器类型 感谢您的帮助和建议事实上,我需要将要在主机上执行的地址0x0010000的软件链接到来宾代码,因为QEMU模拟器是专门为模拟Linux来宾系统而编写的;由于这个原因,它的启动过程是专门实现的,-kernel选项在系统内存中加载一个二进制文件(通常是Linux内核),从地址0x00010

我希望为arm目标交叉编译helloworld.c并在qemu上运行,但在运行此命令时总是出现相同的错误:

qemu系统arm-M vexpess-a9-内核测试

qemu系统arm:-内核测试:不支持的机器类型


感谢您的帮助和建议

事实上,我需要将要在主机上执行的地址0x0010000的软件链接到来宾代码,因为QEMU模拟器是专门为模拟Linux来宾系统而编写的;由于这个原因,它的启动过程是专门实现的,-kernel选项在系统内存中加载一个二进制文件(通常是Linux内核),从地址0x00010000开始。模拟器在地址0x00000000处开始执行,因此我们需要将二进制文件放入正确的地址


我遵循这一点,它对我有效

您没有为arm编译二进制文件,除此之外,如果测试是helloworld程序,我假设它是在某个操作系统(linux)上运行的printf程序,那么这不是您运行它的方式。如果它是裸机,那么当然。事实上,我试图用这个命令“armlinux gnueabi gcc-static helloworld.c-o test”交叉编译这个helloworld.c(它的主要功能就像你说的打印helloworld一样),我想在没有操作系统的qemu上测试这个程序