02-ZYNQ linux开发环境安装,基于Petalinux2022.2和Vitis2022.2

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 安装包和对应的sstate-cache包。
在这里插入图片描述
网页拉到最下面可以看到对应的sstate-cache包,其中 Downloads (TAR/GZIP - 52.57 GB)包括了所有平台(即 aarch64、arm、microblaze),在使用时工具需求下载。
在这里插入图片描述

安装环境要求

  1. RAM>8G
  2. CPU频率>2G,核心>8核
  3. HDD>100g
  4. 支持的操作系统
    • Red Hat Enterprise Workstation/Server 7.4, 7.5, 7.6, 7.7, 7.9, 8.2 (64-bit), 8.3, 8.4, 8.5,8.6
    • CentOS Workstation/Server 7.4, 7.5, 7.6, 7.7, 7.9
    • Ubuntu Linux Workstation/Server 18.04.1, 18.04.2, 18.04.3, 18.04.4, 18.04.5, 18.04.06,20.04, 20.04.1, 20.04.2, 20.04.3 ,20.04.4 (64-bit)
    • SUSE Linux 15.2
  5. 主机系统/bin/sh是“bash”, Ubuntu可以 sudo dpkg-reconfigure dash 命令将/bin/sh改为“bash”

安装所依赖的软件

在安装 Petalinux 之前我们需要为 Ubuntu 系统安装一些必要的运行软件以及依赖库

#更新软件包
sudo apt-get update
#根据提示输入小写的"y"
sudo apt-get 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

执行结果如下图所示:
在这里插入图片描述
选择“NO”按下回车即可。

安装 petalinux

  1. 创建安装目录
sudo chown -R $USER:$USER /opt
mkdir -p /opt/pkg/petalinux2022.2
chmod 0755 /opt/pkg/petalinux2022.2
  1. 运行安装命令
    petalinux的安装命令格式如下:
#--log <LOGFILE>用于指定安装日志输出路径,默认为当前路径
#-d|--dir <INSTALL_DIR>用于指定安装路径,默认为当前路径
#-p|--platform <arch_name>用于指定平台,可选"aarch64"、"arm"、"MicroBlaze",默认为所有平台进行安装
./petalinux-v2022.2-10141622-installer.run  [--log <LOGFILE>] [-d|--dir <INSTALL_DIR>] [-p|--platform <arch_name>]

这里为所有平台安装petalinux到/opt/pkg/petalinux2022.2目录中:

chmod 0755 petalinux-v2022.2-10141622-installer.run
./petalinux-v2022.2-10141622-installer.run -d /opt/pkg/petalinux2022.2/

运行上述命令后,需要等待一段时间,当出现“Press Enter to display the license agreements”字样的时候,如下图所示:
在这里插入图片描述
此时按下键盘上的回车键 Enter,显示协议内容如下:
在这里插入图片描述
若不想关心协议内容可以按q键退出
在这里插入图片描述
返回后选y同意协议,后面还有几个协议,也采用相同的方法查看并同意便可继续进行安装。
3. 设置 Petalinux 环境变量

#进入安装目录
cd /opt/pkg/petalinux2022.2/
#设置Petalinux环境变量
source settings.sh
#若设置成功执行此命令应输出Petalinux安装路径
echo $PETALINUX
  1. 将设置 Petalinux 环境变量的命令设置成别名
    每次打开终端使用 Petalinux 都需要设置相应的环境变量,为了方便可以将设置 Petalinux 环境变量的命令设置成别名,这样使用起来就方便些,设置别名方法的很简单,在终端输入如下命令:
#注意,此指令需要在设置Petalinux环境变量后运行,以后通过命令petalinux2022即可完成petalinux环境变量设置
echo "alias petalinux2022='source $PETALINUX/settings.sh'" >> ~/.bashrc
  1. 安装sstate-cache
    在使用Petalinux编译工程的过程中会从网上下载一些软件包,若网络不稳定会导致下载失败,从而无法完成工程编译,sstate-cache中包含了 Petalinux 编译时需要的各种软件包和库,将其解压到/opt/pkg/sstate_arm_2022.2目录中即可,后边配置Petalinux工程时将“Yocto Settings —>Local sstate feeds settings—>local sstate feeds url”设置为“/opt/pkg/sstate_arm_2022.2/arm”即可。
#创建目录
mkdir -p /opt/pkg/sstate_arm_2022.2
#解压sstate-cache包
tar -vxf sstate_arm_2022.2_10071807.tar.gz  -C /opt/pkg/sstate_arm_2022.2/

Vitis 安装

Vitis 是用来开发 Linux 应用的软件,使用这个软件开发 Linux 应用,既方便了工程管理,也免去了自己写Makefile的必要,此外在移植一些Linux 库或软件的时候还需要用到 Vitis 提供的编译工具链(因为petalinux2022.2没有直接提供编译Linux应用程序的编译器)。

下载 Vitis 安装包

可从“赛灵思官网”下载 Vitis 安装包,这里下载的是离线安装包。
在这里插入图片描述
在这里插入图片描述

安装 Vitis

  1. 解压下载的安装包
#文件很大,解压时间较长
tar -vxf Xilinx_Unified_2022.2_1014_8888.tar.gz
  1. 运行安装向导
./xsetup
  1. 点击Continue
    在这里插入图片描述
  2. 点击next,进入到产品安装选择界面
    在这里插入图片描述
  3. 在产品安装界面选择vitis(注意:vitis包含了Vivado套件,Vivado则是可以选择是否安装vitis),然后点击next,进入Vitis Software Platform 设置界面
    在这里插入图片描述
  4. 在进入Vitis Software Platform 设置界面选择需要支持的器件,然后点击next,进入许可协议界面
    在这里插入图片描述
  5. 在许可协议界面全部勾选同意,然后点击next,进入安装路径选择界面
    在这里插入图片描述
  6. 安装路径选择界面选择安装路径(安装路径需要有读写权限),然后点击next,在弹出的路径确认窗口中点击yes,接下来进入“Installation Summary”界面
    在这里插入图片描述
  7. 在“Installation Summary”界面,点击“Install”开始安装
    在这里插入图片描述
  8. 加载Vitis环境变量,在需要Vitis提供的编译器时可以执行如下命令:
source /opt/pkg/Xilinx2022.2/Vitis/2022.2/settings64.sh
  1. 将加载Vitis环境变量的命令设置为别名,以后便可通过vitis2023快速完成Vitis环境变量的加载
echo "alias vitis2022='source /opt/pkg/Xilinx2022.2/Vitis/2022.2/settings64.sh'" >> ~/.bashrc

安装 JTAG cable 驱动

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

  1. 打开终端,进入到 petalinux 安装目录,可以看到有一个名为“tools”的目录,jtag驱动程序在该目录下。
cd /opt/pkg/petalinux2022.2/

在这里插入图片描述
2. 进入jtag驱动程序所在该目录,可以看到该目录下有一个名为“install_drivers”的文件

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

在这里插入图片描述
3. 以 root 权限执行install_drivers文件,安装 jtag 驱动程序

sudo ./install_drivers

在这里插入图片描述
4. 至此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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1549618.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

秦巴山区SHP格式矢量范围

‌秦巴山区的shp范围包括河南、湖北、重庆、四川、陕西、甘肃六省市的80个县(市、区)。‌这一区域不仅地理范围广泛&#xff0c;而且生态多样性丰富&#xff0c;是国家重要的生物多样性和水源涵养生态功能区。秦巴山区的地貌类型以山地丘陵为主&#xff0c;间有汉中、安康、商丹…

告别背锅侠!29个空场景及测试方法的实战指南

想必大家在日常的测试工作中&#xff0c;经常会碰到以下这些场景&#xff1a; 场景一&#xff1a; 测试人员&#xff1a;有一个数据为空的场景还没有验证。 研发人员&#xff1a;这个场景不会出现&#xff0c;因为没有删除逻辑。 场景二&#xff1a; 研发人员&#xff1a;…

linux项目_c语言:Makefile编写、动态库生成、添加动态库路径

一直想搞懂Linux中Makefile是怎么管理项目的&#xff0c;知识积累到一定程度后&#xff0c;我就做了一个自己的缩小项目去把剩下的细节搞清楚 代码&#xff1a; Service.c: #include <stdio.h> #include "lib_sevr.h" int main(){printf("输入a, b的值…

【Linux网络】详解TCP协议(3)

&#x1f389;博主首页&#xff1a; 有趣的中国人 &#x1f389;专栏首页&#xff1a; Linux网络 &#x1f389;其它专栏&#xff1a; C初阶 | C进阶 | 初阶数据结构 小伙伴们大家好&#xff0c;本片文章将会讲解 TCP的流量控制和滑动窗口 的相关内容。 如果看到最后您觉得这篇…

MySQL - 单表查询

DQL (数据查询语言)是用来查询数据库表中的记录的操作。在实际的业务系统中&#xff0c;查询操作的频率远远高于增删改。常见的查询操作包括条件查询、排序、分组等。 1. DQL 语法 SELECT 字段列表 FROM 表名列表 [WHERE 条件列表] [GROUP BY 分组字段] [HAVING 分组后条件]…

57 长短期记忆网络(LSTM)_by《李沐:动手学深度学习v2》pytorch版

系列文章目录 文章目录 系列文章目录长短期记忆网络&#xff08;LSTM&#xff09;门控记忆元输入门、忘记门和输出门候选记忆元 (相当于RNN中计算 H t H_t Ht​)记忆元隐状态 从零开始实现初始化模型参数定义模型训练和预测 简洁实现小结练习 长短期记忆网络&#xff08;LSTM&a…

QT基础 制作简单登录界面

作业&#xff1a; 1、创建一个新项目&#xff0c;将默认提供的程序都注释上意义 01zy.pro代码 QT core gui # QT表示要引入的类库 core&#xff1a;核心库例如IO操作在该库中 gui&#xff1a;图形化界面库 # 如果要使用其他类库中的相关函数&#xff0c;则需要加对…

【深度学习】—线性回归 线性回归的基本元素 线性模型 损失函数 解析解 随机梯度下降

【深度学习】— 线性回归线性回归的基本元素 线性模型损失函数解析解随机梯度下降小批量随机梯度下降梯度下降算法的详细步骤解释公式 线性回归 回归&#xff08;regression&#xff09;是能为⼀个或多个⾃变量与因变量之间关系建模的⼀类⽅法。在⾃然科学和社会科学领域&…

正点原子——DS100示波器操作手册

目录 基础按键&#xff1a; 快捷键 主界面&#xff1a; 垂直设置&#xff1a; 通道设置&#xff1a; 探头比列&#xff1a; 垂直档位&#xff1a; 垂直偏移&#xff1a; 幅度单位&#xff1a; 水平设置&#xff1a; 触发方式&#xff1a; 测量和运算: 光标测量&am…

如何用好通义灵码企业知识库问答能力?

通义灵码企业版&#xff1a;通义灵码企业标准版快速入门_智能编码助手_AI编程_智能编码助手通义灵码(Lingma)-阿里云帮助中心 通义灵码提供了基于企业知识库的问答检索增强的能力&#xff0c;在开发者使用通义灵码 IDE 插件时&#xff0c;可以结合企业知识库内上传的文档、文件…

《深度学习》【项目】OpenCV 发票识别 透视变换、轮廓检测解析及案例解析

目录 一、透视变换 1、什么是透视变换 2、操作步骤 1&#xff09;选择透视变换的源图像和目标图像 2&#xff09;确定透视变换所需的关键点 3&#xff09;计算透视变换的变换矩阵 4&#xff09;对源图像进行透视变换 5&#xff09;对变换后的图像进行插值处理 二、轮廓检测…

YOLOv8改进,YOLOv8主干网络替换为GhostNetV3(2024年华为提出的轻量化架构,全网首发),助力涨点

摘要 GhostNetV3 是由华为诺亚方舟实验室的团队发布的,于2024年4月发布。 摘要:紧凑型神经网络专为边缘设备上的应用设计,具备更快的推理速度,但性能相对适中。然而,紧凑型模型的训练策略目前借鉴自传统模型,这忽略了它们在模型容量上的差异,可能阻碍紧凑型模型的性能…

【d53】【Java】【力扣】24.两两交换链表中的节点

思路 定义一个指针cur, 先指向头节点&#xff0c; 1.判断后一个节点是否为空&#xff0c;不为空则交换值&#xff0c; 2.指针向后走两次 代码 /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}*…

Java_集合_双列集合_Map

第一章Map集合 Map是双列集合顶级接口 什么叫做双列集合:一个元素有两部分构成:key和value -> 键值对 1.1.HashMap 常用方法: V put(K key, V value) -> 添加元素,返回的是被替换的value值 V remove(Object key) ->根据key删除键值对,返回的是被删除的value…

Codeforces Round 975 (Div. 1) D. Max Plus Min Plus Size(思维题 并查集/动态dp 线段树维护状态合并)

题目 思路来源 hhoppitree代码 官方题解 题解 注意到最大值一定会被取到&#xff0c; 对于最小值固定的话&#xff0c;对于1 2 3 4 5的连续段&#xff0c;要么贪心地取1 3 5&#xff0c;要么取2 4 如果最大值被包含在1 3 5里显然取1 3 5&#xff0c;否则换成2 4一定能取到…

亚马逊爆款三明治封口器发明专利维权,恐涉及大量卖家,速查

案件基本情况&#xff1a;起诉时间&#xff1a;2024-9-18案件号&#xff1a;2024-cv-08606原告&#xff1a;Jetteo, LLC原告律所&#xff1a;AVEK IP, LLC起诉地&#xff1a;伊利诺伊州北部法院涉案商标/版权&#xff1a;原告品牌简介&#xff1a;Jetteo&#xff0c;LLC&#x…

蜂鸟bebirdt15、西圣find、泰视朗可视挖耳勺好用吗?测评数据对比看这里

可视挖耳勺在当下已经被广泛使用&#xff0c;不过对于新手来说&#xff0c;选择一款优质产品却并不容易。蜂鸟t15、西圣find、泰视朗可视挖耳勺好用吗&#xff1f;作为一个测评博主&#xff0c;近期有不少用户问我这个问题。 根据目前市场上可视挖耳勺的品牌情况来看&#xff0…

A股突破3000,连续大涨,公司国庆假放10天

关注▲洋洋科创星球▲一起成长&#xff01; 庆祝A股突破3000&#xff0c;连续大涨&#xff0c;也不知道老板抽了什么风&#xff0c;公司今天开始放国庆假了&#xff0c;连休10天&#xff0c;哈哈哈哈哈哈。 27号开始放国庆假&#xff0c;连休10&#xff0c;刺激。 中秋国庆这一…

【C++】继承,菱形继承,虚拟继承,组合详解

目录 1. 继承概念与定义 1.1 概念 1.2 定义 2. 父类与子类的赋值规则 3. 继承的作用域 4. 子类的默认成员函数 5. 继承与友元 6. 继承与静态成员 7. 菱形继承 7.1 继承关系 7.2 菱形继承的问题 7.3 虚拟继承 8. 继承与组合 1. 继承概念与定义 1.1 概念 1. 继承&a…

论文速递 | Management Science 8月文章合集

编者按 在本系列文章中&#xff0c;我们对顶刊《Management Science》于8月份发布文章中进行了精选&#xff08;共9篇&#xff09;&#xff0c;并总结其基本信息&#xff0c;旨在帮助读者快速洞察行业最新动态。 推荐文章1 ● 题目&#xff1a;Optimal Mechanism Design with …