前言
PetalLinux 是 Xilinx 公司推出的嵌入式 Linux 开发工具,专门针对 Xilinx 公司
的 FPGA SoC 芯片和开发板,用户可以在 PetaLinux 工具的帮助下进行完整的
开发流程,包括设计,验证,仿真,下载等。
本文将详细介绍 PetaLinux 的安装流程,虽然实际上基本就是把 Xilinx 的
UG1144 翻译一遍。但对于初学者而言,全是英文的 Guidance 还是很难受的,
可能某一步要输入某个命令,但是却并不知道为什么要这么做,这并不好,也
容易打击信心。
安装前的准备工作
你需要一个运行着 Linux 操作系统的电脑作为主机。
你可以用虚拟机,也可以装双系统,或者你甚至可以直接把系统换
成 Linux。注意:虚拟机空间如果小于 100G,那么重装系统吧,否
则通过扩容达到 100G 的,会遇到各种问题。反正我最后是重装系
统的
在这里,我用的是 VMware 虚拟机下的 Ubuntu 16.04 LTS
你需要一个足够大的硬盘空间,一个足够好的 CPU,尽量大的内存。
毕竟是用来做开发的,对于配置要求还是比较高,Xilinx 推荐 4GB
内存,100GB 硬盘,2GHz 主频 CPU。
然则,20GB 硬盘远远不够!!我电脑一共就 8GB 内存,只能分给
虚拟机 2GB,倒是没出现什么问题,就是安装的时候比较慢,
Guidance 说只要“few minutes”,实际上这要看电脑分的内存的,
分大了比较快,小了就很难说了。
以下是 Xilinx 的推荐配置。
安装一系列的支持包。以下是列表,最左边是支持包的名称,右侧是各个
操作系统下,该支持包的安装包名称(很绕口,其实就是同一个功能在不
同系统下有不同的叫法),只需要关注你所用的操作系统的那一列就可以
了。记得在安装之前把这些支持库全部安装好,不然到时候等了好久,结
果告诉你缺少库,请少侠重头再来,那就哭晕在厕所了。(注意是在普通
用户下,root 用户下会安装失败)
说明:安装之前可以用“dpkg –s 工具名称”检测一下,如果显示未安装,
则用“sudo apt-get install 工具名称”命令安装下。也可以不检查,直
接重装一遍,防止版本过低导致出现问题。(注意,需要在联网情况下才
能安装成功)
坑一:安装 sudo apt-get install zlib1g:i386,这个根据表格很容易忽略
坑二:检查安装目录(我的是/opt/pkg/petalinux/)的权限,是否是
drwxrwxr-x,是否能使用 chmod 修改权限(不加 sudo),如果有一个
不对,那就等着重新执行一遍吧
坑三:不要用 Guest 用户登录
把 shell 设置成 bash(这一步你看不懂的话可以忽略,因为 Ubuntu 默
认 shell 设置为 dash),具体设置方法是$ sudo dpkg-reconfigure
dash,(命令没有错误)出现提示界面问是否要 dash 的时候,选 No 就
行了。反馈如下:
。
下载安装 Vivado for Linux。或者你想在 Windows 下用 Vivado 搞完之
后把文件扔到虚拟机里也可以,只是比较麻烦,还不如直接装在 Linux 里,
实测界面和 Windows 下完全一样。推荐 WebPack 版本,虽说是阉割版,
但还是可以用 ZYNQ 系列和 MicroBlaze 的全部功能,只是少了
UltraScale 系列和一些高端的 7 系列。Vivado 软件是用来生产 hdf 文件
的,我们可以使用 XiLinx 自带的 bsp,此步也可以略过……
安装步骤
下载 PetaLinux 包。网址如下:
https://www.xilinx.com/support/download/index.html/conten
t/xilinx/en/downloadNav/embedded-design-tools.html
选择 7GB 的 PetaLinux 2017.2 Installer
下载完之后应该是一个 petalinux-v2017.2-final-installer.run 文件
放到虚拟机里;
建立安装路径,比如$ mkdir /opt/pkg/petalinux/(如果创建时说没权
限,恭喜你,悲剧了,安装肯定不成功,这应该是你用户的问题,至于解
决办法,百度^_^)
运行安装文件;
$ ./ petalinux-v2017.2-final-installer.run
/opt/pkg/petalinux/
如果缺少后面的安装路径参数,则默认会安装在当前路径;
经过漫长的等待~~~来到了 Agreement 部分了,就是一些协议,不同意
就不让装,Windows 下一般用勾选的方式,Linux 终端没有这种条件,
只能用 Vim 展示给你看。
按 Enter 进入协议文本,按 Esc+ : + q 退出协议文本(不要按回车,
否则重新执行吧),然后就会有问你同不同意,输入 y 同意协议,
回车,进入下一条协议,按 Esc+ : + q 退出协议文本,y 同意,若
干次之后,就进入安装部分了。
再次经过漫长的等待,安装完成。
环境配置
装好了工具,接下来就是要配置环境了。
环境配置方法很简单,先确保你的 shell 是 bash,具体设置方法看上面的“安
装前准备工作”部分。
然后运行$ source
/settings.sh
比如我的安装路径是/opt/pkg/petalinux/,那对应的命令就是$ source
/opt/pkg/petalinux/settings.sh
执行$ echo $PETALINUX
如果显示出你的安装路径,那就证明环境变量配置好了
有一个问题是,每次打开一个新的终端,环境变量都会被重置,需要重新
source,作为一个强迫症,我觉得这种重复而无聊的工作必然是可以自动化的。
解决方案如下:
修改 ~/.bashrc 这个文件
在最后加上 $ source /opt/pkg/petalinux/settings.sh
.bashrc 是终端的初始化配置脚本,每次打开新的终端是的时候,都会执行这
个脚本,把环境变量配置脚本加在里面,就能在打开的时候自动配置了。
安装 PetaLinux BSP
BSP(Board Support Package)板级支持包,是一个文件包,当你使用特定
的硬件平台时,可以帮你隔离底层硬件,更方便地进行上层开发。Xilinx 的开
发板基本上都有对应的 BSP,在 PetaLinux 环境下可以很方便地生成一个基础
工程,在基础工程的基础上进行配置和增删修改等,会比从零开始做简单得多。
这里详细介绍了 BSP 的安装流程。
下载你需要的板级支持包 BSP。
https://www.xilinx.com/support/download/index.html/conten
t/xilinx/en/downloadNav/embedded-design-tools.html
把 PetaLinux 下载列表往下拉,能看到很多的 BSP,选择你想要的,
比如我这里选的就是 ZED BSP。
把这个 BSP 文件放在你喜欢的地方。你可以把 BSP 文件看做一个种子,
通过特定的命令可以让其“成长”为一个工程,一个模板工程,一个基于
特定板子的基础工程,让你可以在此基础上直接进行开发而不需要关心板
子上的具体电路等。
好吧,其实我是骗你的,根本不需要什么安装,下载完放着就可以了;然
则 Guidance 里说这就是 Installation,所以也算不上骗吧┑( ̄Д  ̄)┍
利用 BSP 生成一个工程
刚刚说到,BSP 相当于一个种子,可以种出一个工程,现在我们就来动手吧。
首先 cd 到你希望放置工程的路径。比如我的就是: