当前位置: 首页 > 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"
 

http://www.lryc.cn/news/460946.html

相关文章:

  • Unity的Compute Shader如何进行同步?
  • 大数据-171 Elasticsearch ES-Head 与 Kibana 配置 使用 测试
  • git 与 github 同步
  • 数学建模算法与应用 第10章 多元分析及其方法
  • 西门子828d的plc一些信息记录
  • 为啥我的Python这么慢 - 项查找 (二)
  • 计算机毕业设计python+spark知识图谱课程推荐系统 课程预测系统 课程大数据 课程数据分析 课程大屏 mooc慕课推荐系统 大数据毕业设计
  • 阿里 C++面试,算法题没做出来,,,
  • 【自动驾驶汽车通讯协议】GMSL通信技术以及加串器(Serializer)解串器(Deserializer)介绍
  • Uiautomator2与weditor配置一直报错咋办
  • Java后端面试题:MySQL篇
  • # Excel 操作大全
  • javascript中快速获取最大值和最小值
  • git merge啥意思
  • Web编程---Servlet技术
  • 【cocos creator】输入框滑动条联动小组建
  • Flink时间窗口程序骨架结构
  • 计算机视觉之可做什么
  • 观察者模式的思考
  • ORACLE SELECT INTO 赋值为空,抛出 NO DATA FOUND 异常
  • GPT提示词
  • Redis协议详解及其异步应用
  • LeetCode213:打家劫舍II
  • linux一二三章那些是重点呢
  • C语言中的程序入口:超越main函数的探索
  • 《面试之MQ篇》
  • Git 分支操作-开发规范
  • JSONArray根据指定字段去重
  • 线程有哪几种状态? 分别说明从一种状态到另一种状态转变有哪些方式?
  • 自注意力机制self-attention中的KV 缓存