参考手册中常常见到有关memory的关键字,如FlexMem,FlexNVM,FlexRAM,System RAM, SRAM,那么它们到底是什么意思呢?有什么区别和联系?
参考资料
[1]S32K144 参考手册
[2]FlexNVM Memory应用笔记:AN12003
[3]EEPROM Functionality应用笔记:AN11983
1.汇总
2.简要定义及Memory Map
应用笔记:AN12003
应用笔记:AN11983
P-Flash , FlexRAM , FlexNVM, SRAM地址map
3.术语
Flex意思是用户可配置的(或灵活的)的意思
- FlexMem
FlexMem 可配置存储器 = FlexNVM + FlexRAM,可配置为数据flash,仿真EEPROM,和FlexRAM
S32K144是64KB
注:这里要注意2MB并不是S32K144的code flash memory大小,而是S32K14X系列最大支持的code flash memory大小(即S32K148)
- FlexNVM
NVM=nonvolatile memory 非优化存储器,相当于flash
- FlexRAM
FlexRAM 可配置RAM,可配置为传统RAM或者存储仿真EEPROM数据
- SRAM
SRAM 静态随机存储器,无需刷新,掉电不保存数据,可用作内存
S32K144作为Internal system RAM
- System RAM
System RAM = Internal system RAM + FlexRAM
真正的内存可能包含SRAM和FlexRAM
4.SRAM
S32K144 SRAM=内部RAM+FlexRAM(FlexRAM配置为Traditional RAM的部分), 内部RAM=SRAM_L + SRAM_U, 内部RAM size=60KB; Traditional RAM要比内部RAM要慢。
SRAM_L和SRAM_U的区别:SRAM_L - PC bus, SRAM_U - PS bus控制总线不一样。
5.FlexNVM
AN11983
1)FlexNVM全部配置为E-Flash(64KB)
2)FlexNVM=32KB D-Flash + 32KB E-Flash
3)FlexNVM=64KB D-Flash
6. 例程资源
NXP官方例程资源,除了IDE S32DS for ARM 2018.R1自带的,还有无SDK的,如有需要,请自行前往下载。
官方例程下载链接: S32K1xx Examples