ZHCAFE4 May   2025 AWRL6432

 

  1.   1
  2.   摘要
  3. 1前言
  4. 2AWRL6432的共享内存
  5. 3AWRL6432的深度睡眠
  6. 4AWRL6432在不同共享内存设置下的深度睡眠实现
    1. 4.1 共享内存模式SH_MEM_CONFIG=3
    2. 4.2 共享内存模式SH_MEM_CONFIG=1
  7. 5总结
  8. 6参考文献

AWRL6432的共享内存

AWRL6432芯片上共有1MB的片上内存。 其中有512KB是专门给APPSS(APP subsystem)也就是Cortex-M4F(后面简称M4F)使用。160KB是在HWASS(HWA subsystem)内部,给HWASS使用的(M4F也可以通过芯片内部总线访问该区域内存)。剩下有256KB共享内存可以分配给HWASS或者是APPSS使用,还有96KB的共享内存可以分配给HWASS或者FECSS(frontend controller subsystem)也就是射频子系统使用。具体如 图 2-1 所示。不同共享内存模式下APSSS内存地址和HWA的内存地址是不同的,请参考表 2-1。

 AWRL6432内存共享示意图 图 2-1 AWRL6432内存共享示意图
表 2-1 AWRL6432在不同共享内存模式下的内存地址
共享内存模式

APPSS内存地址

(包含APSPSS/HWASS共享内存)

HWASS内存地址

(默认HWASS/FECSS共享内存分配给HWASS使用)

SH_MEM_CONFIG=0

0x00400000 - 0x0047FFFF

(512 KB)

0x60000000 - 0x6007FFFF

(512 KB)

SH_MEM_CONFIG=1

0x00400000 - 0x0049FFFF

(640 KB)

0x60000000 - 0x6005FFFF

(384 KB)

SH_MEM_CONFIG=2

0x00400000 - 0x0047FFFF

0x004A0000 - 0x004BFFFF

(640KB)

0x60000000 - 0x6005FFFF

(384 KB)

SH_MEM_CONFIG=3

0x00400000 - 0x004BFFFF

(768 KB)

0x60000000 - 0x6003FFFF

(256 KB)

AWRL6432的共享内存分配是通过控制寄存器TOP_PRCM:HWA_PD_MEM_SHARE_REG(地址:0x5A040500)和APP_CTRL:APPSS_SHARED_MEM_CLK_GATE(地址:0x56060398)两个寄存器的设置来实现。

表 2-2 不同共享内存模式下控制寄存器值
共享内存模式

HWA_PD_MEM_SHARE_REG

寄存器值

APPSS_SHARED_MEM_CLK_GATE

寄存器值

SH_MEM_CONFIG=0 0x0 0x5
SH_MEM_CONFIG=1 0x7 0x6
SH_MEM_CONFIG=2 0x38 0x9
SH_MEM_CONFIG=3 0x3F 0xA