FPGA----zynq 7000与zynqMP内存区域保留方法

1、问题的由来:

我们在使用SoC时,不可避免的使用了AXI-HP通道以完成FPGA和ARM的交互,这个交互如果定义在内存区域,那么就需要将这一片内存区域保护起来,防止linux调用。

2、zynq与zynqMP的内存管理方式不同

3、对于zynq 7000系列的设备只需要写设备树的保护即可

bash 复制代码
/include/ "system-conf.dtsi"

/ {
    reserved-memory {
        #address-cells = <1>;
        #size-cells = <1>;
        ranges;

        pl_buffer: buffer@2000000 {
            reg = <0x02000000 0x00000100>;
            no-map;
            compatible = "shared-dma-pool";
        };

        ps_buffer: buffer@2010000 {
            reg = <0x02010000 0x00000100>;
            no-map;
            compatible = "shared-dma-pool";
        };
    };
};

4、对于zynqMP系列,需要配置内核+设备数的原则

(1)配置内核,使得ddr可以通过 /dev/mem/ 被读写

bash 复制代码
#配置内核
petalinux-config -c kernel


#输入"/"进入搜索界面
#搜索:DEVMEM,并配置下述两个选项
DEVMEM=y
STRICT_DEVMEM=n

(2)编写设备树

bash 复制代码
/include/ "system-conf.dtsi"

/ {
    #address-cells = <2>;
    #size-cells = <2>;

    reserved-memory {
        #address-cells = <2>;
        #size-cells = <2>;
        ranges;

        pl_buffer: buffer@02000000 {
            reg = <0x0 0x02000000 0x0 0x00000100>;
            no-map;
            compatible = "shared-dma-pool";
        };

        ps_buffer: buffer@02010000 {
            reg = <0x0 0x02010000 0x0 0x00000100>;
            no-map;
            compatible = "shared-dma-pool";
        };
    };
};

注意:必须是<2>,ARM64 内核需要这样才能正确解析 64-bit 地址,否则就报 unsupported node format

相关推荐
珞光电子USRP SDR软件无线电平台1 天前
打破通用瓶颈:珞光电子发布 Luowave Driver V2 定制化驱动方案
fpga开发
9527华安1 天前
FPGA实现PCIe数据通信培训课程,提供工程源码+视频教程+FPGA开发板
fpga开发·pcie·视频教程·培训
my_daling1 天前
FPGA实现IIC主机读写,以及部分IIC传感器控制流程
fpga开发
乌恩大侠1 天前
【AI-RAN】在空ubuntu服务器安装环境和生成TV,高达430G文件
服务器·人工智能·ubuntu·fpga开发·o-ru
qq_150841991 天前
高云FPGA固件下载速成
fpga开发
一个平凡而乐于分享的小比特1 天前
一文读懂MCU与FPGA:核心区别、协同之道与双修秘籍
单片机·fpga开发·职场发展·mcu开发
LCMICRO-133108477461 天前
长芯微LD1871完全P2P替代AD1871,是一款立体声音频ADC
单片机·嵌入式硬件·fpga开发·音视频·硬件工程·dsp开发·音频adc
木心术11 天前
AI在FPGA中实现多平台射频信号时隙调整参考及案例
人工智能·fpga开发·信息与通信
LCMICRO-133108477461 天前
长芯微LD73360完全P2P替代AD73360,是一款工业电能计量6通道模拟输入前端(AFE) 处理器
stm32·单片机·嵌入式硬件·fpga开发·硬件工程·模拟前端afe
zjxtxdy2 天前
STM32开发
stm32·单片机·fpga开发