PetaLinux安装详解(Xilinx , linux, zynq, zynqMP)

1 概述

PetaLinux 工具提供在 Xilinx 处理系统上定制、构建和调配嵌入式 Linux 解决方案所需的所有组件。该解决方案旨在提升设计生产力,可与 Xilinx 硬件设计工具配合使用,以简化针对 Versal、Zynq™ UltraScale+™ MPSoC、Zynq™ 7000 SoC、和 MicroBlaze™ 的 Linux 系统开发。

PetaLinux 工具可帮助简化基于 Linux 产品的开发;您可以使用下列工具来完成从系统启动到执行的所有操作:

  • 命令行接口
  • 应用、器件驱动程序、库生成器以及开发模板
  • 可引导的系统映像生成器
  • 调试代理程序
  • GCC 工具
  • 集成的 QEMU 全系统仿真器
  • 自动化工具
  • 支持系统调试器

嵌入式软件与生态系统:
嵌入式软件与生态系统
使用这些工具,开发人员可以定制引导载入程序、Linux 内核或 Linux 应用。他们可以通过网络或 JTAG 在随附的全系统仿真器 (QEMU) 或物理硬件上添加新的内核、器件驱动程序、应用和库,以及启动并测试软件协议栈。

2 安装

本次安装软件版本是petalinux-v2020.1-final-installer.run

2.1 软硬件需求

2.1.1 硬件需求

硬件需求
硬件最小需求:

  • 8GB 内存
  • 2 GHZ CPU时钟
  • 100GB 系统硬盘

支持操作系统:

  • Red Hat Enterprise Workstation/Server 7.4,7.5,7.6,7.7(64-bit)
  • Centos Workstation/Server 7.4,7.5,7.6,7.7(64-bit)
  • Ubuntu Linux Workstation/Server 16.04.5,16.04.6,18.04.1,18.04.2,18.04.3,18.04.4 (64-bit)

这里选择操作系统Ubuntu 18.04

2.2.1 软件需求

在这里插入图片描述

  • 安装依赖软件
sudo dpkg --add-architecture i386
sudo apt-get updatesudo dpkg-reconfigure dashsudo localedef -v -c -i en_US -f UTF-8 en_US.UTF-8sudo apt install \iproute2 \gcc \g++ \net-tools \libncurses5-dev \zlib1g:i386 \libssl-dev \flex \bison \libselinux1 \xterm \autoconf \libtool \texinfo \zlib1g-dev \gcc-multilib \build-essential \screen \pax \gawk \python3 \python3-pexpect \python3-pip \python3-git \python3-jinja2 \xz-utils \debianutils \iputils-ping \libegl1-mesa \libsdl1.2-dev \pylint3 \rsync \cpio
  • 安装tftp
install tftp
$ sudo apt-get install tftp-hpa tftpd-hpa$ mkdir ~/tftpboot$ chmod 777 ~/tftpboot/$ sudo gedit /etc/default/tftpd-hpa# /etc/default/tftpd-hpa TFTP_USERNAME="tftp"TFTP_DIRECTORY="/home/james/tftpboot"    //tftpboot绝对路径TFTP_ADDRESS=":69"TFTP_OPTIONS="--secure  -l -c -s"$ service tftpd-hpa restart

2.2 安装

安装命令:

$ ./petalinux-v2020.1-final-installer.run

安装过程中选择默认就可以了

3 使用

3.1 启动环境配置

james@james-desktop:~$ source /opt/xilinx/petalinux/2020.1/settings.sh
PetaLinux environment set to '/opt/xilinx/petalinux/2020.1'
WARNING: This is not a supported OS
INFO: Checking free disk space
INFO: Checking installed tools
INFO: Checking installed development libraries
INFO: Checking network and other services
james@james-desktop:~$

3.2 使用

调用petalinux-create命令有如下输出,说明安装成功了。

james@james-desktop:~$ petalinux-create 
ERROR: No type is specified!
This command creates a new PetaLinux Project or componentUsage:petalinux-create [options] <-t|--type <TYPE> <-n|--name <COMPONENT_NAME>Required:-t, --type <TYPE>                     Available type:* project : PetaLinux project* apps    : Linux user application* modules : Linux user module-n, --name <COMPONENT_NAME>           specify a name for the component orproject. It is OPTIONAL to create aPROJECT. If you specify source BSP whenyou create a project, you are notrequired to specify the name.
Options:-p, --project <PROJECT>               specify full path to a PetaLinux projectthis option is NOT USED for PROJECT CREATION.default is the working project.--force                               force overwriting an existing componentdirectory.-h, --help                            show function usage--enable                              this option applies to all types exceptproject.enable the created component--srcuri				this option is to specify the source filesfrom outside project.This will copy specifiedfiles into recipe files directory and add toSRC_URI variable in .bb file.Specify the multiple files with space.Options for project:--template <TEMPLATE>                 versal|zynqMP|zynq|microblazeuser needs specify which template to use.-s|--source <SOURCE>                  specify a PetaLinux BSP as a projectsource.Options for apps:--template <TEMPLATE>                 <c|c++|autoconf|install>c   : c user application(default)c++ : c++ user applicationautoconf: autoconf user applicationinstall: install data onlyfpgamanager: autoload .dtbo and .bin filesEnable 'FPGA Manager' to build the fpgamanager apps.-s, --source <SOURCE>                 valid source name format:*.tar.gz, *.tgz, *.tar.bz2, *.tar,*.zip, app source directoryOptions for modules: (No specific options for modules)EXAMPLES:Create project from PetaLinux Project BSP:$ petalinux-create -t project -s <PATH_TO_PETALINUX_PROJECT_BSP>Create project from template:
For microblaze project,$ petalinux-create -t project -n <PROJECT> --template microblaze
For zynq project,$ petalinux-create -t project -n <PROJECT> --template zynq
For zynqMP project,$ petalinux-create -t project -n <PROJECT> --template zynqMP
For versal project,$ petalinux-create -t project -n <PROJECT> --template versalCreate an app and enable it:$ petalinux-create -t apps -n myapp --enable
The application "myapp" will be created with c template in:<PROJECT>/project-spec/meta-user/recipes-apps/myappCreate an app with remote sources:$ petalinux-create -t apps -n myapp --enable --srcuri http://example.tar.gz$ petalinux-create -t apps -n myapp --enable --srcuri git://example.git\;protocol=https$ petalinux-create -t apps -n myapp --enable --srcuri https://example.tar.gzCreate a FPGAmanager application to load .dtsi and .bit/.pdi$ petalinux-create -t apps --template fpgamanager -n gpio --enable
The application "gpio" will be created with the fpgamanager class
include to build .dtbo and .bin files which will load on target
boot time(default).
NOTE: Make sure you have enabled the 'FPGA manager' in petalinux-configCreate an app with local source files:$ petalinux-create -t apps --template fpgamanager -n gpio --enable --srcuri \"<path>/pl.dtsi <path>/system.bit"
This will create "gpio" application with pl.dtsi and system.bit added
to SRC_URI and copied to files directory.Create an module and enable it:$ petalinux-create -t modules -n mymodule --enable
The module "mymodule" will be created with template in:<PROJECT>/project-spec/meta-user/recipes-modules/mymoduleCreate an module with source files:$ petalinux-create -t modules -n mymodule --enable --srcuri "<path>/mymoudle.c <path>/Makefile"james@james-desktop:~$ 

参考文档:

  • PetaLinux 工具

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

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

相关文章

【机器学习】包裹式特征选择之序列后向选择法

&#x1f388;个人主页&#xff1a;豌豆射手^ &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f917;收录专栏&#xff1a;机器学习 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共同学习、交流进…

jvm(虚拟机)运行时数据区域介绍

Java虚拟机&#xff08;JVM&#xff09;运行时数据区域是Java程序在运行过程中使用的内存区域&#xff0c;它主要包括以下几个部分&#xff1a; 程序计数器&#xff08;Program Counter Register&#xff09;&#xff1a; 程序计数器是一块较小的内存区域&#xff0c;是线程私有…

uniapp 中引入第三方组件后,更改组件的样式 -使用/deep/不生效

在我们使用Vue搭建项目的时候&#xff0c;我们经常会用到一些UI框架&#xff0c;如Element&#xff0c;iView&#xff0c;但是有时候我们又想去修改Ul框架的样式&#xff0c;当我们修改样式失败的时候&#xff0c;可以尝试一下/deep/&#xff0c;亲测有效。 那失败的原因是什么…

STM32 串口 DMA 接收不定长数据的一种方法

1. 前言 使用串口接收不定长数据时&#xff0c;可以有多种方法&#xff0c;比如最常见的有额外使能一个定时器&#xff0c;在超过定时范围未收到后续的字节时&#xff0c;认为此帧结束&#xff1b;或者利用 IDLE 中断&#xff0c;当数据空闲时&#xff0c;自动产生中断&#x…

SpringCloud实用篇(一)

1.SpringCloud SpringCloud是目前国内使用最广泛的微服务框架。官网地址&#xff1a;Spring Cloud SpringCloud集成了各种微服务功能组件&#xff0c;并基于SpringBoot实现了这些组件的自动装配&#xff0c;从而提供了良好的开箱即用体验&#xff1a; SpringCloud与SpringBoo…

Win10环境下使用Ollama搭建本地AI

前言&#xff1a; 1、Ollama需要安装0.1.27版本&#xff0c;高于这个版本在执行Ollama run 指令时会频繁触发一些奇奇怪怪的问题。 2、4.3篇章是重点&#xff0c;若你需要使用web访问的话&#xff0c;莫要忘记&#xff01; 3、本文章适合新手。 4、篇章5中会介绍如何在vscode中…

探索PLC远程监控的未来:节约成本与提高效率的双赢之道

描述&#xff1a;随着工业自动化技术的飞速发展&#xff0c;PLC远程监控及程序上下载功能成为了行业的新宠&#xff0c;为企业节约成本&#xff0c;减少人员出差带来了革命性的改变。本文深入探讨了这一变革给自动化公司、客户和工程师带来的好处&#xff0c;以及谁是最大的受益…

基于TSINGSEE青犀AI视频智能分析技术的山区林区烟火检测方案

随着清明节的临近&#xff0c;山区、林区防火迫在眉睫&#xff0c;TSINGSEE青犀AI智能分析网关V4烟火检测算法利用物联网、人工智能、图像识别技术&#xff0c;有效监测和管理烟火活动&#xff0c;并在火灾发生的同时发出告警&#xff0c;通知护林员与管理人员。 将山区林区的视…

Leetcode 第 126 场双周赛题解

Leetcode 第 126 场双周赛题解 Leetcode 第 126 场双周赛题解题目1&#xff1a;3079. 求出加密整数的和思路代码复杂度分析 题目2&#xff1a;3080. 执行操作标记数组中的元素思路代码复杂度分析 题目3&#xff1a;3081. 替换字符串中的问号使分数最小思路代码复杂度分析 题目4…

[LeetCode]516. 最长回文子序列[记忆化搜索解法详解]

最长回文子序列 LeetCode 原题链接 题目 给你一个字符串 s &#xff0c;找出其中最长的回文子序列&#xff0c;并返回该序列的长度。 子序列定义为&#xff1a;不改变剩余字符顺序的情况下&#xff0c;删除某些字符或者不删除任何字符形成的一个序列。 示例 1&#xff1a…

Day46:WEB攻防-注入工具SQLMAPTamper编写指纹修改高权限操作目录架构

目录 数据猜解-库表列数据&字典 权限操作-文件&命令&交互式 提交方法-POST&HEAD&JSON 绕过模块-Tamper脚本-使用&开发 分析拓展-代理&调试&指纹&风险&等级 知识点&#xff1a; 1、注入工具-SQLMAP-常规猜解&字典配置 2、注入…

【有芯职说】数字芯片BES工程师

一、 数字芯片BES工程师简介 今天来聊聊数字芯片BES工程师&#xff0c;其中BES是Back End Support的缩写&#xff0c;就是后端支持的意思。其实这个岗位是数字IC前端设计和数字IC后端设计之间的一座桥&#xff0c;完成从寄存器传输级设计到具体工艺的mapping和实现。这个岗位在…

牛客小白月赛89(A,B,C,D,E,F)

比赛链接 官方视频讲解&#xff08;个人觉得讲的还是不错的&#xff09; 这把BC偏难&#xff0c;差点就不想做了&#xff0c;对小白杀伤力比较大。后面的题还算正常点。 A 伊甸之花 思路&#xff1a; 发现如果这个序列中最大值不为 k k k&#xff0c;我们可以把序列所有数…

Linux——信号的保存与处理

目录 前言 一、信号的常见概念 1.信号递达 2.信号未决 3.信号阻塞 二、Linux中的递达未决阻塞 三、信号集 四、信号集的处理 1.sig相关函数 2.sigprocmask()函数 3.sigpending()函数 五、信号的处理时机 六、信号处理函数 前言 在之前&#xff0c;我们学习了信号…

学习JavaEE的日子 Day32 线程池

Day32 线程池 1.引入 一个线程完成一项任务所需时间为&#xff1a; 创建线程时间 - Time1线程中执行任务的时间 - Time2销毁线程时间 - Time3 2.为什么需要线程池(重要) 线程池技术正是关注如何缩短或调整Time1和Time3的时间&#xff0c;从而提高程序的性能。项目中可以把Time…

如何使用Windows电脑部署Lychee私有图床网站并实现无公网IP远程管理本地图片

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法|MySQL| ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-MSVdVLkQMnY9Y2HW {font-family:"trebuchet ms",verdana,arial,sans-serif;f…

NB-IOT——浅谈NB-IOT及模块测试

浅谈NB-IOT及模块基本使用测试 介绍什么是NB-IOT&#xff1f;NB-IOT的特点 使用准备基本使用 总结 介绍 什么是NB-IOT&#xff1f; NB-IoT&#xff0c;即窄带物联网&#xff08;Narrowband Internet of Things&#xff09;&#xff0c;是一种低功耗广域物联网&#xff08;LPW…

MongoDB Atlas维护指南:常见类型、注意事项与窗口设置

为了给Atlas用户更好的产品体验&#xff0c;MongoDB产品团队会进行定期维护。 本文将会介绍&#xff1a; 常见维护项目种类及频率&#xff0c;注意事项维护期间的影响及建议维护窗口设置说明维护告警设置和邮件通知范例 维护窗口常见项目 定期SSL证书轮换软件升级&#xff…

Golang生成UUID

安装依赖 go get -u github.com/google/uuid示例 函数签名func NewV7() ( UUID ,错误) uid : uuid.NewV7()

Java八股文(数据结构)

Java八股文の数据结构 数据结构 数据结构 请解释以下数据结构的概念&#xff1a;链表、栈、队列和树。 链表是一种线性数据结构&#xff0c;由节点组成&#xff0c;每个节点包含了指向下一个节点的指针&#xff1b; 栈是一种后进先出&#xff08;LIFO&#xff09;的数据结构&a…