【MA35D1】如何在linux里预留RAM空间给M4 Core存取数据?

qwang |浏览274次
收藏|2023/05/26 09:10

满意回答

2023/05/26 09:15

假设要分配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 0x85000000 0x0 0x600000>; /* 6MiB */

                     no-map;

                          }

                ……

        };

M4端可以直接读写这一块RAM,outp32((void *)(0x85000000+i), 0x0);

,也可以配置Keil把-RW和-ZI的数据放在这片RAM里

或者用sct file指定,也可以指定某一个.o或者所有RW和ZI段放在这个区域

; *************************************************************

; *** Scatter-Loading Description File generated by uVision ***

; *************************************************************

 

LR_IROM1 0x00000000 0x00080000  {    ; load region size_region

  ER_IROM1 0x00000000 0x00080000  {  ; load address = execution address

   *.o (RESET, +First)

   *(InRoot$$Sections)

   .ANY (+RO)

   .ANY (+XO)

  }

  RW_IRAM1 0x85000000 0x00600000  {  ; RW data

   .ANY (+RW +ZI)

  }

}

 

蔡芳芳

其他回答(0)
0人关注该问题
+1
 加载中...