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

news2024/9/28 23:13:08

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.coloradmin.cn/o/2175074.html

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

相关文章

了解 如何使用同快充充电器给不同设备快速充电

在这科技发展迅速的时代&#xff0c;快充技术已经走进了我们生活&#xff0c;不得不说有了快充技术的对比&#xff0c;传统的充电模式已经满足不了人们对充电速度的要求。就比如用华为输出100 W快充充电器为手机充电大概需要23分钟充满100%电量&#xff0c;而传统的充电器则需要…

可以免费制作表情包的AI工具来了!

一直想自己制作一套表情包&#xff0c;但一直没有找到好用的工具&#xff0c;要么就是太麻烦&#xff0c;要么就是不免费。 今天AI表情包免费制作工具来了&#xff0c;手机就可以直接做表情包&#xff0c;非常方便。 先看效果~ 工具用到的是通义APP&#xff0c;可以在频道中找…

车辆重识别(利用扩散模型合成有效数据进行行人再识别预训练)论文阅读2024/9/27

[1]Synthesizing Efficient Data with Diffusion Models for Person Re-Identification Pre-Training 作者&#xff1a;Ke Niu1, Haiyang Yu1, Xuelin Qian2, Teng Fu1, Bin Li1, Xiangyang Xue1*单位&#xff1a;1复旦大学, 2西北工业大学 摘要&#xff1a; 现有的行人重识别…

若伊(前后端分离)学习笔记

基础应用篇 1. 若伊搭建 若伊版本 若依官方针对不同开发需求提供了多个版本的框架&#xff0c;每个版本都有其独特的特点和适用场景&#xff1a; 前后端混合版本 &#xff1a;RuoYi结合了SpringBoot和Bootstrap的前端开发框架&#xff0c;适合快速构建传统的Web应用程序&…

画两个数的平方和的曲线

代码1&#xff1a; from mpl_toolkits import mplot3d import numpy as np import matplotlib.pyplot as plt# Creating dataset x np.outer(np.linspace(-3, 3, 32), np.ones(32)) y x.copy().T # transpose z (x **2 y **2 )# Creating figure fig plt.figure(figsize …

Android Studio :The emulator process for AVD was killed。

问题描述&#xff1a; 创建虚拟器&#xff0c;点击运行后提示&#xff1a;<font style"color:rgb(34, 34, 38);">The emulator process for AVD was killed</font> 分析原因&#xff1a; 虚拟机安装路径中包含中文字符导致乱码 > Android Studio …

锦天云中秋之夜团圆家宴圆满成功

2024年9月7日&#xff0c;锦天云&#xff08;深圳&#xff09;计算机设备有限公司 在中国深圳成功举办了“融创智合•月满锦天 锦天云中秋之夜团圆家宴。本次盛会吸引了来自各行业的精英和合作伙伴&#xff0c;大家齐聚一堂&#xff0c;共同庆祝这一传统佳节&#xff0c;此次活…

Subdominator:一款针对漏洞奖励计划的子域名安全枚举工具

关于Subdominator Subdominator是一款针对漏洞奖励计划的子域名安全枚举工具&#xff0c;可用于在漏洞搜寻和侦察过程中进行被动子域名枚举。它旨在通过高效枚举子域名和各种免费被动资源来帮助研究人员和网络安全专业人员发现潜在的安全漏洞。 Subdominator 与各种免费和付费…

Comfyui 学习笔记2

在潜空间放大&#xff0c;三种方法&#xff1a;NNLatentUpscale、Upscale Latent、Upscale Latent&#xff0c;其中只有NNLatentUpscale自带模型优化&#xff0c;其他两种需要KSample重新绘画&#xff0c;NNLatentUpscale后也可以接KSmaple。 像素空间放大&#xff0c;同理&am…

attrs:Python的类装饰器(简化类定义)

在 Python 中&#xff0c;类定义和数据管理是非常常见的编程任务。然而&#xff0c;随着代码的复杂性增加&#xff0c;手动编写大量的 __init__、__repr__ 和 __eq__ 等方法可能会显得冗长和重复。为了解决这些问题&#xff0c;attrs 提供了一个简洁且强大的工具&#xff0c;帮…

HTML|基础|创建一个猫咪信息表单的最佳实践指南

创建一个猫咪信息表单的最佳实践指南 本文将指导你如何创建一个简单而有效的猫咪信息表单。我们将通过 HTML 代码的实例&#xff0c;介绍关键元素和最佳实践&#xff0c;确保表单既易于使用又符合标准。 0. 代码全貌 <!DOCTYPE html> <html lang"en">&…

机器学习:opencv--特征检测

目录 前言 一、 Harris 角点检测 1.基本思想 2.代码实现 二、 SIFT&#xff08;尺度不变特征变换&#xff09; 1.代码实现 前言 特征检测是计算机视觉中的一个重要任务&#xff0c;旨在从图像中提取具有辨识度的关键点或区域。这些特征可以用于后续的图像分析、匹配和识别…

江科大笔记—LED闪烁 LED流水灯 蜂鸣器

LED闪烁& LED流水灯& 蜂鸣器 LED闪烁 第一步&#xff0c;使用RCC开启GPIO时钟。 第二步&#xff0c;使用GPIO_Init函数初始化GPIO。 第三步&#xff0c;使用输出或输入的函数控制GPIO口。 RCC库函数 GPIO库函数&#xff08;先了解这些&#xff09; GPIO的8种输入模…

第十四届蓝桥杯真题Java c组A.求和(持续更新)

博客主页&#xff1a;音符犹如代码系列专栏&#xff1a;蓝桥杯关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ 【问题描述】 求1(含)至 20230408(含)中每个数的和。 【答案提交】 这是一道结…

景联文科技精准数据标注:优化智能标注平台,打造智能未来

景联文科技是一家致力于为人工智能提供全面数据标注解决方案的专业公司。 拥有一支由经验丰富的数据标注师和垂直领域专家组成的团队&#xff0c;确保数据标注的质量和专业性。 自建平台功能一站式服务平台&#xff0c;提供从数据上传、标注、审核到导出的一站式服务&#xff0…

【Linux】包管理器、vim详解及简单配置

&#x1f680;个人主页&#xff1a;小羊 &#x1f680;所属专栏&#xff1a;Linux 很荣幸您能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎 ~ 目录 前言一、包管理器1.1 apt1.2 yum 二、Linux编辑器——vim2.1 vim的三种模式2.2 vim普通模式常用命令2.2.1 移动…

【C++篇】启航——初识C++

引言 在编程语言的浩瀚海洋中&#xff0c;C以其强大的功能和灵活性脱颖而出。自1979年由Bjarne Stroustrup在贝尔实验室开发以来&#xff0c;C逐渐成为高性能应用和系统编程的首选语言。它不仅继承了C语言的高效特性&#xff0c;还引入了面向对象编程的概念&#xff0c;使得软…

9月28日

#ifndef WIDGET_H #define WIDGET_H //防止头文件重复包含#include <QWidget> #include<QIcon> #include<QDebug> #include<QPushButton> #include<QLabel> #include<QLineEdit>//ui_mywnd.h中的命名空间的声明 QT_BEGIN_NAMESPACE namesp…

多级侧边菜单(递归)

需要编写两个文件 aside-menu.vue 和 menu-item.vue menu-item.vue <script setup> defineOptions({name: MenuItem}) defineProps({menuList: Array}) </script><template><template v-for"menu of menuList"><!-- 如果当前有子菜单&a…

探索JMeterTools:一个Python驱动的JMeter脚本生成器

JMeterTools 简介 JMeterTools 是一个由 Python 编写的开源项目&#xff0c;旨在帮助测试人员快速生成 JMeter 测试脚本。通过简单的 Python API&#xff0c;用户可以方便地定义测试计划、线程组、HTTP 请求等&#xff0c;可以结合接口自动化测试项目&#xff0c;将接口自动化…