打印
[技术问答]

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

[复制链接]
492|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
假设要分配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;
                          }
                ……
        };
M4端可以直接读写这一块RAM,outp32((void *)(0x8F800000+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 0x8F800000 0x00600000  {  ; RW data
   .ANY (+RW +ZI)
  }
}

使用特权

评论回复
沙发
奔跑的牛| | 2023-6-5 13:17 | 只看该作者
方式如上所述

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1482

主题

4260

帖子

6

粉丝