文章参考自AUTOSAR Standards:AUTOSAR Classic Platform
相关文章:Specification of NVRAM Manager
一、NVM功能介绍
NvM模块为NV数据的管理和维护(init/read/write/control)提供所需的同步/异步服务
二、NVM-API介绍与整理
1、同步请求API
(1)NvM_Init
void NvM_Init (
const NvM_ConfigType* ConfigPtr
)
- 描述:初始化NvM模块
- ConfigPtr:NVM模块的设置集
(2)NvM_SetDataIndex
Std_ReturnType NvM_SetDataIndex (
NvM_BlockIdType BlockId,
uint8 DataIndex
)
- 描述:设置NVRAM Block 的数据索引
- BlockId:对应NVRAM Block的Block ID,一个NVRAM Block块只有1个Block ID
- DataIndex:NV/ROM Block的索引位置
- 返回值:
- E_OK:设置成功
- E_NOT_OK:发生错误
(3)NvM_GetDataIndex
Std_ReturnType NvM_GetDataIndex (
NvM_BlockIdType BlockId,
uint8* DataIndexPtr
)
- 描述:获取当前NVRAM Block的数据索引
- BlockId:对应NVRAM Block的Block ID,一个NVRAM Block块只有1个Block ID
- DataIndexPtr:当前数据集索引的位置的指针
- 返回值:
- E_OK:设置成功
- E_NOT_OK:发生错误
(4)NvM_SetBlockProtection
Std_ReturnType NvM_SetBlockProtection (
NvM_BlockIdType BlockId,
boolean ProtectionEnabled
)
- 描述:设置或者重置NV块写保护服务
- BlockId:对应NVRAM Block的Block ID,一个NVRAM Block块只有1个Block ID
- ProtectionEnabled:写保护开关是否打开【TRUE / FALSE】
- 返回值:
- E_OK:设置成功
- E_NOT_OK:发生错误
(5)NvM_GetErrorStatus
Std_ReturnType NvM_GetErrorStatus (
NvM_BlockIdType BlockId,
NvM_RequestResultType* RequestResultPtr
)
- 描述:读取块相关的错误或者状态信息
- BlockId:对应NVRAM Block的Block ID,一个NVRAM Block块只有1个Block ID
- RequestResultPtr:指向存储请求结果
- 返回值:
- E_OK:设置成功
- E_NOT_OK:发生错误
存储请求结果相关定义:
/**
* Global private array with results of last request for each NVRAM-block.
*
* Request results are part