使用petalinux建立工程

Posted 为了维护世界和平_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用petalinux建立工程相关的知识,希望对你有一定的参考价值。

新建工程

1、从.xas创建工程(使用 Vivado Design Suite 设置硬件参数,产生的文件)

$ petalinux-create --type project --template <PLATFORM> --name  <PROJECT_NAME> 

参数:
–template - 支持下列平台类型:
○ zynqMP (UltraScale+™ MPSoC)
○ zynq (Zynq-7000 器件)
○ microblaze (MicroBlaze™ CPU)

2、硬件描述<PATH-TO-HDF/DSA-DIRECTORY> 为使用vivado生成的文件

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

会出现图形界面,根据自己的要求配置参数

1)kernel和uboot的源码采用petalinux内部还是外部的?此处选择外部的

 ![在这里插入图片描述](https://img-blog.csdnimg.cn/9ae4ebafa743409ca1466666e5d79988.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5Li65LqG57u05oqk5LiW55WM5ZKM5bmzXw==,size_12,color_FFFFFF,t_70,g_se,x_16)

如果选择ext-local-src,则在此上一个图形界面上添加路径文件


输入源码路径
同理内核设置也一样:

查看使用的配置文件,这里使用默认的配置
u-boot Configuration —>
添加配置文件,默认为│xilinx_zynqmp_virt_defconfig

选择启动介质

配置uboot

petalinux-config -c u-boot

首次配置非常慢,因为要从网上下载很多东西,有时候可能会出现错误,在出现错误时,再次执行。
配置kernel

petalinux-config -c kernel

配置rootfs

petalinux-config -c rootfs

编译,这个过程非常慢,因为要下载文件,有时候会下载失败导致编译出错。

petalinux-build

编译的程序在本工程的 image/linux文件下

wy@ubuntu:/opt/pkg/petalinux/2020.2/ZYNQ/images/linux$ ls
bl31.bin  image.ub        rootfs.cpio.gz.u-boot  system.dtb       zynqmp-qemu-arm.dtb
bl31.elf  pmufw.elf       rootfs.jffs2           u-boot.bin       zynqmp-qemu-multiarch-arm.dtb
BOOT.BIN  pxelinux.cfg    rootfs.manifest        u-boot.elf       zynqmp-qemu-multiarch-pmu.dtb
boot.scr  rootfs.cpio     rootfs.tar.gz          vmlinux
Image     rootfs.cpio.gz  system.bit             zynqmp_fsbl.elf

板子上所使用的文件
BOOT.BIN,image.ub
编译所有程序
也可以单独编译

petalinux-build -c kernel
Petalinux-build -c u-boot

Petalinux 常用命令
清理:
#petalinux-build -x distclean
彻底清理,build文件夹都将被清理掉
#petalinux-build -x mrproper /清理彻底/

以上是关于使用petalinux建立工程的主要内容,如果未能解决你的问题,请参考以下文章

整合Xilinx PetaLinux工程编译和Open Source U- Boot/Linux编译

PetaLinux 生成 Zynq 操作系统

petalinux 添加开机自启动程序

1 Pynq-Z2 Vivado 2020.2 工程建立

petalinux工具和petalinux操作系统有啥区别

petalinux--执行子进程“oe-gnome-terminal-phonehome”失败(没有那个文件或目录)(转)