Arm 如何用qemu模拟cortex-m linux?

Arm 如何用qemu模拟cortex-m linux?,arm,embedded-linux,stm32,qemu,cortex-m,Arm,Embedded Linux,Stm32,Qemu,Cortex M,这是我的代码,我想在基于cortex-m4 linux的板(stm32f429)上运行它,但在此之前,我想使用qemu在我的pc上测试我的程序 #include <iostream> int main() { std::cout << "Hello, World!" << std::endl; return 0; } 这就是我试图模拟它的方式:qemu arm-cpu cortex-m4 hello 但它抛出了一个错误: qemu

这是我的代码,我想在基于cortex-m4 linux的板(stm32f429)上运行它,但在此之前,我想使用qemu在我的pc上测试我的程序

#include <iostream>
int main()
{
  std::cout << "Hello, World!" << std::endl;
  return 0;
}
这就是我试图模拟它的方式:
qemu arm-cpu cortex-m4 hello

但它抛出了一个错误:

qemu: uncaught target signal 4 (Illegal instruction) - core dumped
Illegal instruction
即使当我试图在我的物理板上运行它时,我的内核也会抛出
错误-8
,这是一个
ENOEXEC
错误或基本错误:
Exec格式错误

我尝试了所有cortex-m CPU,但没有一个工作(cortex m0、m3、m4、m7)

我的elf文件有什么问题?为什么qemu和我的物理板抛出这个错误

qemu: uncaught target signal 4 (Illegal instruction) - core dumped
Illegal instruction