ZYNQ实验--Petalinux 安装

news2024/11/27 2:48:14

一、Petalinux 简介

   PetaLinux是一个由Xilinx公司提供的嵌入式Linux开发工具套件,专门用于在Xilinx器件上构建、定制和部署嵌入式Linux系统。这个工具套件旨在简化嵌入式系统的开发过程,特别是针对使用Xilinx的可编程逻辑器件的系统。PetaLinux是Xilinx zynq 的嵌入式 Linux 软件开发工具,它用来裁剪和生成 zynq 的操作系统,并不是 Linux 本身。

二、Petalinux 安装

2.1 软件版本

   Petalinux对软件版本有要求,Xilinx的各个工具应该保存版本一致,因此一定要注意下载的版本。我一直使用的都是Vivado2018版本,因此我这里的各种软件都装的和2018版本适配的。本文使用的软件如下: Ubuntu 16.04 LTS、petalinux-v2018.3、Xilinx_SDK_2018.3。

petalinux-v2018.3、Xilinx_SDK_2018.3 安装包从Windows下载好后我通过共享文件夹上传到了Ubuntu中
在这里插入图片描述

2.2 安装依赖库

在安装 Petalinux 之前我们需要为 Ubuntu 系统安装一些必要的运行软件以及依赖库,使用以下命令下载这个命令是一整个的一次性输入即可。

sudo apt-get install tofrodos iproute2 gawk gcc g++ git make net-tools libncurses5-dev \
tftpd zlib1g:i386 libssl-dev flex bison libselinux1 gnupg wget diffstat chrpath socat \
xterm autoconf libtool tar unzip texinfo zlib1g-dev gcc-multilib build-essential \
libsdl1.2-dev libglib2.0-dev screen pax gzip automake

在这里插入图片描述

2.3 安装 Petalinux

安装 Petalinux 就要考虑安装位置了,将其放在 /opt 目录下。在 /opt 目录下新建专门存放 Petalinux 的文件夹,如 /opt/pkg/petalinux/2018.3,在终端输入以下命令即可:

sudo chown -R $USER:$USER /opt
mkdir -p /opt/pkg/petalinux/2018.3

chown 命令将/opt 目录的属主和属组更改为当前的用户名,$USER 写 Ubuntu 用户名,我的系统执行的 chown 命令就相当于 sudo chown -R dzq:dzq /opt ,然后通过 mkdir 创建安装目录。执行安装命令将Petalinux安装在我们指定的目录中,安装时需要先等待一段时间。

具体操作如下图所示
在这里插入图片描述
检查完后,会跳出安装协议,回车会进入协议。按Q退出可退出协议,之后还会询问我们是否同意一些协议,全部同意后等待Petalinux安装完成。
在这里插入图片描述

2.4 修改bash

Petalinux 工具需要主机系统的/bin/sh是 bash,而 Ubuntu 默认的/bin/sh 是 dash(shell 指令类型),这里需要进行更改。sudo dpkg-reconfigure dash 取消dash为默认 shell。
在这里插入图片描述

2.5 设置 Petalinux 环境变量

在正式使用 petalinux 工具之前,需要先运行 petalinux 安装目录下的 settings.sh 脚本文件设置 petalinux 工作环境,settings.sh 脚本用于 bash,还有一个 settings.csh 用于 C shell。
在这里插入图片描述
继续在当前目录下执行—>第一句设置环境变量,第二句查看环境变量设置

source settings.sh
echo $PETALINUX

鉴于每次打开终端使用 Petalinux 都需要设置相应的环境变量,可将设置Petalinux 环境变量的命令设置成别名。在终端输入如下命令(环境变量设置成功时才可以用):

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

以后打开终端后输入 sptl 就可以设置 Petalinux 的环境变量了,sptl == source 安装的Petalinux路径/settings.sh在这里插入图片描述

2.6 安装XSDK

  在 Petalinux 的下载页面,会看到软件开发套件独立 Web 安装客户端这个就是用来开发 Linux 应用的软件,使用这个软件开发 Linux 应用,既方便了工程管理,也免去了自己写 Makefile 的必要。这个软件 Vivado 中使用的 SDK 是一样的,只不过那个是安装在 Windows 系统下的和 Vivado 捆绑在一起的,而这个是独立的。如果是将 Vivado 安装在 Linux 系统中,就不需要安装该软件。这个软件安装比较简单过程都是UI的界面就不做记录了,需要该软件的话下载好对应版本安装包安装即可。

参考资料

  1. 正点原子 《领航者 ZYNQ 之嵌入式 Linux 开发指南》
  2. ZYNQ7020教程《ZYNQ 开发平台 Linux 应用教程》

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

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

相关文章

基于SpringBoot的教务管理系统

基于SpringBoot的教务管理系统 教务管理系统开发技术功能模块代码结构运行截图数据库源码获取 教务管理系统 欢迎访问此博客,是否为自己的毕业设计而担忧呢?是否感觉自己的时间不够做毕业设计呢?那你不妨看一下下面的文章! 开发…

基于单片机无人售货机仿真及源程序

一、系统方案 1、本设计采用51单片机作为主控器。 2、商品选择,购买数量选择,投币,液晶1602显示。 3、电机模拟出货。 二、硬件设计 原理图如下: 三、单片机软件设计 1、首先是系统初始化 void lcd_1602_init() //LCD1602初始…

实用干货丨Eolink Apikit 配置和告警规则的各种用法

API在运行过程中可能会遇到各种异常情况,如响应时间过长、调用频率过高、请求参数错误等,这些异常会对系统的稳定性和性能产生严重影响。因此,对API进行异常监控和告警是非常必要的。本文将介绍 Eolink Apikit 中使用的告警规则,帮…

UWA Pipeline 2.5.1 版本更新说明

UWA Pipeline是一款面向游戏开发团队的本地协作平台,旨在为游戏开发团队搭建专属的DevOps研发交付流水线,提供可视化的CICD操作界面、高可用的自动化测试以及UWA性能保障服务的无缝贴合等实用功能。 近期UWA Pipeline迎来2.5.1版本更新,进一…

【小黑送书—第六期】>>AI时代,程序员如何应对挑战——《AI时代系列书籍》

在AI时代,程序员面临着新的机遇和挑战。为了适应这个快速发展的时代,掌握新技能并采取相应的应对策略是至关重要的。 对于办公人员或程序员来说,利用AI可以提高工作效率。例如,使用AI助手可以帮助自动化日常的重复性工作&#xff…

软件测试方案该怎么做?

做某项工作之前都需要有个计划或方案,软件测试亦如此。软件测试方案就是描述测试目的、范围、方法和软件测试的重点等文档。对于验证软件产品的可接受程度编写测试计划文档是一种有用的方式,可以使测试工作和整个开发工作融合起来,让资源和变…

微信公众号会员系统怎么做

一、引言 在这个信息爆炸的时代,微信公众号已经成为了企业和个人品牌的重要宣传阵地。而在公众号运营过程中,会员系统是非常重要的一环。通过建立会员系统,你可以更好地管理粉丝、提升用户黏性,让你的品牌更加强大。本文将为你详…

Golang实现一个一维结构体,根据某个字段排序

package mainimport ("fmt""sort" )type Person struct {Name stringAge int }func main() {// 创建一个一维结构体切片people : []Person{{"Alice", 25},{"Bob", 30},{"Charlie", 20},{"David", 35},{"Eve…

Redis缓存击穿、雪崩、穿透!(超详细)

作者前言: 为了解决Redis的缓存的问提也是在网上找了很多文章来了解,我感觉这篇文章非常好,希望大家了解一下,也是吧这篇文章归类了一下,可以直接在目录中找 缓存的击穿、穿透和雪崩应该是再熟悉不过的词了,也是面试常问的高频试题。 不过,…

用户的生命周期

用户生命周期是指用户在产品使用过程中的状态变化,一般分为5个阶段,分别为引入期、成长期、成熟期、沉默期和流失期。用户生命周期能够反映不同阶段用户的状态,可根据用户的不同状态进行针对性运营。运营中常说的拉新、促活、留存就是基于用户…

基于Java+Vue+uniapp微信小程序商品展示系统设计和实现

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

每日汇评:积极的数据可能会推动澳元/美元的上涨

继 9 月份增加 6700 个就业岗位之后,澳大利亚 10 月份预计将增加 18000 个就业岗位; 失业率预计将从 3.6% 升至 3.7%,维持在历史低点附近; 澳元/美元在美元疲软的支撑下维持看涨基调, 其面临关键阻力位0.6520&#xff…

go语言学习之旅之安装sdk环境,hello world!

学无止境 为什么学习Go语言 高效编程: Go语言被设计为一门高效的编程语言。其编译速度快,执行速度也相对较快,适合用于构建高性能的应用程序。 并发支持: Go语言天生支持并发编程,通过goroutine和channel提供了简单而…

【C语言 | 数组】C语言数组详解(经典,超详细)

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…

Git学习(黑马程序员)

基本配置 在用户目录下创建文件.bashrc 1打开Git Bash 2 在目录下输入指令: touch ~/.bashrc在文件中写入内容: #用于输出git提交日志 alias git-loggit log --prettyoneline --all --graph --abbrev-commit #用于输出当前目录所有文件及基本信息 al…

3.4-初识Container

常用的docker container命令: 1、基于image创建docker container命令: docker run lvdapiaoliang/hello-docker 2、列举当前本地正在运行的container容器命令: docker container ls 3、列举当前本地所有的container容器命令(包括正在运行的和…

3DMAX建模基础教程:可渲染和封闭二维样条线

在3D建模中,可渲染和封闭的二维样条线对于创建复杂的模型和场景至关重要。以下是一些关于如何在3DMAX中建模基础教程,帮助你掌握可渲染和封闭的二维样条线的使用。 1. 创建新的样条线 首先,选择“图形”菜单,然后选择“样条线”…

如何利用PCB创建PCB封装库

如何利用PCB创建PCB封装库 首先你要活得PCB工程文件,然后利用Altium Designer将工程文件打开,如下图所示: 然后选择工具栏“设计”->“生成PCB库(P)”,如下图: 最后将生成的库文件保存到指…

kubernetes集群编排(10)

目录 prometheus监控 部署prometheus 部署nginx监控实例 部署prometheus-adapter prometheus监控 部署prometheus 创建项目仓库并上传镜像 [rootk8s2 helm]# vim prometheus-values.yaml alertmanager:alertmanagerSpec:image:repository: prometheus/alertmanagertag: v0.24.0…

《中国北斗产业发展指数报告》发布,北斗产业化水平稳步提升

《中国北斗产业发展指数报告》发布,北斗产业化水平稳步提升 11月9日,在浙江德清举办的第一届中国测绘地理信息大会上,中国卫星导航定位协会首次发布《中国北斗产业发展指数报告》。 报告显示,当前国产北斗芯片出货量已超亿级规模&…