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.rhkb.cn/news/434635.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux集群部署RabbitMQ

目录 一、准备三台虚拟机&#xff0c;配置相同 1、所有主机都需要hosts文件解析 2、所有主机安装erLang和rabbitmq 3、修改配置文件 4、导入rabbitmq 的管理界面 5、查看节点状态 6、设置erlang运行节点 7、rabitmq2和rabbitmq3重启服务 8、查看各个节点状态 二、添加…

解锁初中学习新境界 —— 初中通关宝典速记手册

在初中这个学习生涯的关键阶段&#xff0c;掌握扎实的基础知识是取得优异成绩的关键。为此&#xff0c;我们特别推荐《初中通关宝典》——一本专为初中生打造的各科基础知识速记手册&#xff0c;它将成为你学习路上的得力助手。 文章目录 1. 全科覆盖&#xff0c;精准速记2.科学…

socket.io-client实现实前后端时通信功能

这里我使用的后端 基于node.js的koa框架 前端使用的是vite {"name": "hou","version": "1.0.0","description": "","main": "app.js","scripts": {"test": "echo …

老古董Lisp实用主义入门教程(12):白日梦先生的白日梦

白日梦先生的白日梦 白日梦先生已经跟着大家一起学Lisp长达两个月零五天&#xff01; 001 粗鲁先生Lisp再出发002 懒惰先生的Lisp开发流程003 颠倒先生的数学表达式004 完美先生的完美Lisp005 好奇先生用Lisp来探索Lisp006 好奇先生在Lisp的花园里挖呀挖呀挖007 挑剔先生给出…

手游和应用出海资讯:三七新游首月收入突破700万元;领英尝试推出游戏功能以增加用户使用时长

NetMarvel帮助游戏和应用广告主洞察全球市场、获取行业信息&#xff0c;以下为9月第四周资讯&#xff1a; ● 《AFK Journey》收入突破 1.5 亿美元 ● 《黑神话&#xff1a;悟空》IGN年度游戏投票第一掉至第三 ● 三七发布新游首月收入突破700万元 ● 开罗游戏《哆啦A梦的铜锣烧…

Java SPI 原理、样例

在 Java 中&#xff0c;SPI&#xff08;Service Provider Interface&#xff09;全称为服务提供者接口&#xff0c;它是一种用于实现框架扩展和插件化的机制。 一、SPI 作用 允许在运行时动态地为接口查找服务实现&#xff0c;而不需要在代码中显式地指定具体的实现类。 这使得…

关系模型与关系代数——数据库原理 总结2

2.1 关系模型 关系数据结构 关系模型的数据结构是二维表&#xff0c;亦称为关系。关系数据库是表的集合&#xff0c;即关系的集合。表是一个实体集&#xff0c;一行就是一个实体&#xff0c;它由有关联的若干属性的值所构成。 关系模型的相关概念 列就是数据项 或 字段 或 属…

基于SpringCloud的微服务架构下安全开发运维准则

为什么要进行安全设计 微服务架构进行安全设计的原因主要包括以下几点&#xff1a; 提高数据保护&#xff1a;微服务架构中&#xff0c;服务间通信频繁&#xff0c;涉及到大量敏感数据的交换。安全设计可以确保数据在传输和存储过程中的安全性&#xff0c;防止数据泄露和篡改。…

Study--Oracle-09--部署Openfiler存储服务器

免费的存储服务器软件有FreeNAS 和 Openfiler。 其中Freenas的网站上只有i386及amd64的版本,也就是说Freenas不能支持64位版本的Intel CPU,而Openfiler则提供更全面的版本支持,在其网站上可以看到支持多网卡、多CPU,以及硬件Raid的支持,还有10Gb网卡的支持。 Openfiler能把…

【RocketMQ】RocketMQ发送不同类型消息

&#x1f3af; 导读&#xff1a;本文介绍了RocketMQ消息队列系统中的几种消息发送模式及其应用场景&#xff0c;包括同步消息、异步消息以及事务消息。同步消息确保了消息的安全性&#xff0c;但牺牲了一定的性能&#xff1b;异步消息提高了响应速度&#xff0c;适用于对响应时…

演示:基于WPF的DrawingVisual开发的频谱图和律动图

一、目的&#xff1a;基于WPF的DrawingVisual开发的频谱图和律动图 二、效果演示 波形图 极坐标 律动图极坐标图 律动图柱状图 Dock布局组合效果 三、环境 VS2022,Net7,Win10&#xff0c;NVIDIA RTX A2000 四、主要功能 支持设置起始频率&#xff0c;终止频率&#xff0c;中心…

【HTTP 和 HTTPS详解】3

HTTP 状态代码 HTTP 状态代码是服务器发送给客户端的三位数字&#xff0c;用于指示客户端请求的结果。它们分为五类&#xff1a;信息性&#xff08;100-199&#xff09;、成功&#xff08;200-299&#xff09;、重定向&#xff08;300-399&#xff09;、客户端错误&#xff08…

【移植】Combo解决方案之W800芯片移植案例

往期知识点记录&#xff1a; 鸿蒙&#xff08;HarmonyOS&#xff09;应用层开发&#xff08;北向&#xff09;知识点汇总 鸿蒙&#xff08;OpenHarmony&#xff09;南向开发保姆级知识点汇总~ 持续更新中…… 本方案基于 OpenHarmony LiteOS-M 内核&#xff0c;使用联盛德 W80…

[论文精读]Membership Inference Attacks Against Machine Learning Models

中文译名&#xff1a;针对机器学习模型的成员推理攻击 会议名称&#xff1a;2017 IEEE Symposium on Security and Privacy (SP) 发布链接&#xff1a;Membership Inference Attacks Against Machine Learning Models | IEEE Conference Publication | IEEE Xplore CODE:Git…

【计算机网络】Tcp报文的组成,Tcp是如何实现可靠传输的?

Tcp的报文组成 TCP&#xff08;传输控制协议&#xff09;是计算机网络中一种重要的传输协议&#xff0c;其报文组成包括多个字段&#xff0c;每个字段具有特定的含义。以下是TCP报文头的主要组成部分&#xff1a; 源端口号&#xff08;Source Port&#xff09;&#xff1a;占用…

C语言 | Leetcode C语言题解之第445题两数相加II

题目&#xff1a; 题解&#xff1a; struct ListNode* addTwoNumbers(struct ListNode* l1, struct ListNode* l2){int stack1[100];int stack2[100];int top1 0;int top2 0;int carry 0;int sum 0;struct ListNode* temp NULL;struct ListNode* head NULL;while (l1) {…

有关若依菜单管理的改造

导言&#xff1a; 搞了个后端对接若依前端&#xff0c;对接菜单管理时候懵懵的就搞完了&#xff0c;也是搞了很久。记一下逻辑和要注意的东西&#xff0c;以后做想似的能有个改造思路。 逻辑&#xff1a; 主要是要把后端传过的数组列表做成类似 这样的&#xff0c;所以要转格式…

git工具指令

下面是常用的Git命令清单&#xff0c;几个专用名称的译名如下&#xff1a; Workspace &#xff1a;工作区 Index /Stage&#xff1a;暂存区 Repository&#xff1a;仓库区&#xff08;或本地仓库&#xff09; Remote&#xff1a;远程仓库新建代码库 在当前目录新建一个Git代…

如何在银河麒麟操作系统中查看内存页大小

如何在银河麒麟操作系统中查看内存页大小 1、操作步骤2、注意事项 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 在操作系统中&#xff0c;内存页大小&#xff08;Page Size&#xff09;是一个重要的概念&#xff0c;它决定了操作系统如何…

GPT理论

1.GPT发展 Transformer是一个用作翻译任务的模型&#xff0c;谷歌出品。 GPT全称 lmproving Language Understanding by Generative Pre-Training&#xff0c;用预训练语言理解模型。OPENAI出品。 BERT全称Pre-training of Deep BidirectionalTransformers for Language Unde…