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

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

大数据-171 Elasticsearch ES-Head 与 Kibana 配置 使用 测试
点一下关注吧!!!非常感谢!!持续更新!!! 目前已经更新到了: Hadoop(已更完)HDFS(已更完)MapReduce(已更完&am…...

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

数学建模算法与应用 第10章 多元分析及其方法
目录 10.1 因子分析 Matlab代码示例:因子分析 10.2 主成分分析 Matlab代码示例:主成分分析 10.3 典型相关分析 Matlab代码示例:典型相关分析 10.4 判别分析 Matlab代码示例:线性判别分析 10.5 对应分析 Matlab代码示例&a…...

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

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

计算机毕业设计python+spark知识图谱课程推荐系统 课程预测系统 课程大数据 课程数据分析 课程大屏 mooc慕课推荐系统 大数据毕业设计
指导教师意见: 1.对“文献综述”的评语: 对教育领域数据可视化的相关背景和现状做了综述,明确了课题的研究目标和研究重点,并对研究手段进行了概述。为后面的毕业设计做好了准备。 对本课题的深度、广度及工作量的…...

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

【自动驾驶汽车通讯协议】GMSL通信技术以及加串器(Serializer)解串器(Deserializer)介绍
文章目录 0. 前言1. GMSL技术概述2. 为什么需要SerDes?3. GMSL技术特点4.自动驾驶汽车中的应用5. 结论 0. 前言 按照国际惯例,首先声明:本文只是我自己学习的理解,虽然参考了他人的宝贵见解及成果,但是内容可能存在不准…...

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

Java后端面试题:MySQL篇
目录 MySQL基础部分 1. SELECT语句完整的执行顺序是什么? 2. 说一说内连接和外连接。 3. 请说说数据库三大范式。 4. 请你说说视图的作用,视图可以更改么? 架构 5. 请你说一说MySQL架构。 6. 请你说说一条SQL语句的执行过程ÿ…...

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

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

git merge啥意思
git merge 是 Git 中的一个命令,用于将一个分支的更改合并到另一个分支中。当你在一个项目中有多个开发人员同时工作,或者你在不同的特性分支上开发新功能时,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】输入框滑动条联动小组建
滑动条滑动输入框内容会改变 输入框输入,滑动条位置改变 const { ccclass, property } cc._decorator;ccclass() export default class SliderEnter extends cc.Component {property({ type: cc.Float, displayName: "最大值", tooltip: "" }…...

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

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

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

ORACLE SELECT INTO 赋值为空,抛出 NO DATA FOUND 异常
例子: DECLARE ORDER_NUM VARCHAR2(20); BEGIN SELECT S.ORDER_NUM INTO ORDER_NUM FROM SALES_ORDER S WHERE S.ID122344; DBMS_OUTPUT.PUT_LINE(单号: || ORDER_NUM); END; 在查询结果为空的情况下,以上代码会报错:未找到任何数据 解决方…...

GPT提示词
参考 提示词大全: GPT提示词大全(中英文双语)持续更新 提示词.com...

Redis协议详解及其异步应用
目录 一、Redis Pipeline(管道)概述优点使用场景工作原理Pipeline 的基本操作步骤C 示例(使用 [hiredis](https://github.com/redis/hiredis) 库) 二、Redis 事务概述事务的前提事务特征(ACID 分析)WATCH 命…...

LeetCode213:打家劫舍II
题目链接:213. 打家劫舍 II - 力扣(LeetCode) 代码如下 class Solution { public:int rob(vector<int>& nums) {if(nums.size() 0) return 0;if(nums.size() 1) return nums[0];if(nums.size() 2) return max(nums[0…...

linux一二三章那些是重点呢
第一章 静态库动态库的区别 什么是库 库文件是计算机上的一类文件,可以简单的把库文件看成一种代码仓库,它提供给使用者一些可以直接 拿来用的变量、函数或类。 如何制作 静态动态库 静态库: GCC 进行链接时,会把静态库中代码打…...

C语言中的程序入口:超越main函数的探索
在C语言中,尽管main函数是标准程序的默认入口点,但借助编译器特性和链接器选项,我们可以指定其他函数作为程序的入口。GCC编译器通过-e选项,允许我们将任何符合签名的函数作为程序的入口。这一特性可以用于特定的实验需求、特定系…...

《面试之MQ篇》
《面试之MQ篇》 1. 为什么要使用MQ 首先,面试官问的第一个问题或者说是逼问的一个问题:“为什么要使用MQ”其实面试官问这个问题就是想考察你MQ的特性,这个时候呢,我们必须要答出三点:解耦、异步、削峰。 1. 解耦 1. 传统系统…...

Git 分支操作-开发规范
一、背景 在实际开发中,一般在主分支的基础上单独创建一个新的分支进行开发,最后合并到master分支,而不是直接在master分支进行开发。 二、新建分支 1、初始状态,local为本地分支,remote为远程分支 2、单击 “Remot…...

JSONArray根据指定字段去重
JSONArray dataList new JSONArray();这儿省略dataList 加数据的过程 dataList new JSONArray(dataList.stream().distinct().collect(Collectors.toList())); Set<String> timestamps new HashSet<>();根据时间字段去重 dataList dataList.stream().map(obj -…...

线程有哪几种状态? 分别说明从一种状态到另一种状态转变有哪些方式?
在 Java 中,线程的生命周期管理通过不同的状态来跟踪。一个线程在其生命周期中可以处于多种状态,不同的状态之间会通过特定的事件发生转变。以下是 Java 线程的几种状态及其之间的转移方式: 1. 线程的状态 1.1 NEW(新建状态&…...