-
下载 QEMU 和 工具链
$ sudo apt-get install qemu qemu-user-static gcc-arm-linux-gnueabi
qemu 包含
qemu-system-arm
用来模拟系统级程序,qemu-user-static
需要单独下载, 用来模拟用户级程序, 可用来快速验证应用层程序. -
应用层模拟
编写一个 hello.c 文件, 打印 Hello World#include <stdio.h> int main(int argc, char const *argv[]) { printf("Hello World\n"); return 0; }
编译运行
$ arm-linux-gnueabi-gcc hello.c -static $ qemu-arm-static ./a.out Hello World
qemu-arm-static
本质是把ARM机器指令转换到本地主机CPU的机器指令然后执行. -
系统模拟
qemu-system-arm
模拟了整个ARM板子, 每个板子上硬件都不相同, 因此需要在模拟时指定板子.-M help
参数可以查看qemu-system-arm
默认支持的ARM开发板, 类似支持cpu 类型可使用-cpu help
.这里使用 uboot 进行测试. 下载uboot源码包, 这里取版本
u-boot-2018.09.tar.bz2
, 在 uboot 根目录:$ make ARCH=arm vexpress_ca9x4_defconfig $ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j16
开发
网友评论