You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Versal架构的Petalinux 2023.2中启用FPGA Manager致设备树编译错误

解决Versal VPK120 Petalinux DFX应用设备树编译错误

问题核心

使用dfx_dtg_versal_full模板创建应用后,自动生成的pl.dtsi仅包含/dts-v1/;和/plugin/;两行,导致设备树语法错误;手动修改该文件有效但会被构建过程覆盖,且自定义节点无法通过system-user.dtsi注入。

解决方案

1. 修正DFX应用创建命令与自定义DTSI格式

  • 重新创建应用时,分开指定XSA和自定义DTSI的路径(避免参数解析异常):
    petalinux-create -t apps --template dfx_dtg_versal_full -n myplapp --enable --srcuri "../myplapp.xsa" --srcuri "../pl-custom.dtsi"
    
  • 确保pl-custom.dtsi遵循Overlay语法,以&fpga_region为父节点编写自定义IP节点,示例:
    /dts-v1/;
    /plugin/;
    
    &fpga_region {
        #address-cells = <2>;
        #size-cells = <2>;
        status = "okay";
    
        my_custom_ip: my_custom_ip@0 {
            compatible = "xlnx,my-custom-ip";
            reg = <0x0 0xA0000000 0x0 0x10000>;
            status = "okay";
        };
    };
    

2. 通过应用BB文件注入自定义DTSI

由于Petalinux构建时会自动覆盖生成的pl.dtsi,需通过应用的配方文件关联自定义节点:

  1. 创建project-spec/meta-user/recipes-apps/myplapp/files/目录,将pl-custom.dtsi放入其中。
  2. 新建project-spec/meta-user/recipes-apps/myplapp/myplapp.bbappend文件,添加以下内容:
    FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
    SRC_URI += "file://pl-custom.dtsi"
    

3. 确认FPGA Manager配置正确性

  • 启用内核级FPGA Manager支持:
    petalinux-config -c kernel
    
    导航至Device Drivers -> FPGA Support -> Xilinx FPGA Manager,勾选编译进内核(或作为模块)。
  • 确保根文件系统包含FPGA Manager工具包:
    petalinux-config -c rootfs
    
    勾选packagegroup-petalinux-fpga-manager。

4. 清理并重新构建

执行以下命令清理旧构建产物,避免缓存干扰:

petalinux-build -x clean
petalinux-build -x mrproper
petalinux-build

内容的提问来源于stack exchange,提问作者romabo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 13:06:18