PetaLinux工程目录设备树文件结构与作用

设备树文件列表

bash 复制代码
wpf@minglie:~/petalinux/ant$ find . \( -path ./build -o -path ./tmp -o -path ./out -o -path ./components/yocto \) -prune -o -type f \( -name "*.dts" -o -name "*.dtsi" \) -print
./components/plnx_workspace/device-tree/device-tree/pl.dtsi
./components/plnx_workspace/device-tree/device-tree/zynq-7000.dtsi
./components/plnx_workspace/device-tree/device-tree/pcw.dtsi
./components/plnx_workspace/device-tree/device-tree/system-top.dts
./components/plnx_workspace/device-tree/device-tree/system-conf.dtsi
./components/plnx_workspace/device-tree/device-tree/skeleton.dtsi
./project-spec/meta-user/recipes-bsp/device-tree/files/system-user.dtsi
./project-spec/meta-user/recipes-bsp/device-tree/files/pl-custom.dtsi
文件名 功能说明 受影响来源
pl.dtsi 描述 PL(可编程逻辑)层的所有外设 IP 节点(AXI GPIO、AXI UARTLite、PWM、Timer 等),包含 AXI 地址、寄存器映射和中断连接信息。Linux 内核使用此信息访问 PL 外设。 XSA / Vivado 硬件设计中 PL AXI IP 配置、地址、中断
zynq-7000.dtsi 通用 Zynq-7000 平台 DTS,定义 PS 内置外设(CPU、DDR、UART/I2C/SPI/GPIO/Timer/ETH/USB)、总线结构和中断控制器(GIC)。系统 DTS 的基础文件。 通用 Zynq-7000 PS 平台,不随 XSA 变化
pcw.dtsi 来自 PCW(Platform Creator Wizard)生成的 DTSI,自动包含 PS 配置、PL AXI IP 地址和 IRQ 分配,作为顶层 DTS 的 include 文件,用于将硬件描述映射到 Linux DTS。 XSA / PCW 自动生成的硬件平台配置
system-top.dts 顶层 DTS 文件,最终 Linux 内核使用,include 其他 DTSI 文件,定义 chosen 节点和板级覆盖节点。 受 XSA 生成的 pl.dtsi 和 pcw.dtsi 影响,同时可被用户覆盖节点修改
system-conf.dtsi 系统级配置 DTSI,调整内核参数、内存映射、IRQ 优化等,可覆盖默认节点属性,不直接添加新外设节点。 可参考 XSA 配置(时钟、IRQ、DDR)进行调整,但主要由用户定义
skeleton.dtsi PetaLinux / PCW 默认模板 DTSI,提供板级 DTS 编写示例,包含示例节点(AXI GPIO、UARTLite),可作为自定义板级 DTSI 的参考。 模板文件,仅参考,未受 XSA 自动生成影响
system-user.dtsi 用户自定义设备树覆盖文件,用于启用 PL 外设、I2C/EEPROM 节点、修改 IRQ、调整节点属性。Linux 内核启动时被 include,可直接修改而不影响 PCW 自动生成的 DTSI。 用户自定义,不受 XSA 影响
pl-custom.dtsi 用户自定义的 PL 外设节点扩展文件,通常用于添加额外的 AXI IP 或外设,并在 system-user.dtsi 中 include,使 Linux 内核识别自定义 PL 外设。 用户自定义,不受 XSA 影响

文件包含关系

bash 复制代码
system-top.dts
│
├── zynq-7000.dtsi
├── pcw.dtsi
├── pl.dtsi
├── system-conf.dtsi
└── system-user.dtsi
     └── pl-custom.dtsi

skeleton.dtsi  (模板文件,不被顶层使用)

system-top.dts 是顶层 DTS,Linux 内核直接使用。

PL/PS 外设信息分别由 pl.dtsi 和 zynq-7000.dtsi 定义。

pcw.dtsi 提供 XSA 自动生成的硬件配置。

用户自定义扩展在 system-user.dtsi + pl-custom.dtsi 中。

模板 skeleton.dtsi 仅供参考,不参与编译。

相关推荐
szxinmai主板定制专家14 小时前
X86 工控机 vs RK3588 异构主控:AMR 控制器 BOM、散热、长期运维对比
运维·stm32·单片机·嵌入式硬件·fpga开发·am62x
szxinmai主板定制专家1 天前
AMR 项目落地:机器人控制器硬件定制化需求复盘
arm开发·单片机·fpga开发·系统架构·机器人·am62x
FPGA小迷弟2 天前
FPGA 与卫星:从星载硬件到在轨智能的完整技术解析
fpga开发·架构·fpga·1024程序员节·无线电
NamoAmitabha1282 天前
CPU 内部结构是什么?---deepseek
fpga开发
abc light2 天前
ARM 裸机开发(6)——时钟树与定时器
arm开发·单片机·fpga开发
156082072193 天前
JFMZQ28DR、JFMZQ68DR、RFsoc XCZU47DR、XCZU48DR 信号处理板
fpga开发·信号处理
XMAIPC_Robot3 天前
-40~85℃宽温实测:RK3588 机器人控制器硬件底座,长时间 SLAM 定位稳定性验证
人工智能·fpga开发·机器人·边缘计算·arm+fpga·rk3588+fpga
樱木花道長3 天前
AMD Ross 深度系列 8:FAQ 七问七答(文末附网盘链接)
人工智能·fpga开发
FPGA小迷弟3 天前
FPGA 与无人机:从飞控实时性到智能载荷的硬件加速实践
人工智能·ai·fpga开发·架构·无人机·ai编程
低慢小uav3 天前
(已解决)Zynq芯片lwip协议栈,使用tcp作为服务器Service,接收大量数据时,长度接收正常,接收对数据校验,校验和异常分析
网络协议·tcp/ip·fpga开发