Yocto tips (20): Yocto中qemu模拟器的使用,以zynq Cortex-A9为例

本文介绍了如何利用Yocto项目在Qemu中搭建Zynq Cortex-A9的模拟环境。通过选择合适的MACHINE变量(xilinx-zynq-a9),可以在没有硬件的情况下进行Userspace程序的测试。文章详细阐述了从构建image到运行Qemu模拟器的步骤,并提到了如何修改runqemu脚本以适应不同需求,最后讨论了退出Qemu的方法和其他相关工具。
摘要由CSDN通过智能技术生成

在以前的文章《使用Buildroot与Qemu学习ARM linux IIC驱动》中,写到过使用qemu来模拟使用ARM Linux,那个时候借助的是buildroot,这次我们使用Yocto来做同样的事情。

优点

使用Qemu的好处在于,当我们在开发Userspace的程序时,可以在没有硬件的情况下完成测试。

同时不像以前一样我们需要自己去编译qemu,这次我们使用Yocto编译出来的native qemu来模拟。省去了我们手动编译可能出现的问题。


选择

这里的选择指的是,我们在local.conf中指定MACHINE变量的值。我将其分成两种:

1. 默认的qemuarm

以前我一直使用这个,但是这个模拟的是一个ARM9的处理器,各种外设功能不足,我们希望可以模拟一个更高ARM架构的SoC。

2. Xilinx的zynq-9:xilinx-zynq-a9

在Qemu的模拟中,据个人有限经验对不同的板子的模拟情况的了解,zynq在Qemu中有较好的支持。同时xilinx对此也有不少的文档,同时xilinx的一些板子的支持属于Qemu默认的测试与支持Machine,因此选择Xilinx的板子来模拟比较合适。

同时,我们关注的是ARM相关,因此使用Cortex-A9比较好,对此,我们选择xilinx-zynq-a9。

在我们的Host PC中如果安装了qemu-system-arm,那么我们可以看到其支持的板子里面是有这个板子的:

qemu-system-arm -M ?
Supported machines are:
versatileab          ARM Versatile/AB (ARM926EJ-S)
versatilepb          ARM Versatile/PB (ARM926EJ-S)
lm3s811evb           Stellaris LM3S811EVB
z2                   Zipit Z2 (PXA27x)
connex               Gumstix Connex (PXA255)
sx1                  Siemens SX1 (OMAP310) V2
realview-eb          ARM RealView Emulation Baseboard (ARM926EJ-S)
cubieboard           cubietech cubieboard
vexpress-a9          ARM Versatile Express for Cortex-A9
lm3s6965evb          Stellaris LM3S6965EVB
realview-pbx-a9      ARM RealView Platform Baseboard Explore for Cortex-A9
musicpal             Marvell 88w8618 / MusicPal (ARM926EJ-S)
mainstone            Mainstone II (PXA27x)
terrier              Terrier PDA (PXA270)
n810                 Nokia N810 tablet aka. RX-44 (OMAP2420)
<span style="color:#ff6666;">xilinx-zynq-a9       Xilinx Zynq Platfo
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值