上一篇 | 返回主目录 | [下一篇]
Autosar模块介绍:Memory_2(NVM
- 1 基本术语解释
- 2 NVRAM Block组成关系
- 2.1 基础Block类型
- 2.1.1 NV Block
- 2.1.2 RAM Block
- 2.1.3 ROM Block
- 2.2.4 Administrative Block
- 2.2 NVRAM Block类型
1 基本术语解释
编号 | 缩写 | 原文 | 解释 |
---|---|---|---|
1 | NV | Non Volatile | 非易失性 |
2 | NVM | NVRAM Manager | 非易失性存储管理 |
3 | Basic Storage Object | —— | NVRAM Block中最小组成单位,可存在于RAM/ROM/NV存储 |
4 | NVRAM Block | —— | Administrative存储块以及数据存储块构成的整体 |
5 | NV data | —— | 存储在非易失性存储里的数据 |
6 | Block Management Type | —— | NVRAM Block的类型,取决于NVRAM Block组成的配置信息 |
7 | NV Block Header | —— | 如果使能静态Block Id,则NV Block存在此额外信息 |
8 | RAM Block | Random Access Memory Block | 基础存储单元,存在于RAM中 |
9 | ROM Block(可选) | Read Only Memory Block | 基础存储单元,存在于ROM中 |
10 | NV Block(必选) | —— | 基础存储单元,存在于EE中 |
11 | Administrative Block(必选) | —— | 基础存储单元,存在于RAM中。用于管理NVRAM |
12 | FCFS | First come first served | 先来先处理 |
2 NVRAM Block组成关系
NVRAM Block组成关系如下图:
- NV Block、RAM Block、ROM Block、Administrative Block为NVRAM Block组成部分
- NV Data(用户数据)为NV Block、RAM Block、ROM Block组成部分
- NV Block、RAM Block、ROM Block、Administrative Block为Basic Storage Object 实现
#注意事项(UML):
1、实心菱形箭头:用于表示部分与整体的关系,由组成部分指向整体
2、空心三角形箭头:用于表示类与实现之间关系,由实现指向类定义
2.1 基础Block类型
2.1.1 NV Block
- NV Block包含三部分元素: Header(可选)、Data(用户数据)、CRC(校验数据)
- 若存在静态ID配置,NV Block Header应该包含在NV Block前面
2.1.2 RAM Block
- RAM Block包含三部分元素: Header(可选)、Data(用户数据)、CRC(校验数据)
- RAM Block格式与对应的NV Block一致
- RAM Block数据可以通过NVM Manager和应用中进行访问(从相应的NV Block中或者写入相应的NV Block)
- RAM Block在RAM中的位置不要求连续
- RAM Block在RAM中的位置是否固定取决于它所属的NVRAM Block的类型
#注意事项: - 在配置时进行数据对齐, 避免出现访问错误
2.1.3 ROM Block
- ROM Block提供默认数据,以防NV Block中数据为空或者出现数据损坏
2.2.4 Administrative Block
- 存在于RAM中,应包含NV Block的索引,以及包含属性/错误/状态信息在相应的NVRAM Block中
- 管理块对于应用程序应该是不可见的,并且由NvM模块专门用于RAM块和NVRAM块本身的安全性和管理目的
- NvM模块应使用一个属性字段来管理NV块写入保护,以保护/取消保护NV块数据字段
- NvM模块应使用一个错误/状态字段来管理最后一个请求的错误/状
2.2 NVRAM Block类型
编号 | 类型 | NV Block数量 | RAM Block数量 | ROM Block数量 | Administrative Block数量 |
---|---|---|---|---|---|
1 | NVM_BLOCK_NATIVE | 1 | 1 | 0-1 | 1 |
2 | NVM_BLOCK_REDUNDANT | 2 | 1 | 0-1 | 1 |
3 | NVM_BLOCK_DATASET | 1-(m < 256) | 1 | 0-n | 1 |
#注意事项:
- NVM_BLOCK_DATASET可能的数据集数量取决于配置参数NvMDatasetSelectionBits
- 配置的数据集(NV+ROM块)总数必须在1 - 255之间
- NV Block编号(0-m), ROM Block编号(m -(n + m - 1)), 如图2
模块操作可参考标准AUTOSAR文档
上一篇 | 返回主目录 | 下一篇