ZYNQ [Petalinux的运行]
一、下载ubuntu
下载地址很多,这里提供了一个:http://mirrors.aliyun.com/ubuntu-releases/14.04/
推荐开始浏览器下载之后复制下载链接使用迅雷下载。
二、虚拟机安装Ubuntu
vmware中安装Ubutun–这部分不展示
安装ssh
sudo apt install openssh-server -y
使用xshell连接
安装之前先升级更新一下apt-get,输入apt-get update,保证安装的包都可以找得到,
否则有的包无法安装。Update可能会比较久,请耐心等待。后面的需要安装的工具,如果大家发
现无法安装,就先update一下,如果update之后还是无法安装,就先不用理会。接下来我们按照
之前需要安装的工具清单一个个安装。需要安装的清单我们全部加上安装命令,列在下面方便大家
apt-get install tofrodos
apt-get install iproute
apt-get install gawk
apt-get install gcc
apt-get install git-core
apt-get install make
apt-get install net-tools
apt-get install libncurses5-dev
apt-get install tftpd-hpa(tftpd比较老,使用这个)
apt-get install zlib1g-dev
apt-get install libssl-dev
apt-get install flex
apt-get install bison
apt-get install libselinux1
apt-get install lib32z1
apt-get install lib32ncurses5
apt-get install lib32bz2-1.0
apt-get install lib32stdc++6
使用xftp工具上传petalinux-v2015.4-final-installer-dec.run
三、安装petalinux
打开终端,输入su切换用户为root,然后将petalinux安装在/opt下。我
们输入petalinux-v2015.4-final-installer-dec.run /opt/开始安装
请大家耐心等待,安装过程时间较长。安装过程中会出现几次license的页面,按q退出,
然后输入Y表示接受,不要直接按回车,否则会退出安装。大家一定要注意!
安装完成之后我们验证一下是否可用。我们source一下:
查看一下环境变量(petalinux的$PETALINUX),这个环境变量后面需要用到:
到这里我们petalinux工具就整理完成。
四、安装自己的板子配置ZYNQ处理器
演示我的板子配置–
工程新建
之后我们点击Create Block Design再新建一个bd文件,名称我们命名为
zynq_petalinux,添加ZYNQ处理器模块,然后双击ZYNQ模块进行配置。
首先是PS和PL的配
置,我们不需要任何通信接口,这里取消GP0的勾选:
外设IO部分,勾选如下的外设,并且,QSPI位于MIO1-6,以太网位MIO16-
27,SD0位于MIO40-45,USB位于MIO28-39,串口MIO48-49:
QSPI的MIO配置。选择bank0电压3.3V,bank1电压1.8V。
QSPI的MIO的速度全部改成fast:
对于以太网,配置如下,MDIO配置为MIO52-53(针对不带网口的基础版本,以
太网可以忽略,不用勾选也不用配置):
USB0配置,(针对不带USB的基础版本,USB可以忽略,不用勾选也不用配置):
也是修改速度为fast:
SD和串口。串口可以改也可以不改,速度本身较低不影响:
时钟配置。保持默认不用修改:
DDR3配置,非常重要,很多时候运行不起来就是这个配置错误导致,我们的
DDR3是16位的位宽。由于DDR3的速度是533M,位宽两个字节,所以数据存取极限是
1066M字节每秒,所以速度完全够用,配置完成之后直接点击OK退出:
最后我们依次将ZYNQ的几个端口右键选择Make External 外接:
最后硬件如下,到此为止,我们硬件就配置好了:
点击bd文档上面的√检查,检查完成对话框点击OK:
回到sources界面,选中bd文件右键选择生成输出文件:
生成之后我们再生成顶层文件:
到此我们硬件设计完成。
五、导出硬件,启动SDK
由于我们只配置了处理器,没有其他的逻辑设计,所以不需要综合、布局布线及生成比特
文件。我们直接导出硬件,然后启动SDK。由于我们导出硬件,生成硬件描述,启动SDK之后自动
生成一个可以拿到linux下使用的硬件描述文件,最后我们在linux下编译的时候需要用到。导出选
择file->export->export hardware:
导出之后,我们直接启动SDK。选择file->Launch SDK启动:
弹出对话框直接点击OK:
启动之后可以看到SDK里面有如下的一个硬件工程,其中可以看到我们需要用到
的硬件描述文件:
描述文件system.hdf即为我们最终需要的硬件文件。
六、编译代码
首先我们在第五节导出到sdk时有一个hdf文件,传到linux,
提供给ubuntu的编译使用。这个文件在编译的时候需要用到,因为涉及到硬件的描述信息。
文件位置(这里展示的我们提供的demo路径下Hdf文件):
拷贝进来之后备用。
接下来我们建立petalinux工程。首先,切换路径到根目录,输入cd /敲回车
然后,我们新建一个文件夹,输入mkdir petalinux_prj敲回车:
然后我们进入该文件夹,输入命令:
petalinux-create --type project --template zynq --name petalinux_prj
这里要注意一下,我们是新建了一个文件夹petalinux_prj之后在文件夹下又建立了一个工
程,工程又产生一个petalinux_prj文件夹,所以我们还要再进一层目录,输入cd petalinux_prj:
然后拷贝system.hdf拷贝到工程目录下,输入cp /xxx/system.hdf .敲回车:
我们导入硬件描述文件system.hdf的路径:petalinux_prj/petalinux_prj,我们终端输入:
petalinux-config --get-hw-description=.
然后敲回车,进行硬件的配置,等待启动配置界面。
配置界面启动之后如下(如果启动不了或者报错,请严格检查之前的每一步,包括包的安装是否安
装了表格中全部软件包):
我没有买sd卡,配置flash启动:
等待配置完成。
配置比较久,大家耐心等待生成的一系列配置文件。
最后,我们输入
petalinux-build
进行编译,耐心等待编译完成。
编译完成:
编译完成之后,在工程目录下有一个images文件夹,生成的文件都在这个目录下:
七、启动运行
1我们需要将上一节中编译的几个文件拷贝到windows下面备用。
我们进入images下面的linux目录,ls一下就可以看到文件
我们回到windows下,打开VIVADO工程->file->launtch sdk启动SDK(这里任意工程都
可以,我们只是为了启动SDK使用它的打包BIN文件功能而已)进行BIN文件制作。
将boot.scr文件名改成boot.scr.BIN
将image.ub文件名改成image.ub.BIN
用vitis烧写BIN文件
打开任意vitis工程
烧写BOOT.BIN
选择xilinx -> program flash
image file选择BOOT.BIN
offset不填(0)
点击program烧写即可
烧写boot.scr.BIN
选择xilinx -> program flash
image file选择boot.scr.BIN
offset填(0xFC0000)
点击program烧写即可
烧写image.ub.BIN
选择xilinx -> program flash
image file选择image.ub.BIN
offset填(0x1000000)
点击program烧写即可
从flash启动
拨码开关选择从flash启动,此时系统将从flash启动并引导flash中的image启动。