假设要分配6M给M4使用, 修改文件路径: MA35D1_Buildroot/output/build/linux-custom/arch/arm64/boot/dts/nuvoton/ma35d1.dtsi 在reserved-memory里面增加m4_share_mem配置如下: reserved-memory { #address-cells = <2>; #size-cells = <2>; ranges; m4_share_mem:m4_share_mem@0 { reg = <0x0 0x8F800000 0x0 0x600000>; /* 6MiB */ no-map; } display_buf: display_buf@0 { reg = <0x0 0x8C800000 0x0 0x3000000>; /* 48MiB */ no-map; }; vc8k_buf: vc8k_buf@0 { reg = <0x0 0x8A800000 0x0 0x2000000>; /* 32MiB */ no-map; }; gc520l_buf: gc520l_buf@0 { reg = <0x0 0x8A000000 0x0 0x800000>; /* 8MiB */ no-map; }; rproc_buf: rproc_buf@0 { reg = <0x0 0x80020000 0x0 0x60000>; /* 384KB */ no-map; }; }; Linux通过rpmsg 与M4通信握手,然后linux侧对分配的区域读写信息/M4对分配的区域读写信息。这个区域就是上面分配的6M空间。图示如下:
|