ZBLOG

qemu 编译 外设 arm spi

以下是在 Ubuntu 18.04 上编译 QEMU 并添加 SPI 外设支持的步骤:

  1. 安装必要的依赖库:
sudo apt-get install build-essential git libglib2.0-dev libfdt-dev libpixman-1-dev zlib1g-dev libcap-dev
  1. 下载 QEMU 源代码:
git clone https://github.com/qemu/qemu.git
cd qemu
  1. 配置编译选项,指定目标架构为 arm 并启用硬件加速支持和外设支持:
./configure --target-list=arm-softmmu --enable-kvm --enable-virtfs --enable-virtio-blk-data-plane --enable-vhost-user-net \
--enable-vhost-user --enable-modules \
--audio-drv-list=pa,alsa,sdl \
--usb-redir=all \
--with-pkgversion="My QEMU" \
--prefix=/usr/local/

这里只需要添加 --enable-modules 选项来启用 Linux 内核模块支持。

  1. 编译并安装 QEMU:
make -j$(nproc)
sudo make install
  1. 验证 QEMU 是否正确安装,同时查看是否支持外设:
qemu-system-arm --version
  1. 准备 Linux 内核镜像和根文件系统镜像(可以使用已有的镜像或自行制作)。

  2. 运行带有 SPI 外设支持的 ARM 虚拟机:

以 Raspberry Pi 3 为例,运行以下命令启动一个带有 SPI 外设支持的虚拟机:

qemu-system-arm -M raspi3 -kernel kernel.img -append 'root=/dev/vda2 panic=1' \
-drive file=raspbian.img,if=none,id=hd0 \
-device virtio-blk-device,drive=hd0 \
-netdev type=vhost-user,id=mynet1,chardev=char1,vhostforce \
-chardev socket,id=char1,path=/tmp/vhost-user-net \
-device virtio-net-device,netdev=mynet1 \
-device spidev-bus,spi-id=0,bus=id_of_spibus_on_target_device

这里使用了 -device spidev-bus 选项来添加 SPI 设备。其中 id_of_spibus_on_target_device 是目标设备上 SPI 总线的 ID,具体值根据实际情况进行设置。

参考文献:https://wiki.qemu.org/Documentation/Platforms/ARM#Compilation

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://sdn.0voice.com/?id=818

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?