Xilinx ZC706嵌入式开发和Petalinux小试 - FPGA/ASIC技术 -
做点东西不容易,我这种有强迫症的人也在这个环节屈服了。开发环境这两年真是换了又换,被搞的精疲力尽。Xilinx的开发环境我还是推荐Linux(这里默认都是64bit系统),Windows的综合和P&R的效率要比Linux低三分之一,这个不能忍,再就是petalinux的交叉编译用啥呢,cygwin?Linux发行版里面我用的是CentOS,Vivado推荐测试的那几个我试过CentOS和Ubuntu。先说Ubuntu,不好用,问题比较多。CentOS最好的版本是6.5,但是6.5已经在官网不支持了,替代的是6.6和7。先说7,Vivado的开发环境没有问题,但是petalinux的环境始终有问题,具体在这里,Unable to determine a suitable packaging system type。那最后就剩下6.6了,6.6也有一个小问题,是eclipse的一个bug,eclipse cairo bug。网上你能找到的方法是在eclipse的配置文件加上一句disable cairo的话,但是这个在Xilinx的工具链中不管用,我试了好多Xilinx的eclipse的config文件,都不行。别的解决的方法下面我会说。好,现在正是搭建环境:
开发平台环境搭建
上边说了,我们用CentOS 6.6 64bit。装的时候有个地方让你选平台的用处,你就选最后一个,software development。装别的也行,注意把一些开发环境和库的选项都选上。装好系统后可能会提示你更新,内核也被更新了,你就更新吧。然后我们装几个库1。
yum install dos2unix iproute gawk gcc git gnutls-devel net-tools ncurses-devel sftp-server zlib-devel flex bison libstdc++.i686 libgcc.i686 libgomp.i686 ncurses-libs.i686 zlib.i686 libselinux libselinux.i686
前边几个都是文档里面说的库,有些也用不到,比如tftp那个,你不用tftp调试就不用。后边也要装上,要不然petalinux编译的时候还是会有问题。然后我们再装两个库,解决上边说的那个eclipse的bug。去rpmfind.net下载下面的两个库:
cairo-1.10.2-3.el6.x86_64.rpm
cairo-devel-1.10.2-3.el6.x86_64.rpm
然后装上,
yum localinstall cairo*.rpm
Vivado工具链安装
这个简单,下载下来装上就行,记得勾上 Install Cable Drivers。这里我用的都是2014.4的版本,下边的Petalinux也是对应的。记得source setTIng文件。
Petalinux开发环境
这个开发环境我们可以参考Xilinx Wiki上说的那些方法,也可以直接用他们准备好的Petalinux SDK工具链。这里我们选择后者。安装也简单,去官网下载下来然后装上就好。BSP你可以下载下来装上玩玩,我们这里不用下这个,我们自己建一个就好。大家可以参看Xilinx的官方文档,ug1144,里面有详细的说明。我们也只是按照说明走一遍,然后给出一个例子,让大家快速上手。
一个例子
这里给大家展示一个例子,跟Zynq CTT ug873里面的差不多,但是这里我们用了Vivado,并且结合了Petalinux SDK的开发流程。不过我建议大家多看help,这里还有一个Petalinux的command reference供大家参考。我们开始:
建立一个petalinux的project
petalinux-create -t project --name poll
cd poll
在当前目录就会建立一个poll的文件夹,这就是我们的工作目录,后边的所有操作如果不特别指出,都是在这个工作目录的根目录进行的。里面还缺hardware platform,driver,还有我们的applicaTIon。我们一一补上。
创建一个hardware platform
这里我给大家准备了一个TCL文件,下载(戳这里下载),然后放到project的根目录。这里注意,我都是在Vivado 2014.4和ZC706环境下做的,要是你的环境不同,要做出适当的修改,板子不同改创建工程的那两句话。Vivado版本不同改所有IP的版本,或者你自己建一个也行,这个系统就是一个PS然后一个MicroBlaze,然后还有个BRAM。后边还得给MB写个程序。这里有个系统图你可以参考下,注意保证BRAM的起始地址是0x40000000,MB和ARM都得一样才行。?
最后运行:
vivado -mode gui -source ./system.tcl
然后Vivado就是启动,等右上角的那个进度条走完,bitstream文件就会生成好了。机器不同,时间可能不同,我的机器大约5分钟。
生成系统的时候看着特别爽吧,哈哈,duang duang的生成完了。Vivado比ISE增加了tcl,在自动化的时候还是很爽的,不用像原来ISE分析那个系统描述文件来自动生成系统。其实下边的SDK的过程也可以全程自动化,但是有点麻烦,需要修改SDK的xml文件然后调用xsdk去build就行。这里就不说了,爽到底就没意思了。
然后我们就可以File->Export->Export Hardware,记得勾上Include bitstream。然后File->Launch SDK,我们就进入到下一步了。
给MicroBlaze写个程序
查看评论 回复