PetaLinux常用命令匯總


創建petalinux工程

Create a new project from a reference BSP file.
用於從官方下載的BSP中抽取數據產生工程。

petalinux-create -t project -s <FULLPATH-TO-BSP>

Create a new project based on the MicroBlaze™ template.
用於讓petalinux工具包,從系統中抽取模板,產生工程。

$ petalinux-create -t project -n <PRJ_NAME> --template microblaze

Initialize a PetaLinux project within the project directory with an external HDF.
用於指定一個位於工程目錄之外的包含HDF的文件夾用於搜索。

petalinux-config --get-hw-description=<PATH-TO-HDF-DIRECTORY>

Initialize a PetaLinux project from within the directory containing an HDF.
用於指定一個petalinux工程目錄。在工程目錄的子目錄中,搜索存放HDF文件。

petalinux-config --get-hw-description -p <%PATH-TO-PETALINUX-PROJECT%>

Initialize a PetaLinux project from a neutral location
用於指定一個petalinux工程目錄。並指定一個單獨的HDF文件。

petalinux-config --get-hw-description <%PATH-TO-HDF%> -p <%PATH-TO-PETALINUX-PROJECT%>

配置

Start the menuconfig for the system-level configuration:
開始 系統級別的 menuconfig:

$ petalinux-config

Parse the configuration onto Kconfig without opening the GUI(--oldconfig), for the root filesystem(-c rootfs):
無GUI配置組件。

# 以根文件系統為例
petalinux-config -c rootfs --oldconfig

Load the Linux kernel configuration with a specific default configuration:
以指定的配置文件對組件進行配置:

注意,這樣的配置文件需要存在於kernel或者uboot的源碼樹中,不能額外指定外部文件。

否則會報錯:ERROR: linux-xlnx-4.14-xilinx-v2018.3+gitAUTOINC+eeab73d120-r0 do_kernel_metadata: A KBUILD_DEFCONFIG 'xxx' was specified, but not present in the source tree

# 以內核為例
petalinux-config -c kernel --defconfig xilinx_zynq_base_trd_defconfig

# 以 uboot 為例
petalinux-config -c u-boot --defconfig xilinx_zynqmp_zcu102_defconfig

Generate the source code for fsbl/fs-boot:
生成源碼(以fsbl/fs-boot為例)。

petalinux-config -c bootloader

構建

Build the entire PetaLinux project
構建整個PetaLinux工程

petalinux-build

Build the kernel forcefully
強制構建內核

petalinux-build -c kernel -f

Compile a kernel forcefully
強制編譯內核

petalinux-build -c kernel -x compile -f

Clean all build collaterals from the U-Boot component of the PetaLinux project.
清理構建中間組件

$ petalinux-build -c u-boot -x cleansstate

Create an updated FIT image from the current contents of the deploy area.

從部署域的當前內容創建更新的FIT映像。

petalinux-build -x package

清理

Clean all build collaterals. It removes build/, ${TMPDIR} and images. This will bring the
project to its initial state

## 慎用
petalinux-build -x mrproper

Clear the build area of the PetaLinux project for archiving as a BSP or for revision
control. This example retains the images directory of the project

petalinux-build -x distclean

燒錄

Download and boot a pre-built bitstream (and FSBL for Zynq-7000 or Zynq UltraScale+
MPSoC) via JTAG to a physical board.

petalinux-boot --jtag --prebuilt 1

Download and boot a pre-built U-Boot elf via JTAG to a physical board.

$ petalinux-boot --jtag --prebuilt 2

For Zynq-7000, it downloads:

  • bitstream pre-built/linux/implementation/download.bit
  • fsbl pre-built/linux/images/zynq_fsbl.elf
  • u-boot pre-built/linux/images/u-boot.elf

For Zynq UltraScale+ MPSoC, it downloads:

  • bitstream pre-built/linux/implementation/download.bit
  • fsbl pre-built/linux/images/zynqmp_fsbl.elf
  • ATF pre-built/linux/images/bl31.elf
  • u-boot pre-built/linux/images/u-boot.elf
  • pmufw pre-built/linux/images/pmufw.elf

Download and boot a pre-built kernel image via JTAG to a physical board

petalinux-boot --jtag --prebuilt 3

For Zynq-7000, it downloads:

  • bitstream pre-built/linux/implementation/download.bit
  • fsbl pre-built/linux/images/zynq_fsbl.elf
  • DTB pre-built/linux/images/system.dtb
  • kernel pre-built/linux/images/zImage

For Zynq UltraScale+ MPSoC, it downloads:

- bitstream pre-built/linux/implementation/download.bit
- fsbl pre-built/linux/images/zynqmp_fsbl.elf
- kernel pre-built/linux/images/Image
- DTB pre-built/linux/images/system.dtb
- ATF pre-built/linux/images/bl31.elf
- pmufw pre-built/linux/images/pmufw.elf)

Download and boot a built U-Boot image via JTAG to a physical board

petalinux-boot --jtag --u-boot

For Zynq-7000, it downloads:

  • fsbl images/linux/zynq_fsbl.elf
  • U-Boot images/linux/u-boot.elf.

For Zynq UltraScale+ MPSoC, it downloads:

  • fsbl images/linux/zynqmp_fsbl.elf
  • U-Boot images/linux/u-boot.elf
  • ATF images/linux/bl31.elf
  • pmufw images/linux/pmufw.elf

Download and boot a built kernel image via JTAG to a physical board.

petalinux-boot --jtag --kernel

(For Zynq-7000, it boots:

  • fsbl images/linux/zynq_fsbl.elf
  • DTB images/linux/system.dtb
  • kernel images/linux/zImage

For Zynq UltraScale+ MPSoC, it boots:

  • fsbl images/linux/zynqmp_fsbl.elf
  • kernel images/linux/Image
  • DTB images/linux/system.dtb
  • ATF images/linux/bl31.elf
  • pmufw images/linux/pmufw.elf

啟動

Load and boot a pre-built U-Boot elf via QEMU.
$ petalinux-boot --qemu --prebuilt 2

Load and boot a pre-built U-Boot elf via QEMU in root mode.
$ petalinux-boot --qemu --root --prebuilt 2

打包

Create a BOOT.BIN file for a Zynq family device (including Zynq-7000 and Zynq UltraScale+ MPSoC).

petalinux-package --boot --format BIN --fsbl <%PATH-TO-FSBL%> --u-boot -o  <%PATH-TO-OUTPUT-WITH-FILE-NAME%>

Create a BOOT.BIN file for a Zynq family device that includes a PL bitstream and FIT image.

petalinux-package --boot --format BIN --fsbl <%PATH-TO-FSBL%>  --u-boot --fpga <%PATH-TO-BITSTREAM%> --kernel -o  <%PATH-TO-OUTPUT%>

Create a BOOT.BIN file for a Zynq UltraScale+ MPSoC device that includes a PMU firmware.

petalinux-package --boot --u-boot --kernel --pmufw <%PATH_TO_PMUFW%>

Clean the project and then generate the BSP installation image (.BSP file)

petalinux-package --bsp --clean -o <%PATH-TO-BSP%> -p <%PATH-TO-PROJECT%>

Generate the BSP installation image that includes a reference hardware definition

petalinux-package --bsp --hwsource <%PATH-TO-HW-EXPORT%> -o <%PATH-TO-BSP%> -p <%PATH-TO-PROJECT%>

Generate the BSP installation image from a neutral location

$ petalinux-package --bsp -p <%PATH-TO-PROJECT%> -o <%PATH-TO-BSP%>

Generate uImage

petalinux-package --image -c kernel --format uImage
(The uImage is in <%plnx-proj-root%>/images/linux directory)

Include a specific bitstream in the pre-built area.

petalinux-package --prebuilt --fpga <%BITSTREAM%>

Include a specific data file in the pre-built area.

petalinux-package --prebuilt -a <%APP%>:images/<%APP%>

其他

Launch the GNU GDB debugger

petalinux-util --gdb

Launch a specific Linux kernel image.

petalinux-util --jtag-logbuf -i <%PATH-TO-IMAGE%>

Launch the JTAG logger from a neutral location. This workflow is for Zynq-7000 devices only

petalinux-util --jtag-logbuf -i <%PATH-TO-IMAGE%> -p <%PATH-TO-PROJECT%>

To find the default bitstream of a project:

petalinux-util --find-hdf-bitstream

To find the bitstream of a hdf:

petalinux-util --find-hdf-bitstream --hdf-file <%path to hdf file%>

Toggle the WebTalk feature off.

petalinux-util --webtalk off


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM