选择QEMU是因为QEMU开源、比较完备,支持的种类多,开发社区也活跃
而用QEMU来调试一些东西也非常方便。
如何编译最新版的QEMU(当前是0.14.0 rc1)
下载QEMU 0.14.0 rc1版本后,
如果是在linux下,按照通常的源程序,
./configure --target-list=arm-softmmu
make
即可编译出QEMU了(注意这里关心的是ARM类别的,所以仅设置target为arm-softmmu)
如果是在windows下,则需要系统中安装msys & mingw,建议安装msys-cn。在编译QEMU前,需要系统中安装有相关的两个包:zlib和SDL,可以在msys下直接用:
mpkg --install zlib
mpkg --install SDL
来安装。
在windows下编译QEMU,相类似的:
./configure --target-list=arm-softmmu
make
但是在windows下会报错(这个应该是QEMU 0.14.0 rc1对win32还没做过编译验证, qemu_next_alarm_deadline函数找不到),需要把qemu_timer.c中qemu_next_alarm_deadline函数前的
#ifndef _WIN32
移到
unix_start_timer函数的前面。
然后再行make,即可成功。编译的QEMU二进制可执行程序放在:
arm-softmmu\qemu-system-arm.exe
QEMU是一个很有趣的东西,不知道1help1的Jz补丁什么时候能够进官方的发布中。