当前位置: 首页 > news >正文

PetaLinux工程的常用命令——petalinux-create

petalinux-create:此命令创建新的PetaLinux项目或组件。

注:有些命令我没用过,瞎翻译有可能会翻译错了,像是和fpgamanager相关的部分。

用法:

  petalinux-create [options] <-t|--type <TYPE> <-n|--name <COMPONENT_NAME>


必须参数:

  -t, --type <TYPE>                     

        可选类型:
        * project : PetaLinux项目
        * apps    : Linux用户程序
        * modules : Linux用户模块

  -n, --name <COMPONENT_NAME>
        为组件或项目指定名称。【对创建项目而言,该选项不一定需要提供】,如果在创建项目时指定了源BSP,则不需要指定名称。


可选参数:

  -p, --project <PROJECT>
        指定PetaLinux项目的完整路径。此选项【不适用于项目创建】。默认值是当前的Shell工作路径。

  --force
        强制覆盖现有组件目录。

  -h, --help
        显示函数用法。

  --enable
        此选项适用于【除项目之外】的所有类型。启用创建的组件

  --static-pn
        此选项用于指定使用fpgamanager_dtg创建的包名,以便在fpgamanager_dtg_dfx中使用。注意:这仅支持versal和zynqmp。

  --srcuri
        此选项用于指定来自项目外部的源文件。这将把指定的文件复制到配方文件目录中,并添加到.bb文件中的SRC_URI变量中。指定多个带空格的文件。

  --tmpdir
        用于创建项目时,将一个本地驱动器路径指定为TMPDIR位置。
        默认情况下TMPDIR不能在NFS下。默认情况下,当项目在NFS上时,petalinux将在/tmp下设置TMPDIR。您可以使用--tmpdir选项将自己的本地驱动器设置为TMPDIR PATH。


用于创建项目的可选参数:

  --template <TEMPLATE>                 
        versal-net|versal|zynqMP|zynq|microblaze
        用户需要选用上述枚举指定项目模板。

-s|--source <SOURCE>
        指定一个PetaLinux BSP作为项目源。


用于创建用户程序可选参数:

  --template <TEMPLATE>
        <c|c++|autoconf|install>
        c: C语言程序(默认)
        c++: C++程序
        autoconf: autoconf程序
        install: 仅安装数据
        fpgamanager: 将.dtbo、.bin、shell.json和.xclbin文件打包到rootfs中,支持versal、zyntmp和zynq。
        fpgamanger_dtg: 提取.xsa文件并将.dtbo、.bin/.pdi、shell.json和.xclbin文件打包到rootfs中,支持versal、zyntmp和zynq。
        fpgamanager_dtg_dfx: 提取DFX部分的.xsa文件,并将.dtbo、.bin/.pdi和shell.json文件打包到根目录中。仅支持versal和zynqmp。
        fpgamanager_dtg_csoc: 提取经典soc部分的.xsa文件,并将.dtbo、.bin/.pdi和shell.json文件打包到根目录中。仅支持versal。

  -s, --source <SOURCE>
        有效的源名称格式:
        *.tar.gz, *.tgz, *.tar.bz2, *.tar,
        *.zip, app source directory


用于创建模块的可选参数:

(无)


创建项目的例子:

使用一个PetaLinux的BSP包创建项目:
  $ petalinux-create -t project -s <PATH_TO_PETALINUX_PROJECT_BSP>

使用PetaLinux的BSP包创建项目并指定TMPDIR路径:
  $ petalinux-create -t project -s <PATH_TO_PETALINUX_PROJECT_BSP> --tmpdir <TMPDIR PATH>

使用模板创建项目并指定TMPDIR路径:
  $ petalinux-create -t project -n <PROJECT> --template <TEMPLATE> --tmpdir <TMPDIR PATH>

使用模板创建项目:
对于microblaze项目,
  $ petalinux-create -t project -n <PROJECT> --template microblaze
对于zynq项目,
  $ petalinux-create -t project -n <PROJECT> --template zynq
对于zynqMP项目,
  $ petalinux-create -t project -n <PROJECT> --template zynqMP
对于versal项目,
  $ petalinux-create -t project -n <PROJECT> --template versal
对于versal-net项目,
  $ petalinux-create -t project -n <PROJECT> --template versal-net


创建应用程序的例子:

创建并启用应用程序:
  $ petalinux-create -t apps -n myapp --enable
名为"myapp"的应用将使用C语言程序模板创建在以下路径:
  <PROJECT>/project-spec/meta-user/recipes-apps/myapp

使用远程源创建应用程序:
  $ 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.gz

创建一个FPGA管理器应用程序,将.dtsi和.bit安装到根目录的(/lib/formance/xlinx)中:
  $ petalinux-create -t apps --template fpgamanager -n gpio --enable
将创建一个名为 "gpio" 的应用程序,它使用了 fpgamanager_custom 类来构建 .dtbo、.bin 和 shell.json 文件,这些文件将被安装到目标设备上。

使用本地源文件创建应用程序:
  $ petalinux-create -t apps --template fpgamanager -n gpio --enable --srcuri "<path>/pl.dtsi <path>/system.bit <path>/shell.json"
这将创建一个名为 "gpio" 的应用程序,并将 pl.dtsi、system.bit 和 shell.json 文件添加到 SRC_URI 变量中,并且这些文件会被复制到 files 目录下。

创建一个FPGAmanager_dtg应用程序来提取xsa,并将.dtsi和.bit文件安装到根目录下的(/lib/formance/xlinx)中:
  $ petalinux-create -t apps --template fpgamanager_dtg -n gpio --enable --srcuri "<path>/gpio.xsa <path>/shell.json"
这将创建一个名为 "gpio" 的应用程序,该应用程序使用fpgamanager_dtg 类创建,并且将 gpio.xsa 和 shell.json 文件添加到 SRC_URI 变量中,随后这些文件会被复制到 files 目录下。

创建一个FPGAmanager_tg_dfx应用程序来提取xsa,并将.dtsi和.pdi安装到根目录的(/lib/formance/xlinx)中:
要创建fpgamanager_dtg_dfx,我们应该使用以下命令使用fpgamanager_dtg模板创建STATIC应用程序:
  $ petalinux-create -t apps --template fpgamanager_dtg -n static-app --enable --srcuri "<path>/static.xsa <path>/shell.json"

使用fpgamanager_dtg_dfx创建RP/RM应用程序:
  $ petalinux-create -t apps --template fpgamanager_dtg_dfx -n rprm-app --enable --srcuri "<path>/rprm.xsa <path>/shell.json" --static-pn "static-app"
上述命令将使用fpgamanager_dtg_dfx类创建“rprm app”应用程序,“static-app”将作为依赖项添加到“rprm apps”中。

创建一个FPGAmanager_dtg_csoc应用程序来提取xsa并将.dtsi和.pdi安装到根目录下的(/lib/formance/xlinx)中
  使用fpgamanager_dtg_csoc创建RP/RM应用程序:

  $ petalinux-create -t apps --template fpgamanager_dtg_csoc -n rprm-app --enable --srcuri "<path>/rprm.xsa <path>/shell.json"
上述命令将使用fpgamanager_dtg_csoc类创建“rprm app”应用程序。csoc应用程序将使用基本xsa作为静态xsa来生成rprm dtbo文件。


创建模块的例子:

创建一个模块并启用它:
  $ petalinux-create -t modules -n mymodule --enable
名为"mymodule"的模块将被使用下述路径的模板创建:
  <PROJECT>/project-spec/meta-user/recipes-modules/mymodule

使用源创建模块:
  $ petalinux-create -t modules -n mymodule --enable --srcuri "<path>/mymoudle.c <path>/Makefile"
 

相关文章:

PetaLinux工程的常用命令——petalinux-create

petalinux-create&#xff1a;此命令创建新的PetaLinux项目或组件。 注&#xff1a;有些命令我没用过&#xff0c;瞎翻译有可能会翻译错了&#xff0c;像是和fpgamanager相关的部分。 用法: petalinux-create [options] <-t|--type <TYPE> <-n|--name <COMPONEN…...

Unity的Compute Shader如何进行同步?

在Unity的Compute Shader中&#xff0c;同步的概念与常规的CPU编程有所不同&#xff0c;因为Compute Shader主要是并行地在GPU上执行大量简单任务。GPU的设计初衷就是为了并行处理大量数据&#xff0c;因此Compute Shader的执行通常被设计为异步的&#xff0c;并且不直接受到CP…...

大数据-171 Elasticsearch ES-Head 与 Kibana 配置 使用 测试

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…...

git 与 github 同步

1.配置账户 git config --global user.name "你的用户名" git config --global user.email "你的邮箱" 2.输入命令创建ssh key $ ssh-keygen -t rsa -C "邮箱" //你自己注册GitHub的邮箱 输入命令之后提示输入密码&#xff0c;回车直到出现…...

数学建模算法与应用 第10章 多元分析及其方法

目录 10.1 因子分析 Matlab代码示例&#xff1a;因子分析 10.2 主成分分析 Matlab代码示例&#xff1a;主成分分析 10.3 典型相关分析 Matlab代码示例&#xff1a;典型相关分析 10.4 判别分析 Matlab代码示例&#xff1a;线性判别分析 10.5 对应分析 Matlab代码示例&a…...

西门子828d的plc一些信息记录

1、虽然是200的plc但是引入了DB的形式替代原来的V存储区。 2、用户自定义DB块范围&#xff0c;DB9000-DB9063,共64个DB块。 可用地址范围如上图 机床MCP483面板地址表&#xff0c;其它类型的面板地址自己在828d简明调试手册里查看。 如何上载828d的plc程序&#xff1a; 1.通…...

为啥我的Python这么慢 - 项查找 (二)

上一篇为啥我的Python这么慢, 字符串的加和和join被陈群主分享到biopython-生信QQ群时&#xff0c;乐平指出字典的写法存在问题&#xff0c;并给了一篇知乎的链接https://zhuanlan.zhihu.com/p/28738634指导如何高效字典操作。 根据那篇文章改了两处写法&#xff0c;如下 (存储…...

计算机毕业设计python+spark知识图谱课程推荐系统 课程预测系统 课程大数据 课程数据分析 课程大屏 mooc慕课推荐系统 大数据毕业设计

指导教师意见&#xff1a; 1&#xff0e;对“文献综述”的评语&#xff1a; 对教育领域数据可视化的相关背景和现状做了综述&#xff0c;明确了课题的研究目标和研究重点&#xff0c;并对研究手段进行了概述。为后面的毕业设计做好了准备。 对本课题的深度、广度及工作量的…...

阿里 C++面试,算法题没做出来,,,

我本人是非科班学 C 后端和嵌入式的。在我面试的过程中&#xff0c;竟然得到了阿里​ C 研发工程师的面试机会。因为&#xff0c;阿里主要是用 Java 比较多&#xff0c;C 的岗位比较少​&#xff0c;所以感觉这个机会还是挺难得的。 阿里 C 研发工程师面试考了我一道类似于快速…...

【自动驾驶汽车通讯协议】GMSL通信技术以及加串器(Serializer)解串器(Deserializer)介绍

文章目录 0. 前言1. GMSL技术概述2. 为什么需要SerDes&#xff1f;3. GMSL技术特点4.自动驾驶汽车中的应用5. 结论 0. 前言 按照国际惯例&#xff0c;首先声明&#xff1a;本文只是我自己学习的理解&#xff0c;虽然参考了他人的宝贵见解及成果&#xff0c;但是内容可能存在不准…...

Uiautomator2与weditor配置一直报错咋办

作者在配置这两个的时候绞尽脑汁了&#xff0c;u2的init总是报错并且无法自动在手机上安装atx&#xff0c;weditor可以打开但是只要对元素操作或者任意操作就会让你去重新init&#xff0c;搞得作者焦头烂额&#xff0c;而且网上各种各样的报错信息眼花缭乱&#xff0c;作者几乎…...

Java后端面试题:MySQL篇

目录 MySQL基础部分 1. SELECT语句完整的执行顺序是什么&#xff1f; 2. 说一说内连接和外连接。 3. 请说说数据库三大范式。 4. 请你说说视图的作用&#xff0c;视图可以更改么&#xff1f; 架构 5. 请你说一说MySQL架构。 6. 请你说说一条SQL语句的执行过程&#xff…...

# Excel 操作大全

Excel 操作大全 文章目录 Excel 操作大全单元格文本换行计算SUM 单元格 文本换行 设置自动换行&#xff0c;在文本前面使用 AltEnter键即可换行文本前面可以输入空格实现段前缩进的效果 计算SUM 求和函数...

javascript中快速获取最大值和最小值

在 ES6 中&#xff0c;你可以使用 Math.max 和 Math.min 函数来获取一组数字中的最大值和最小值。这两个函数都接受一个可变数量的参数&#xff0c;并返回这些参数中的最大值或最小值。 以下是一个示例&#xff1a; const numbers [1, 2, 3, 4, 5];const max Math.max(...n…...

git merge啥意思

git merge 是 Git 中的一个命令&#xff0c;用于将一个分支的更改合并到另一个分支中。当你在一个项目中有多个开发人员同时工作&#xff0c;或者你在不同的特性分支上开发新功能时&#xff0c;git merge 命令就非常有用。它可以帮助你将不同分支上的更改整合在一起。 git mer…...

Web编程---Servlet技术

文章目录 一、目的二、原理三、过程1. TestServlet02文件演示效果2. TestServlet03文件演示效果3. TestServlet04与TestServlet05文件演示效果4. 控制台展示生命周期过程 四、代码web.xml文件TestServlet02.java文件TestServlet03.java文件TestServlet04.java文件TestServlet05…...

【cocos creator】输入框滑动条联动小组建

滑动条滑动输入框内容会改变 输入框输入&#xff0c;滑动条位置改变 const { ccclass, property } cc._decorator;ccclass() export default class SliderEnter extends cc.Component {property({ type: cc.Float, displayName: "最大值", tooltip: "" }…...

Flink时间窗口程序骨架结构

前言 Flink 作业的基本骨架结构包含三部分&#xff1a;创建执行环境、定义数据处理逻辑、提交并执行Flink作业。 日常大部分 Flink 作业是基于时间窗口计算模型的&#xff0c;同样的&#xff0c;开发一个Flink时间窗口作业也有一套基本的骨架结构&#xff0c;了解这套结构有助…...

计算机视觉之可做什么

1、计算机视觉的应用 计算机视觉在我们生活中已经有了很广泛的应用&#xff0c;在我们可见、不可见&#xff1b;可感知、不可感知的地方&#xff0c;深深地影响了我们的生活、生产方式。 日常生活&#xff1a;美颜相机、火车站刷脸进站、线上办理业务的身份认证、自动驾驶等等…...

观察者模式的思考

观察者模式由来 观察者模式&#xff08;Observer Pattern&#xff09;是一种行为型设计模式&#xff0c;它的起源可以追溯到20世纪90年代初&#xff0c;由设计模式四人帮&#xff08;Erich Gamma, Richard Helm, Ralph Johnson 和 John Vlissides&#xff09;在其著作《设计模…...

Java如何权衡是使用无序的数组还是有序的数组

在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...

在四层代理中还原真实客户端ngx_stream_realip_module

一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡&#xff08;如 HAProxy、AWS NLB、阿里 SLB&#xff09;发起上游连接时&#xff0c;将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后&#xff0c;ngx_stream_realip_module 从中提取原始信息…...

《通信之道——从微积分到 5G》读书总结

第1章 绪 论 1.1 这是一本什么样的书 通信技术&#xff0c;说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号&#xff08;调制&#xff09; 把信息从信号中抽取出来&am…...

Rust 异步编程

Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

优选算法第十二讲:队列 + 宽搜 优先级队列

优选算法第十二讲&#xff1a;队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码

目录 一、&#x1f468;‍&#x1f393;网站题目 二、✍️网站描述 三、&#x1f4da;网站介绍 四、&#x1f310;网站效果 五、&#x1fa93; 代码实现 &#x1f9f1;HTML 六、&#x1f947; 如何让学习不再盲目 七、&#x1f381;更多干货 一、&#x1f468;‍&#x1f…...

HubSpot推出与ChatGPT的深度集成引发兴奋与担忧

上周三&#xff0c;HubSpot宣布已构建与ChatGPT的深度集成&#xff0c;这一消息在HubSpot用户和营销技术观察者中引发了极大的兴奋&#xff0c;但同时也存在一些关于数据安全的担忧。 许多网络声音声称&#xff0c;这对SaaS应用程序和人工智能而言是一场范式转变。 但向任何技…...

提升移动端网页调试效率:WebDebugX 与常见工具组合实践

在日常移动端开发中&#xff0c;网页调试始终是一个高频但又极具挑战的环节。尤其在面对 iOS 与 Android 的混合技术栈、各种设备差异化行为时&#xff0c;开发者迫切需要一套高效、可靠且跨平台的调试方案。过去&#xff0c;我们或多或少使用过 Chrome DevTools、Remote Debug…...

41道Django高频题整理(附答案背诵版)

解释一下 Django 和 Tornado 的关系&#xff1f; Django和Tornado都是Python的web框架&#xff0c;但它们的设计哲学和应用场景有所不同。 Django是一个高级的Python Web框架&#xff0c;鼓励快速开发和干净、实用的设计。它遵循MVC设计&#xff0c;并强调代码复用。Django有…...

【版本控制】GitHub Desktop 入门教程与开源协作全流程解析

目录 0 引言1 GitHub Desktop 入门教程1.1 安装与基础配置1.2 核心功能使用指南仓库管理日常开发流程分支管理 2 GitHub 开源协作流程详解2.1 Fork & Pull Request 模型2.2 完整协作流程步骤步骤 1: Fork&#xff08;创建个人副本&#xff09;步骤 2: Clone&#xff08;克隆…...