QEMU for Xilinx安装教程--最新测试成功
2019-07-13 03:25发布
生成海报
环境:ubuntu16.04vivado2017.04和这个应该没关系。前言
QEMU类似于VMware的和VirtualBox的,也是在一个平台里虚拟另一个平台的虚拟机之类的东东。但是QEMU可以虚拟出一个架构完全不一样的平台,举个栗子,可以在x86的架构的Linux的下虚拟出现ARM架构的嵌入式Linux,这也就是接下来要做的。Xilinx 的FPGA这些年很喜欢嵌入一个个软核或者硬核处理器,低端一点的产品可以用MicroBlaze软核,高端一点的例如ZYNQ则直接在里面加入两个的Cortex-A9硬核。 所以现在的FPGA基本都能跑操作系统的。那问题来了,FPGA开发板很贵,上万块钱一个,很多人买不起(例如我),那在缺少板子的情况下,怎么验证我这个设计能不能用呢?赛灵思在Github的上了QEMU,并且进行了修改,用于虚拟出一个ZYNQ或者MicroBlaze,大家可以直接看http://www.wiki.xilinx.com/QEMU但是确实有点区别,有坑
步骤
- 首先要有一个的Linux平台的主机(主机),比如Ubuntu的什么的。我用的是VMware的虚拟机。
- 安装git。
$ sudo apt-get install git
- 如果报错说找不到git的,那就是源没有升级到最新,只需
$ sudo apt-get update
然后在安装即可。
- 选一个安装路径,在该路径下
$ git clone git://github.com/Xilinx/qemu.git
$ cd qemu
注意,接下来所有操作都是在此路径下的。- 安装各种支持包
$ sudo apt install libglib2.0-dev libgcrypt20-dev autoconf automake libtool
$ sudo apt-get install gawk openssl libssl-dev libncurses5-dev
这一行官方教程没有,但是如果不装,会报错说缺这三个东西。这三个分别对应GAWK,OpenSSL的,ncurses的。
- 下载子模块
$ git submodule update --init dtc
- 官网是这样讲,但是这里差一个东西,pixman,有人说 $git submodule update pixman 其实报错的,需要如下:
- sudo apt-get安装libpixman-1-dev
- 配置QEMU
$ ./configure --target-list="aarch64-softmmu,microblazeel-softmmu" --enable-fdt --disable-kvm
make
- 到这,QEMU就装好了,我们试一下将它跑起来吧。
- 我们都知道,要运行一个虚拟平台,需要一个镜像文件(image file),举个栗子,我们跑一下Zynq7000试下吧。
- http://www.wiki.xilinx.com/Zynq+2016.2+Release ,在下载处下载对应型号的板子的压缩包。举个栗子,下载2016.2-zc706-release.tar.xz,并放到某个路径,例如qemu文件夹下。
- 解压
$ tar xf 2016.2-zc706-release.tar.xz
注意这里不同板子添加新库存型号需要替换掉“zc706”,反正名字就是下载下来的那个压缩包。 - 解压之后应该会产生一个叫“zc706”的文件夹。
$ ./aarch64-softmmu/qemu-system-aarch64
-M arm-generic-fdt-plnx -machine linux=on
-serial /dev/null -serial mon:stdio -display none
-kernel zc706/uImage -dtb zc706/devicetree.dtb --initrd zc706/uramdisk.image.gz
启动QEMU,内核镜像用的是的uImage,设备树文件是devicetree.dtb- 到这里你应该能看见:
zc706-zynq7 login:
用户名root,没有密码,登陆后应该能看见:
root@zc706-zynq:~#
也就是,在Linux终端里出现了另一个Linux终端...这就是基于ARM架构的,ZYNQ特有的Cortex-A9内核上,跑着的嵌入式Linux的操作系统。安装成功。
要退出QEMU,需要先按Ctrl + A键,然后按X。
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮