首页 > 系统相关 >《DFZU2EG_4EV MPSoC之嵌入式Linux开发指南》第五章 Petalinux的安装

《DFZU2EG_4EV MPSoC之嵌入式Linux开发指南》第五章 Petalinux的安装

时间:2023-01-07 10:01:13浏览次数:55  
标签:MPSoC petalinux DFZU2EG Ubuntu 如下 Linux Petalinux 安装 jtag

Petalinux的安装​

本章将带大家来安装Petalinux开发工具,需要注意的是与Vivado工具不同的是我们不是将petalinux工具安装在Windows系统下,而是安装在Ubuntu操作系统中,所以在此之前确保大家已经在虚拟机中安装了Ubuntu 18.04 64位操作系统,这也是官方推荐的版本,那么对于其他版本可能会在安装和使用过程中出现莫名其妙的错误,所以这里不推荐大家使用其他版本。​

在前面的篇章当中已经向大家介绍了Windows下虚拟机的安装以及Ubuntu操作系统的安装,如果你还没做好这些准备工作,那么可以先回到前面的章节进行学习。​



Petalinux简介

Petalinux工具是Xilinx公司推出的嵌入式Linux开发套件,包括了u-boot、Linux Kernel、device-tree、rootfs等源码和库,以及 Yocto recipes,可以让客户很方便的生成、配置、编译及自定义Linux系统。Petalinux支持Versal 、Zynq UltraScale+ MPSoC、Zynq-7000 SoC以及MicroBlaze,可与Xilinx硬件设计工具Vivado 协同工作,大大简化了Linux系统的开发工作。具体的介绍可访问Petalinux工具网站。​​

下载Petalinux安装包

这里先给大家说明一下,petalinux的安装包文件比较大,有8G左右,如果大家网速太慢或者不想浪费时间下载,我们已经在开发板光盘资料中提供了Petalinux安装包软件,读者可以直接使用,在光盘路径,使用光盘提供的安装包文件的可以跳过该小节;如果读者想亲自下载,可以到Xilinx的官方网站进行下载,如下图所示(注:需要注册账号才能下载):​

《DFZU2EG_4EV MPSoC之嵌入式Linux开发指南》第五章 Petalinux的安装_linux


图5.2.1下载页面及安装文件​

可以看到左边的“Version”栏有2021.1、2020.3以及2020.2版本,由于Petalinux的版本要求与Vivado的版本一致,而我们使用的Vivado选用的是2019.2版本,所以这里应选择2019.2版本。此处小小的感慨下版本变化之快,2019.2版本在“Version”栏最下方的“存档”中,里面保留着Petalinux过去的版本。​

点击“2019.2”,弹出该版本页面后,找到petalinux的安装文件,如上图所示。​

《DFZU2EG_4EV MPSoC之嵌入式Linux开发指南》第五章 Petalinux的安装_linux_02


图5.2.2 安装文件​

然后点击“Petalinux 2019.2安装程序”进行下载,当点击之后会出现如下的一个页面,这里需要登录账户才能进行下载;如果之前注册过账户直接登录之后就可以下载了,如果还没有账户,则可以点击下方的“创建账号”字样进行注册,关于注册过程就不细说了,按照提供的步骤一步一步做就可以了。​

《DFZU2EG_4EV MPSoC之嵌入式Linux开发指南》第五章 Petalinux的安装_linux安装_03


图5.2.3 登录账户​

登录之后,会进入下载中心-姓名与地址验证页面,如下图所示:​

《DFZU2EG_4EV MPSoC之嵌入式Linux开发指南》第五章 Petalinux的安装_Ubuntu_04


图5.2.4 下载中心-姓名与地址验证页面​

填写信息完成后,点击页面最下方的“下载”按钮,如下图所示:​

《DFZU2EG_4EV MPSoC之嵌入式Linux开发指南》第五章 Petalinux的安装_Ubuntu_05


图5.2.5 “下载”按钮​

下载完成之后就获得了petalinux的安装文件petalinux-v2019.2-final-installer.run。​

《DFZU2EG_4EV MPSoC之嵌入式Linux开发指南》第五章 Petalinux的安装_linux安装_06


图5.2.6安装包文件​

安装Petalinux

首先将petalinux安装包文件petalinux-v2019.2-final-installer.run拷贝到share共享目录(见《4.2 Ubuntu和Windows文件本地共享》小节),在Ubuntu系统中,打开终端,切换到/mnt/hgfs/share/目录,可以看到 petalinux的安装文件petalinux-v2019.2-final-installer.run已在该目录,可直接访问,如下图所示:​

《DFZU2EG_4EV MPSoC之嵌入式Linux开发指南》第五章 Petalinux的安装_Ubuntu_07


图5.3.1 petalinux安装包拷贝到Windows下的share共享目录​

安装依赖库以及软件

在安装Petalinux之前我们需要为Ubuntu系统安装一些必要的运行软件以及依赖库,所以大家需要确保Ubuntu能够正常上网。为了方便依赖库的安装,Xilinx提供了安装脚本plnx-env-setup.sh。,如下图所示:​

《DFZU2EG_4EV MPSoC之嵌入式Linux开发指南》第五章 Petalinux的安装_Ubuntu_08


图5.3.2 依赖库安装脚本​

将下载后的脚本拷贝到Ubuntu虚拟机中,打开Ubuntu Terminal终端执行输入如下命令以执行此脚本:​

sudo ./plnx-env-setup.sh​

如下图所示:​

《DFZU2EG_4EV MPSoC之嵌入式Linux开发指南》第五章 Petalinux的安装_Ubuntu_09


图5.3.3安装必要依赖库及软件​

这里需要等待大概1-2分钟,等待软件以及库安装完成之后即可进入下一步。安装完成后如下图所示:​

《DFZU2EG_4EV MPSoC之嵌入式Linux开发指南》第五章 Petalinux的安装_Ubuntu_10


图5.3.4 脚本方式安装库​

如果上面的命令不行,可以使用下面的方式替代,对与Ubuntu而言,两种方式是等效的。​

sudo apt install iproute2 gawk python3 python build-essential gcc git make net-tools libncurses5-dev tftpd zlib1g-dev libssl-dev flex bison libselinux1 gnupg wget git-core diffstat chrpath socat xterm autoconf libtool tar unzip texinfo zlib1g-dev gcc-multilib automake zlib1g:i386 screen pax gzip cpio python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev pylint3​

修改bash

Petalinux工具需要主机系统的/bin/sh是bash,而Ubuntu默认的/bin/sh是dash,所以这里需要进行更改,运行sudo dpkg-reconfigure dash命令,如下:​

sudo dpkg-reconfigure dash​

执行结果如下图所示:​

《DFZU2EG_4EV MPSoC之嵌入式Linux开发指南》第五章 Petalinux的安装_linux安装_11


图5.3.5禁用dash​

选择“No”按下回车即可。​

安装Petalinux

安装Petalinux就要考虑安装位置了,对于Petalinux这种体积庞大的工具,我们将其放在/opt目录下。在/opt目录下新建专门存放Petalinux的文件夹,如/opt/pkg/petalinux/2019.2,在终端输入以下命令即可:​

sudo chown -R $USER:$USER /opt​

mkdir -p /opt/pkg/petalinux/2019.2​

chown命令将/opt目录的属主和属组更改为当前的用户名,如笔者的Ubuntu用户名为cx,执行的chown命令就相当于“sudo chown -R cx:cx /opt”,然后通过mkdir创建安装目录。现在我们将petalinux安装在/opt/pkg/petalinux/2019.2目录下,在终端中输入如下命令:​

./petalinux-v2019.2-final-installer.run /opt/pkg/petalinux/2019.2​

执行Petalinux的安装,如下图所示:​

《DFZU2EG_4EV MPSoC之嵌入式Linux开发指南》第五章 Petalinux的安装_linux_12


图5.3.6 安装petalinux​

运行上述命令后,需要等待一段时间,当出现“Press Enter to display the license agreements”字样的时候,如下图所示:​

《DFZU2EG_4EV MPSoC之嵌入式Linux开发指南》第五章 Petalinux的安装_linux安装_13


图5.3.7 Press Enter to display the license agreements​

从显示的意思可以知道,让我们按下回车键显示软件许可协议,按下键盘上的回车键Enter,显示协议内容如下:​

《DFZU2EG_4EV MPSoC之嵌入式Linux开发指南》第五章 Petalinux的安装_Ubuntu_14


图5.3.8 许可协议内容​

这些内容如果你感兴趣可以看看,此处我们就不详细看了,直接按下键盘上的Q键退出,回到之前的界面之后会出现一个选择项,询问我们是否接受xilinx最终用户协议。​

《DFZU2EG_4EV MPSoC之嵌入式Linux开发指南》第五章 Petalinux的安装_linux安装_15


图5.3.9最终用户协议​

这个显然是没得选,必须接受,否则无法进行下面的安装;输入y按回车接受。除了xilinx最终用户协议之外,还有两个协议也需要大家接受,会依次显示在终端上,同理也是输入Y按下回车接受。​

《DFZU2EG_4EV MPSoC之嵌入式Linux开发指南》第五章 Petalinux的安装_linux安装_16


图5.3.10 第三方最终用户许可协议​

接受所有协议之后Petalinux安装工具便会继续安装,直到安装完成。安装完成之后,我们进入到安装目录下,目录内容如下图所示:​

《DFZU2EG_4EV MPSoC之嵌入式Linux开发指南》第五章 Petalinux的安装_linux_17


图5.3.11安装目录内容​

设置Petalinux环境变量

在正式使用petalinux工具之前,需要先运行petalinux安装目录下的settings.sh脚本文件设置petalinux工作环境,settings.sh脚本用于bash,还有一个settings.csh用于C shell,如下图所示:​

《DFZU2EG_4EV MPSoC之嵌入式Linux开发指南》第五章 Petalinux的安装_linux安装_18


图5.4.1脚本文件​

一般默认情况下,我们使用bash作为登录shell,所以source脚本文件settings.sh对petalinux所需的运行环境进行配置,命令如下:​

source settings.sh​

需要注意的是该命令只对当前终端有效,重新打开终端后需要重新执行这一步。执行结果如下图所示:​

《DFZU2EG_4EV MPSoC之嵌入式Linux开发指南》第五章 Petalinux的安装_linux_19


图5.4.2 运行settings.sh脚本文件​

我们来验证下工作环境是否已设置,在终端输入如下命令:​

echo $PETALINUX​

结果如下图所示:​

《DFZU2EG_4EV MPSoC之嵌入式Linux开发指南》第五章 Petalinux的安装_Ubuntu_20


图5.4.3显示ETALINUX变量​

显示Petalinux的安装目录,表明工作环境已设置。现在可以使用Petalinux工具了。​

鉴于每次打开终端使用Petalinux都需要设置相应的环境变量,我们为了方便,将设置Petalinux环境变量的命令设置成别名,这样我们使用起来就方便些。设置别名方法的很简单,在终端输入如下命令:​

echo "alias sptl='source $PETALINUX/settings.sh'" >> ~/.bashrc​

以后我们打开终端后,输入sptl就可以设置Petalinux的环境变量了,无需输入长长的路径。sptl的记忆法是Source PeTaLinux的环境变量。提醒:在使用linux的时候要善用别名但不要滥用别名。​

Linux系统安装JTAG cable驱动

在嵌入式开发中,我们都是通过在线jtag进行调试的,这种调试方式方便快捷,在使用Petalinux进行Linux开发中,其实也是可以使用JTAG的,不过对于Linux系统,由于安装驱动程序需要root或sudo访问权限,因此从Vivado 2015.4版本开始,默认不安装jtag驱动。这样Vivado安装程序和Petalinux安装程序可以在没有root或sudo特权的Linux系统上运行。这也导致了在linux系统中,jtag驱动需要手动安装。下面我们介绍如何在Ubuntu主机中(其他Linux系统同样适用)安装jtag驱动。​

需要注意的是在安装jtag驱动之前,请不要将jtag下载器连接到电脑,已经接到电脑的,最好先拔掉。下面开始安装。​

在Ubuntu系统中,打开终端,以普通用户运行即可。进入到petalinux安装目录,如下图所示:​

《DFZU2EG_4EV MPSoC之嵌入式Linux开发指南》第五章 Petalinux的安装_linux安装_21


图5.5.1 Petalinux安装目录​

可以看到有一个名为“tools”的目录,jtag驱动程序在该目录下,我们输入以下命令进入到jtag驱动程序所在位置:​

cd tools/xsct/data/xicom/cable_drivers/lin64/install_script/install_drivers​

可以看到该目录下有一个名为“install_drivers”的文件,如下图所示:​

《DFZU2EG_4EV MPSoC之嵌入式Linux开发指南》第五章 Petalinux的安装_Ubuntu_22


图5.5.2 “install_drivers”文件​

输入如下命令,以root权限执行该文件,安装jtag驱动程序:​

sudo ./install_drivers​

执行结果如下图所示:​

《DFZU2EG_4EV MPSoC之嵌入式Linux开发指南》第五章 Petalinux的安装_linux安装_23


图5.5.3驱动安装成功​

可以看到jtag驱动安装成功。对于最下面一行的警告,如果已经拔掉jtag下载器与电脑的连接就可以不用看。至此jtag驱动程序就安装完成了。​

下面说下在遇到jtag驱动问题时,如何删除jtag驱动。注意如无特需情况,请不要执行下面的命令:​

sudo rm -f /etc/udev/rules.d/52-xilinx-digilent-usb.rules​

sudo rm -f /etc/udev/rules.d/52-xilinx-ftdi-usb.rules​

sudo rm -f /etc/udev/rules.d/52-xilinx-pcusb.rules​


标签:MPSoC,petalinux,DFZU2EG,Ubuntu,如下,Linux,Petalinux,安装,jtag
From: https://blog.51cto.com/u_15046463/5995406

相关文章

  • 《DFZU2EG_4EV MPSoC之嵌入式Linux开发指南》第六章 Petalinux设计流程实战​
    Petalinux设计流程实战​PetaLinux工具提供了在Xilinx处理系统上自定义、构建和部署嵌入式Linux解决方案所需的一切。该解决方案旨在提高设计生产力,可与Xilinx硬件设计工具......
  • 调整Linux系统为正确时区
    一、如何调整Linux系统为正确时区 一、查看当前的时区情况#date#dateFriJan612:52:24EST2023#ll-l/etc/localtimelrwxrwxrwx.1rootroot38Jan506......
  • Arch Linux 为 Discord 设置代理
    复制图标到用户所属目录$cp/usr/share/applications/discord.desktop~/.local/share/applications/修改启动命令为其添加代理[DesktopEntry]Name=DiscordStartup......
  • 在linux上测试net程序
    1、将net程序发布为linux内核,并且自包含框架  2、安装WSL并安装Ubuntu(可参考:https://learn.microsoft.com/zh-cn/windows/wsl/install)。如果安不上就参考《旧版本的......
  • Linux USB设备驱动(二)
    Note: 本文主要列举几个usb设备驱动实例一、“USBLED”驱动模块在前面的实验室中,开发了一个功能齐全的USBHID设备的固件,该设备能够通过使用HID报告发送和接收数据。......
  • (笔记)在每个 Linux 用户SSH登录时执行自定义脚本
     有些时候,我们需要在linux用户登录时执行我们自己编写的脚本,比如登录时给个友好的交互输出提示。为了实现该目的,我们有必要去了解一下linux在用户登录时执行内部shell的......
  • Kali 工具系列【2】在kali linux 上抓取握手包
    1、接入一块外置的无线网卡。2、查看可用的wifi接口,回显结果中有wlan0即代表支持监控模式airmon-ng3、开启无线网卡监控模式airmon-ngstartwlan0 命令执行后网卡接口变为......
  • linux安装sftp
    目录linux安装sftp1、创建用户及用户组2、创建文件夹作为sftp用户的根目录3、修改sshd_config3.1、注释Subsystemsftp/usr/libexec/openssh/sftp-server(若不注释,可以通过......
  • Linux拓展之字段分隔符IFS
    前言内部字符单分隔符(InternalFieldSeparator,IFS)在处理文本数据行时,具有很重要的作用。IFS是一个环境变量,默认值是'\t\n'。不可以用echo$IFS获取它保存的分隔符,......
  • Linux +Docker +Nginx 部署代理转发初探
    很多开发人员仅仅只会码代码,如果让开发人员部署一些深入点的东西,或者做负载均衡等,很多开发人员估计就懵逼了,作为一个专业的开发还需要懂一些基本的运维知识;虽然说在互联......