Petalinux

Petalinux 命令

参考《UG 1157 PetaLinux Command Line Reference Guide》

c 复制代码
//创建petalinux工程
petalinux-create -t project --template zynq -n <name> 

//配置工程
cd 上一步的工程
petalinux-config --get-hw-description ../xsa_folder/

//配置Linux内核
petalinux-config -c kernel

//配置Linux根文件系统
petalinux-config -c rootfs

//编译
petalinux-build

//制作BOOT.Bin
petalinux-package --boot --fsbl --fpga --u-boot --force

//挂载NFS
mount -t nfs -o nolock 192.168.0.1:/home/moerjie/work /mnt

Petalinux 设置本地编译

Xilinx下载中心

首先在下载中心下载 petalinux 对应版本的"arm sstate-cache"和"download"包。

将下载好的文件解压到 /opt/pkg/tools/ 文件路径下,使用 petalinux-config 配置工程。配置过程可见《领航者 ZYNQ 之嵌入式 Linux 开发指南 V 3.2》6.4 节。

与正点原子教程不同的地方

正点原子的修改 project-spec/meta-user/conf/petalinuxbsp. Conf 的代码如下:

复制代码
PREMIRRORS_prepend = " \
git://.*/.* file:///mnt/hgfs/share18/downloads/downloads \n \
gitsm://.*/.* file:///mnt/hgfs/share18/downloads/downloads \n \
ftp://.*/.* file:///mnt/hgfs/share18/downloads/downloads \n \
http://.*/.* file:///mnt/hgfs/share18/downloads/downloads \n \
https://.*/.* file:///mnt/hgfs/share18/downloads/downloads \n"

但是 2023.2 版本的 petalinux 不支持这个语法,需改为:

复制代码
PERMIRRORS:prepend = "\
git://.*/.* file:///opt/downloads \n \
gitsm://.*/.* file:///opt/downloads \n \
ftp://.*/.* file:///opt/downloads \n \
http://.*/.* file:///opt/downloads \n \
https://.*/.* file:///opt/downloads \n"

pre-mirror: file:///opt/downloads
sstate: /opt/sstate/arm/

挂载 PL 端的 IP 到设备树

将创建好的 petalinux 工程编译一遍后,在 ./components/plnx_workspace/device-tree/device-tree 路径下会生成 pl.dtsi 文件,将内部的设备树相关的配置复制粘贴到 ./project-spec/meta-user/recipes-bsp/device-tree/files 中的 system-user.dtsi 中,编译后在系统中加入新的设备。

Petalinux 支持的 axisfifo 的驱动版本是 4.1,但是 vivado 2023.2 中的 axis fifo 的版本为 4.3,因此要将 compatible 中的 "xlnx,axi-fifo-mm-s-4.3" 改为 "xlnx,axi-fifo-mm-s-4.1"

Axis fifo 必须将中断信号连接到 zynq processing system 才能正确挂载到设备树。

使用 dtc -I dtb -O dts 反编译在 ./images/linux/ 路径下的 system.dtb 文件,即可看到挂载的新设备。

相关推荐
weixin_4509072813 小时前
[ZYNQ Linux] 端侧AI模型部署(DPU)
zynq
s09071361 天前
ZYNQ7000 AXI DMA 接收中断(S2MM_introut)全解析:从硬件原理到Linux驱动开发
linux·驱动开发·dma·zynq
日拱一卒的小田9 天前
ZYNQ学习笔记1-裸机-PS端中断配置、IO配置及PS/PL AXI交互
io·zynq·中断
s090713612 天前
Zynq-7000 PetaLinux 千兆网卡 Link UP 但无法 Ping 通的终极排查与解决(以 KSZ9031 为例)
linux·skew·zynq·ksz9031·ping不通
weixin_4509072812 天前
[ZYNQ Linux] V4L2视频驱动
zynq
s090713615 天前
【Zynq 进阶一】深度解析 PetaLinux 存储布局:NAND Flash 分区与 DDR 内存分配全攻略
linux·fpga开发·设备树·zynq·nand flash启动·flash分区
s090713616 天前
【Zynq开发避坑指南】PetaLinux核心配置与 Vivado DMA 地址分配深度解析
内存·zynq·petalinux·地址映射
s090713618 天前
ZYNQ无SD卡纯NAND Flash启动Linux全攻略
linux·fpga开发·zynq·nand flash启动
s090713623 天前
保姆级教程十二:USB摄像头接入!ZYNQ+OpenCV+FPGA硬件加速图像处理实战(视觉终极篇)
图像处理·opencv·fpga开发·zynq·硬件加速
s09071361 个月前
保姆级教程一:ZYNQ-7030开发板安装/烧录Linux系统详细指南(小白必看)
linux·fpga开发·系统安装·zynq