做beagleboard上的QNX/Linux开发过程中比较麻烦的是每次调试都需要连接beagleboard开发板,各种连线麻烦不算,出差也不能带上。于是准备在Ubuntu上通过模拟器来模拟beagleboard。
刚开始找到的beagleboard那里的qemu-omap3,不过安装起来一堆问题,因为qemu-omap3要求使用gcc3进行编译,我的Ubuntu上是gcc 4,需要安装gcc3。安装gcc3的过程问题层出,苦不堪言。好不容易将gcc3安装好了,配置qemu-omap3的时候又出现zlib检查错误,还发现apt-get的依赖数据被破坏了,不能通过apt-get安装新模块。最后折腾一轮才恢复正常。
于是不再纠结于qemu-omap3,直接安装qemu-system试一下,发现qemu-system-arm直接可以支持bealgeboard(omap3530)和beagleboardXM(3630). 真是踏破铁鞋无觅处,得来全不费功夫。
安装命令比较简单,一旦之前没有安装过qemu的话,通过接下来两个命令进行安装。
$sudo apt-get install qemu-kvm
$sudo qpt-get install qemu-kvm-extras
我的Ubuntu上安装过qemu,所以只要接下来的Linux命令就可以了:
$sudo qpt-get install qemu-kvm-extras
安装完通过以下命令查看所支持的机器:
$qemu-system-arm -machine
接下来列出我这边的输出结果,想用qemu模拟ARM板子的同学们可以确认一下手上的机器能不能支持。
Supported machines are:
integratorcp ARM Integrator/CP (ARM926EJ-S) (default)
versatilepb ARM Versatile/PB (ARM926EJ-S)
versatileab ARM Versatile/AB (ARM926EJ-S)
realview-eb ARM RealView Emulation Baseboard (ARM926EJ-S)
realview-eb-mpcore ARM RealView Emulation Baseboard (ARM11MPCore)
realview-pb-a8 ARM RealView Platform Baseboard for Cortex-A8
realview-pbx-a9 ARM RealView Platform Baseboard Explore for Cortex-A9
lm3s811evb Stellaris LM3S811EVB
lm3s6965evb Stellaris LM3S6965EVB
connex Gumstix Connex (PXA255)
verdex Gumstix Verdex (PXA270)
akita Akita PDA (PXA270)
spitz Spitz PDA (PXA270)
borzoi Borzoi PDA (PXA270)
terrier Terrier PDA (PXA270)
tosa Tosa PDA (PXA255)
beagle Beagle board (OMAP3530)
beaglexm Beagle board XM (OMAP3630)
overo Gumstix Overo board (OMAP3530)
sx1 Siemens SX1 (OMAP310) V2
sx1-v1 Siemens SX1 (OMAP310) V1
cheetah Palm Tungsten|E aka. Cheetah PDA (OMAP310)
n800 Nokia N800 tablet aka. RX-34 (OMAP2420)
n810 Nokia N810 tablet aka. RX-44 (OMAP2420)
n900 Nokia N900 (OMAP3)
mainstone Mainstone II (PXA27x)
z2 Zipit Z2 (PXA27x)
musicpal Marvell 88w8618 / MusicPal (ARM926EJ-S)
syborg Syborg (Symbian Virtual Platform)
vexpress-a9 ARM Versatile Express for Cortex-A9
collie Collie PDA (SA-1110)
以后有时间再和大家分享我使用qemu模拟beagleboard的一些体验。