AutoSAR系列讲解(实践篇)11.4-NvBlockSwComponents(上)
NvBlockSwComponents(上)
一、NvBlockSwComponents简介
1、AutoSAR 3.x的情况
在AutoSAR 3.x时代的时候,所有的NVRAM都是通过Block进行管理的,但是这样一来会出现几个问题:
- 如果一个短数据需要被单独存储,那么对Flash而言,它需要先保存原数据,再擦除一个页再写入该页。对Flash而言,效率极低
- 对于一个NV data来说,一般只能分配给一个SWC用,对于多个SWC的数据写入一个NV data中是很困难的
- 不能防止并发访问的情况发生
2、AutoSAR 4.x的优化
AutoSAR 4.x之后,为了解决上述的问题,引入了NvBlockSwComponents这个机制,NvBlockSwComponents是S/R接口来做NVRAM的管理的,具有以下特点:
- 可以将多个RAM变量聚合到一个NVRAM Block中
- 对于NVRAM Blocks,支持扇入(Fan-in,可以理解为将多个SWC的数据导入到一个RAM Block中)和扇出(Fan-out,可以理解为将一个RAM Block中的数据导出到多个