0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于Ubuntu的PetaLinux安装教程

Hx 作者:工程师陈翠 2018-07-04 07:32 次阅读

PetalLinux是Xilinx公司推出的嵌入式Linux开发工具,专门针对Xilinx公司的FPGA SoC芯片和开发板,用户可以在PetaLinux工具的帮助下进行完整的开发流程,包括设计,验证,仿真下载等。

本文将详细介绍PetaLinux的安装流程,虽然实际上基本就是把Xilinx的UG1144翻译一遍。但对于初学者而言,全是英文的Guidance还是很难受的,可能某一步要输入某个命令,但是却并不知道为什么要这么做,这并不好,也容易打击信心,尤其是UG里还有一点小错误。

安装前的准备工作

你需要一个运行着Linux操作系统电脑作为主机。

你可以用虚拟机,也可以装双系统,或者你甚至可以直接把系统换成Linux。

在这里,我用的是VMware虚拟机下的Ubuntu Kylin 14.04 LTS

你需要一个足够大的硬盘空间,一个足够好的CPU,尽量大的内存。

毕竟是用来做开发的,对于配置要求还是比较高,Xilinx推荐4GB内存,20GB硬盘,2GHz主频CPU。

然则,20GB硬盘远远不够!!我分配了100GB,安装完之后就剩30G空间了;我电脑一共就8GB内存,只能分给虚拟机2GB,倒是没出现什么问题,就是安装的时候比较慢,Guidance说只要“few minutes”,然而我需要花一局OW的时间。

以下是Xilinx的推荐配置,不要相信他推荐的硬盘容量,其他都还好。

安装一系列的支持包。以下是列表,最左边是支持包的名称,右侧是各个操作系统下,该支持包的安装包名称(很绕口,其实就是同一个功能在不同系统下有不同的叫法),只需要关注你所用的操作系统的那一列就可以了。记得在安装之前把这些支持库全部安装好,不然到时候等了好久,结果告诉你缺少库,请少侠重头再来,那就哭晕在厕所了。

把shell设置成bash(这一步你看不懂的话可以忽略,因为有些人喜欢把shell设置为dash),具体设置方法是$ sudo dpkg-reconfigure bash,这里UG1144写错了。

下载安装Vivado for Linux。或者你想在Windows下用Vivado搞完之后把文件扔到虚拟机里也可以,只是比较麻烦,还不如直接装在Linux里,实测界面和Windows下完全一样。推荐WebPack版本,虽说是阉割版,但还是可以用ZYNQ系列和MicroBlaze的全部功能,只是少了UltraScale系列和一些高端的7系列,重点是免费啊= =||

安装步骤

下载PetaLinux包。网址如下:

https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/embedded-design-tools.html

选择7.02GB的PetaLinux 2016.3 Installer

下载完之后应该是一个 petalinux-v2016.3-final-installer.run 文件

放到虚拟机里;

建立安装路径,比如$ mkdir ~/Desktop/petalinux

运行安装文件;

$ 。/petalinux-v2016.3-final-installer.run ~/Desktop/petalinux

如果缺少后面的安装路径参数,则默认会安装在当前路径;

经过漫长的等待~~~来到了Agreement部分了,就是一些协议,不同意就不让装,Windows下一般用勾选的方式,Linux终端没有这种条件,只能用Vim展示给你看。

按 Enter 进入协议文本,按 q 退出协议文本,然后就会有问你同不同意,输入 y 同意协议,进入下一条协议,按 q 退出,y 同意,若干次之后,就进入安装部分了。

再次经过漫长的等待,安装完成。

环境配置

装好了工具,接下来就是要配置环境了。

环境配置方法很简单,先确保你的shell是bash,具体设置方法看上面的“安装前准备工作”部分。

然后运行$ source 《path-to-installed-PetaLinux》/settings.sh

比如我的安装路径是 ~/Desktop/petalinux,那对应的命令就是$ source ~/Desktop/petalinux/settings.sh

执行$ echo $PETALINUX

如果显示出你的安装路径,那就证明环境变量配置好了

有一个问题是,每次打开一个新的终端,环境变量都会被重置,需要重新source,作为一个强迫症,我觉得这种重复而无聊的工作必然是可以自动化的。解决方案如下:

修改 ~/.bashrc 这个文件

在最后加上 $ source ~/Desktop/petalinux/settings.sh

.bashrc 是终端的初始化配置脚本,每次打开新的终端是的时候,都会执行这个脚本,把环境变量配置脚本加在里面,就能在打开的时候自动配置了。

安装PetaLinux BSP

BSP(Board Support Package)板级支持包,是一个文件包,当你使用特定的硬件平台时,可以帮你隔离底层硬件,更方便地进行上层开发。Xilinx的开发板基本上都有对应的BSP,在PetaLinux环境下可以很方便地生成一个基础工程,在基础工程的基础上进行配置和增删修改等,会比从零开始做简单得多。这里详细介绍了BSP的安装流程。

下载你需要的板级支持包BSP。

https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/embedded-design-tools.html

把PetaLinux下载列表往下拉,能看到很多的BSP,选择你想要的,比如我这里选的就是ZC706的BSP。

把这个BSP文件放在你喜欢的地方。你可以把BSP文件看做一个种子,通过特定的命令可以让其“成长”为一个工程,一个模板工程,一个基于特定板子的基础工程,让你可以在此基础上直接进行开发而不需要关心板子上的具体电路等。

好吧,其实我是骗你的,根本不需要什么安装,下载完放着就可以了;然则Guidance里说这就是Installation,所以也算不上骗吧┑( ̄Д  ̄)┍

利用BSP生成一个工程

刚刚说到,BSP相当于一个种子,可以种出一个工程,现在我们就来动手吧。

首先 cd 到你希望放置工程的路径。比如我的就是:

$ cd ~/Desktop/petalinux_project

创建一个工程

petalinux-create -t project -s ~/Desktop/BSP/zc706.bsp

把上面的路径换成你的BSP放置的路径,文件名也换成你的BSP的文件名(废话…)

-t 表示的是 type,类型是project,-s 表示 source,源是你的BSP文件

你也可以加一个 -n 参数,自定义工程的名称。n for name

好的,一个BSP工程建立完毕。

创建一个自定义工程

创建工程肯定不可能只从BSP生成嘛,以下步骤可以创建一个自定义的工程,而不是基于某个特定开发板的工程。

先 cd 到你希望放置工程的路径。比如我的就是:

$ cd ~/Desktop/petalinux_project

创建一个工程

petalinux-create -t project --template zynq --name test_proj

这样就创建了一个基于zynq芯片模板,名为test_proj的工程了。

template属性可以选择zynq,zynqMP,microblaze。

将硬件平台从Vivado工程导出

Vivado中,可以通过以下方法导出硬件描述文件(.hdf)

- File -》 Export -》 Export to hardware

将导出的 hdf 文件放好,待会需要用到。

将工程的硬件配置导入PetaLinux

我们从Vivado中得到了一个硬件,并导出为 .hdf 文件,现在可以把它导入PetaLinux平台。

首先 cd 到你的工程根目录下

导入硬件配置文件

$ petalinux-config --get-hw-description=~/Desktop

注意参数是 存有hdf文件的路径,而不是文件本身。

然后应该会弹出一个菜单让你配置,配置完之后 save,exit即可。

其实一般不用怎么动,尤其是第一次跟着做的话基本一脸懵逼

每个细目具体是什么意思,参考UG1144的附录B和附录C

生成系统镜像文件

生成一个Linux镜像文件。

首先 cd 到你的工程根目录下

生成系统镜像

$ petalinux-build

生成日志 build.log 存放在‘build’子目录中

镜像文件存放在 /images/linux 中

生成引导镜像

我们有了一个系统镜像,有了一个FPGA的比特流文件,还有了一个u-boot。我们就可以生成一个引导镜像BOOT.bin

命令如下:

$ petalinux-package --boot --fpga xxx.bit --u-boot

其中 xxx.bit 是你在Vivado里生成出来的比特流文件。

然后你就可以看见当前目录下生成了一个BOOT.bin,就是引导镜像文件。

打包Pre-Built镜像

举个栗子,我们成功地做了一个镜像系统,现在需要将其备份,可以通过以下命令将其打包为“Pre-Built镜像”。

首先 cd 到工程根目录。

$ petalinux-package --prebuilt --fpga xxx.bit

然后就会出现一个prebuilt目录,里面有完整的系统镜像文件。

我们可以用prebuilt的镜像来引导系统,命令如下:

$ petalinux-boot --qemu --prebuilt 3

其中3代表的是 《 BOOT_LEVEL 》,可以选择为1/2/3,分别代表不同的引导层次,具体请参考UG1144的24页。

在QEMU中启动系统

上面说到的用prebuilt的镜像引导是其中一种方法,也可以直接引导。

在工程根目录下执行如下命令:

$ petalinux-boot --qemu --u-boot

这样就可以把u-boot下载到QEMU中;

其中 qemu 表示在QEMU虚拟环境中启动,可以换成 --jtag,这样就可以通过J-TAG下载到板子上。

$ petalinux-boot --qemu --kernel

这样就可以把内核下载到QEMU中;

其实还需要一个 --dtb参数的,dtb是device tree blob,设备树文件,用来描述外挂的设备地址,如果缺省此参数,则会自动选用 /images/linux/system.dtb 文件

那么,到这里,就安装成功并简单地测试了一下了。

UG1144是个好东西,后面还有打包固件包、封装自己的BSP、添加用户库、添加用户应用、自动登录等等的教程

刚开始看确实很痛苦啊,看了一整天,跟着做,做完了博客里写的部分,才看了不到一半。而且是全英文,虽然我英语不差,但是看起来还是有些吃力。

话虽如此,还是推荐看英文的UG,毕竟原汁原味,我水平也有限,有一些可能理解不到位。反正,一起加油吧。。。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11030

    浏览量

    207266
  • Ubuntu
    +关注

    关注

    5

    文章

    538

    浏览量

    29084
收藏 人收藏

    评论

    相关推荐

    petalinux是什么?petallinux是如何设计的

    这里使用一下petalinux工具。vivado,vitis HLS 都安装在windows 下,而petalinux 必须安装在linux 下,尝试
    的头像 发表于 09-29 08:58 1.2w次阅读

    【Artix-7 50T FPGA试用体验】Petalinux安装教程

    ,ENTER键进入后按q退出查看。然后需要继续查看三个许可文件,一定要输入y,表示同意接受。文件内容就不一一展示了。如果你跟我一样,装完ubuntu16.04直接进行petalinux安装的话。会产生
    发表于 12-03 19:12

    【Artix-7 50T FPGA试用体验】基于官方BSP的PetaLinux工程创建

    ubuntu14.04系统中已经不支持了,所以不必安装。如果需要对其他非官方板卡进行PetaLinux设计开发的话,还需要安装对应的Vivado开发设计套件。待
    发表于 12-14 19:04

    Petalinux许可证无效

    我的工作环境是windows7主机,在VM上运行ubuntu。我正在使用Xilinx SDK(我有功能许可证),我已经下载了petalinux许可证。我已经完成了将该许可证添加到Manage
    发表于 04-06 10:24

    petalinux项目创建错误显示参数无效的解决办法?

    你好我尝试使用安装ubuntu机器上的petalinux 2016.3创建一个项目。dev @ Archeopteryx:〜/ petalinx2016-3 $ petalinux
    发表于 05-07 07:07

    【创龙TLZ7x-EasyEVM评估板试用连载】petalinux安装

    Linux的移植方法,其基本上使用Xilinx官方提供的petalinux工具进行系统的移植,优势在于移植过程较为简单,但是缺点是只能移植固定的Linux版本和仅使用与Xilinx平台。下面首先需要安装
    发表于 06-02 15:13

    【正点原子FPGA连载】第五章Petalinux安装-领航者ZYNQ之linux开发指南

    共享目录(见《4.2 Ubuntu和Windows文件本地共享》小节),在Ubuntu系统中,打开终端,切换到/mnt/hgfs/share/目录,可以看到 petalinux安装
    发表于 09-09 16:49

    怎么安装PetaLinux 2020.1 ubuntu

    PetaLinux 2020.1 ubuntu 安装
    发表于 02-19 07:54

    Petalinux BSP安装与构建过程

    petalinux-create命令: petalinux-create -t project -s 你将会看到如下输出(根据你安装的bsp) qile@ubuntu:~/Deskto
    发表于 11-15 11:50 7646次阅读

    ubuntu16.04如何安装petalinux_2017.4

    1.安装环境说明 本文安装环境为VM14.1.1 + ubuntu16.04_64 + petalinux_2017.4 ,流程按照ug1144(v2017.3)文档进行讲解。 1.1
    的头像 发表于 12-05 11:34 2449次阅读

    如何安装PetaLinux 2020.1 ubuntu

    安装好vitis后,继续安装petalinux,本人纯纯新手,记录过程就好。Xilinx官网下载petalinux2020.1,还有sstate aarch64 downloads,前
    的头像 发表于 02-08 10:04 1969次阅读

    PetaLinux 2020.1 ubuntu 安装

    安装好vitis后,继续安装petalinux,本人纯纯新手,记录过程就好。Xilinx官网下载petalinux2020.1,还有sstate aarch64 downloads,前
    发表于 01-27 08:05 11次下载
    <b class='flag-5'>PetaLinux</b> 2020.1 <b class='flag-5'>ubuntu</b> <b class='flag-5'>安装</b>

    petalinux安装过程

    Xilinx提供的手册《ug1144-petalinux-tools-reference-guide_chn》,该文档有说明petalinux版本支持的平台,本次使用的Ubuntu16.04。
    的头像 发表于 12-01 09:22 2495次阅读

    技巧|ubuntu20安装

    linux发行版可以说是非常多的, 这里主要是介绍ubuntu20的安装, 以及安装完后的一些技巧, 推荐使用ubuntu的主要原因是使用人数多, 遇到问题能通过网络找到相关解决方法,
    的头像 发表于 09-10 10:43 1106次阅读
    技巧|<b class='flag-5'>ubuntu</b>20<b class='flag-5'>安装</b>

    Ubuntu上编译安装pcl教程

    编译安装PCL(Point Cloud Library)是在Ubuntu上使用自定义选项进行安装的一种方式。
    的头像 发表于 10-26 09:36 555次阅读