#技术资源# #每日话题# 今天给大家介绍一下N32G45x的SRAM和R-SRAM
SRAM
SRAM 主要用于代码运行,存放程序执行过程中的变量和数据或堆栈,容量最大为 128KB。SRAM 支持字节、半字、字的读写访问。SRAM 支持代码运行(支持 SBus 和 ICode、 DCode 的访问),可以在 SRAM 全速运行程序。 SRAM 的最大地址范围是 0x2000 0000~0x2001 FFFF。
- ICode 总线:将 Cortex™-M4FP 内核的 ICode 总线与闪存指令接口相连接。指令预取在此总线上完成。
- DCode 总线:将 Cortex™-M4FP 内核的 DCode 总线与闪存存储器的数据接口相连接(常量加载和调试访问)。
- SBus 总线:连接 Cortex™-M4FP 内核的 SBus 总线(外设总线) 到总线矩阵,总线矩阵协调着内核和DMA 间的访问 。
SRAM 在 Stop2、 Standby 和 VBAT 模式下数据不能保持;其他工作模式(Run/Sleep/Stop0)数据可以正常保持。
SRAM 主要特性如下:
- 容量最大总共为 128KB;
- 支持字节/半字/字读写;
- I/D/S/DMA1/DMA2/ETH 均可访问;
- I/D BUS 可以 Remap 到 SRAM 全速运行程序;
另外,N32G45x 的 SRAM 主要分为 2 个区域,前 64K SRAM1 和后 64K SRAM2 分别为两个不同的区。特别注意,SRAM 还可以映射到虚拟地址0x10000000~0x1001FFFF 执行,它们的主要区别如下:
0x2000 0000~0x2001 FFFF:CPU 只能通过 Sbus 访问代码和数据;
0x1000 0000~0x1001 FFFF:CPU 可以通过 Ibus 和 Dbus 对其访问代码和数据;
R-SRAM
R 的意思是 Retention 的英文首字母缩写,R-SRAM 主要用于低功耗模式下保存数据,也用于代码运行,存放程序执行过程中的变量和数据或堆栈,容量总共为 16KB。 R-SRAM 的总线地址与 SRAM 是连续相接的,应用上,可以把 SRAM 和 R-SRAM 当做一块 SRAM 来处理。最大情况下,R-SRAM 的0 号物理地址对应总线起始地址为 0x2002 0000,对应的总线地址范围为0x20020000~0x20023FFF。
R-SRAM 支持字节、半字、字的读写访问,支持 SBus、DMA1、DMA2、ETH 的访问。因为 R-SRAM 的总线地址与 SRAM 是连续相接的,而对于不同的产品型号,SRAM 可供有效使用的容量是不同的,所以对于不同的产品型号来说, R-SRAM 的总线起始地址是不一样的。R-SRAM 支持 Retention,在 Stop2、 Standby 模式下可以保持数据(可以配置为保持或不保持); VBAT 模式下会掉电,同时丢失数据;其他工作模式(Run/Sleep/Stop0)下会一直带电,数据可以正常保持;需要 PWR 对其 Retention 进行控制管理。
R-SRAM 一般称为 SRAM3,通常用于低功耗时的数据保存,其一般通过 Sbus 访问。
这次的介绍就到这里啦,下次给大家介绍一下如何将数据保存在指定地址中
|