前言:
RAM——程序运行中数据的随机存取(掉电后数据消失)整个程序中,所用到的需要被改写的量,都存储在RAM中,“被改变的量”包括全局变量、局部变量、堆栈段,此专栏会有针对SPI的工作原理的详细介绍。
一、RH850_F1包含以下RAM
1.1、本地RAM
本地内存可高速访问。DeepSTOP模式不保留本地RAM中的值。
1.2、保留RAM
保留RAM是本地RAM的一部分,也可以高速访问。保留RAM中的值在DeepSTOP模式下被保留。
此外,除了写访问外,即使电源电压(REGVCC)低于POC电压,只要电压不低于RAM保持电压(VVLVI),保留RAM中的数据就会被保留。
1.3、每个RAM的访问时间
访问方式 | RAM | 首先访问(CPUCLK) | 持续访问(CPUCLK) |
取指令 | 本地RAM | 5 | 5 |
保留RAM | 5 | 5 | |
读方式 | 本地RAM | 1 | 1 |
保留RAM | 1 | 1 | |
写方式 | 本地RAM | 1 | 1 |
保留RAM | 1 | 1 |
注意:根据指令前后的组合,有可能改变上表的访问时钟数。 当RAM访问不对齐时,这些数字会增加。
二、存储器配置
2.1、本地RAM和保留RAM的内存映射
下图说明了2 MB、1.5 MB、1 MB和768KB的代码闪存的映射设备。RH850/F1的代码flash的用户区分为8kb和32kb块,选择作为擦除的单位。一个单独的32 KB块也被合并为扩展块用户区。用户区和扩展用户区可作为存储用户程序的区域。
2.2、数据映射闪存
RH850/F1的数据闪存的数据区划分为64字节块作·除的一个单位。图显示了数据闪存的映射关系。
三、Flash相关的操作模式
四、RAM使用说明
在访问启用了ECC错误检测和纠正的本地或保留RAM之前,请通过将访问大小设置为最大比特长度来初始化RAM。
在初始化RAM之前访问它可能会导致检测到ECC错误。如果初始化没有在最大访问单元中处理,例如,当以8位或16位单元访问32位字RAM时,可能会检测到ECC错误。