首页 > 系统相关 >PetaLinux工程的常用命令——petalinux-create

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

时间:2024-10-15 18:51:35浏览次数:7  
标签:PetaLinux -- 创建 create dtg petalinux fpgamanager

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,--,创建,create,dtg,petalinux,fpgamanager
From: https://blog.csdn.net/weixin_50648158/article/details/142961501

相关文章

  • UE-GAS CreateDefaultSubobject<UAbilitySystemComponent>返回为nullptr
    前因原先在项目中用了默认的ASC(UAbilitySystemComponent),后面因为新的需求导致需要改为自己的ASC。结果改了之后,发现在Pre-Init(构造函数)时,CreateDefaultSubobject的返回值是nullptr。过程于是去论坛求助:论坛的人的回答是,你修改了ASC的类,导致前一个ASC反序列化到当前ASC上,从而......
  • python: create object
     classAccount(object):"""账户"""owner:str#类型提示"""类型提示"""balnace:float#类型提示"""类型提示"""def__init__......
  • selenium.comon.exceptionsSessioMotcreatedException: Message: session not created
    这个错误是因为您的ChromeDriver版本不支持当前安装的Chrome浏览器版本。错误信息指出,您的ChromeDriver只支持Chrome版本127,但您当前的Chrome浏览器版本是129.0.6068.90。要解决此问题,可以尝试以下步骤:更新ChromeDriver:下载与您当前Chrome浏览器版本兼容的ChromeDriver。可以......
  • Camstar Create Transaction Database
    sqlserverUSE[master]GO--CreatedatabaseCREATEDATABASEINSITEONPRIMARY(NAME='INSITE',FILENAME='C:\ProgramFiles\MicrosoftSQLServer\MSSQL13.MSSQLSERVER\MSSQL\DATA\INSITE.mdf',SIZE=100MB,FileGrowth=10%)LOGON(......
  • 【linux】linux unable to create new native thread
    1.概述今天遇到一个问题unabletocreatenewnativethread但是看着代码这里应该不会报错,出现这个问题该怎么排查呢?当在Linux系统中出现“unabletocreatenewnativethread”错误时,通常是由于达到了系统可用的进程或线程数量限制导致的。这个错误表示系统无法......
  • 深入理解 Nuxt.js 中的 app:created 钩子
    title:深入理解Nuxt中的appcreated钩子date:2024/9/26updated:2024/9/26author:cmdragonexcerpt:摘要:本文深入介绍了Nuxt.js中的app:created钩子,包括其触发时机、用途及使用方法。通过创建Nuxt项目、编写插件实现钩子、注册全局组件和配置,展示了在应用初始......
  • Create a .pem File for TLS/SSL Certificate Installations
    .pemTLS/SSLCreationInstructionsSSL.pemfiles(concatenatedcertificatecontainerfiles),arefrequentlyrequiredforcertificateinstallationswhenmultiplecertificatesarebeingimportedasonefile.Thisarticlecontainsmultiplesetsofinstructi......
  • Docker-compose 启动 mysql 报错 ERROR: for mysql Cannot start service mysql: fai
    报错详情root@hadoop107cmp]#docker-composeconfig-q[root@hadoop107cmp]#ll总用量70192-rw-r--r--.1rootroot718650749月2406:45docker-boot-0.0.1-SNAPSHOT.jar-rw-r--r--.1rootroot10149月2408:26docker-compose.yml-rw-r--r--.1rootro......
  • 4. VM是如何初始化的-create_vm()
    前言在3.初窥全貌-main方法执行全流程-CSDN博客,我们了解了一个Java类的main函数在执行java命令到最终被执行的全路径,但是那里面最重要的三步1.创建vm;2.加载main类;3.执行main方法;我们并没有展开学习,这一章,我们从创建VM开始学习,这是整个系列里最重的函数。流程很多,但......
  • INTERNAL ERROR: cannot create temporary directory! /dev/mapper/centos-root满了
    一.问题现象磁盘空间不足[root@dockerfileharbor]#docker-composeup-d[2216]INTERNALERROR:cannotcreatetemporarydirectory![root@dockerfileharbor]#docker-composeupstopFailedtowriteallbytesforcryptography/hazmat/bindings/_openssl.abi3.sofwrite......