请求协助基于Petalinux生成的pl.dtsi编写system-user.dtsi以构建启动镜像
对应system-user.dtsi文件内容
在Petalinux环境中,system-user.dtsi用于扩展或自定义设备树,无需重复pl.dtsi中的amba_pl根节点,只需将AXI DMA节点挂载到已有的&amba_pl节点下即可。以下是适配的system-user.dtsi内容:
/include/ "system-conf.dtsi" / { }; &amba_pl { axi_dma_0: dma@40400000 { #dma-cells = <1>; clock-names = "s_axi_lite_aclk", "m_axi_sg_aclk", "m_axi_mm2s_aclk", "m_axi_s2mm_aclk"; clocks = <&clkc 15>, <&clkc 15>, <&clkc 15>, <&clkc 15>; compatible = "xlnx,axi-dma-7.1", "xlnx,axi-dma-1.00.a"; interrupt-names = "mm2s_introut", "s2mm_introut"; interrupt-parent = <&intc>; interrupts = <0 29 4 0 30 4>; reg = <0x40400000 0x10000>; xlnx,addrwidth = <0x20>; xlnx,include-sg; xlnx,sg-length-width = <0xe>; dma-channel@40400000 { compatible = "xlnx,axi-dma-mm2s-channel"; dma-channels = <0x1>; interrupts = <0 29 4>; xlnx,datawidth = <0x20>; xlnx,device-id = <0x0>; }; dma-channel@40400030 { compatible = "xlnx,axi-dma-s2mm-channel"; dma-channels = <0x1>; interrupts = <0 30 4>; xlnx,datawidth = <0x20>; xlnx,device-id = <0x0>; }; }; };
注意事项
- 确认系统设备树中已正确定义
&clkc(时钟控制器)和&intc(中断控制器)节点,原pl.dtsi中引用的时钟索引15和中断号需匹配实际硬件配置 - 若要启用AXI DMA驱动,需在Petalinux配置中开启对应支持:执行
petalinux-config,在Kernel Drivers -> DMA support下勾选Xilinx AXI DMA support - 编译启动镜像时,Petalinux会自动合并system-user.dtsi与其他设备树文件,无需手动处理合并逻辑
内容的提问来源于stack exchange,提问作者Creator
相关产品推荐
相关产品推荐

