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"

相关推荐
FREEDOM_X1 小时前
嵌入式Linux摄像头采集与图像处理
linux·图像处理·ubuntu
studytosky1 小时前
OpenClaw 入门与 Skill 开发
linux·服务器·ai编程
kaoa0001 小时前
Linux入门攻坚——82、kvm虚拟化-2
linux·运维·服务器
学无止境_永不停歇3 小时前
3. 进程状态
linux·服务器
kdxiaojie3 小时前
Linux 驱动研究 —— V4L2 (2)
linux·运维·笔记·学习
DB哥讲数据库3 小时前
MySQL 8.4 安装教程:超详细图文讲解(附mysql安装包)
linux·数据库·mysql·centos
xlxxy_3 小时前
sap获取批次特性报表
java·linux·开发语言·前端·数据库·abap·mm
木卫二号Coding3 小时前
CentOS 系统 Shell 脚本开机自启动方法详解
linux
l1t4 小时前
DeepSeek总结的RegreSQL 2.0测试通过了。计划却没通过。
linux·数据库·postgresql
蝶恋舞者4 小时前
怎样设置软件开机自启动(用的最多,最简单)
linux·运维·服务器