AUTOSAR_EXP_NVDataHandling 中文翻译

文档编号:038 | 状态:Final(正式发布) | 发布于:AUTOSAR CP Release 4.4.0(2018-10-31)
所属标准:AUTOSAR Classic Platform 标准 | 文档责任方:AUTOSAR | 保密等级:AUTOSAR CONFIDENTIAL

本翻译覆盖原文档 1-51 页正文,约 1.6 MB / 51 页。
原文为解释性文档(EXP, Explanatory Document),介绍 NVRAM 数据处理(Non-Volatile RAM Data Handling)的概念、架构、机制与使用方法——含 NvM/Ea/Fee/MemIf 层次化架构、块管理、CRC 校验、立即/非立即数据、写保护等。
本翻译为"忠实精翻+结构化索引"型——保留全部章节、关键概念、参考规范。


1 引言(Introduction)

本文档(EXP_NVDataHandling)介绍 AUTOSAR 平台中 NVRAM 数据处理的概念与机制。NVRAM 数据处理由一组 BSW 模块共同实现:NvM(NVRAM Manager)、MemIf(Memory Abstraction Interface)、Ea(EEPROM Abstraction)/Fee(Flash EEPROM Emulation)、Eep(EEPROM Driver)/Fls(Flash Driver)。

2 NVRAM 数据处理架构(NV Data Handling Architecture)

2.1 模块层次(Module Hierarchy)

AUTOSAR 内存栈采用分层架构:

应用层 / RTE
       │
       ▼
   NvM (NVRAM Manager)              ← 块管理与设备选择
       │
       ▼
   MemIf (Memory Abstraction Interface)  ← 设备抽象路由
       │
       ▼
   Ea (EEPROM Abstraction)  /  Fee (Flash EEPROM Emulation)  ← 设备抽象
       │
       ▼
   Eep (EEPROM Driver)  /  Fls (Flash Driver)             ← 硬件驱动
       │
       ▼
   硬件(EEPROM / Flash)

2.2 模块职责(Module Responsibilities)

3 数据概念(Data Concept)

3.1 NV 块(NV Block)

NV 块是 NVRAM 中存储的最小数据单位。每个 NV 块具有:

3.2 RAM 块(RAM Block)

RAM 块是 NvM 在 RAM 中维护的块数据副本(用于读/写访问)。NvM 维护用户应用与 RAM 块之间的数据同步。

3.3 ROM 块(ROM Block)

ROM 块存储默认值(Default Data),存储在 ROM 中。当 NV 块无效时,NvM 可将 ROM 块的默认数据加载到 RAM 块中。

3.4 立即/非立即数据(Immediate/Non-immediate Data)

立即数据:NvM 维护 RAM 块与 NV 块实时一致(应用读/写 RAM 即立即写 NV)。

非立即数据:应用通过 NvM_ReadBlock/WriteBlock 显式触发读/写。

4 配置概念(Configuration Concept)

4.1 块配置(Block Configuration)

每个 NV 块通过 NvMBlockDescriptor 配置:

4.2 块属性(Block Attributes)

属性描述
NvMBlockUseCrc使用 CRC 校验
NvMBlockWriteProtection写保护
NvMBlockEncryption加密
NvMBlockImmediateData立即数据
NvMBlockSelectBlockForReadAll参与 ReadAll 操作
NvMBlockSelectBlockForWriteAll参与 WriteAll 操作

5 操作概念(Operation Concept)

5.1 块读/写(Block Read/Write)

块读/写通过 NvM_ReadBlock/WriteBlock 显式触发:

  1. 应用调用 NvM_ReadBlock(BlockId, RamAddr) → NvM 排队;
  2. NvM 读取 NV 块(验证 CRC);
  3. 写入 RAM 块;
  4. 调用单块回调(如果配置)。

5.2 读/写所有(Read/Write All)

NvM_ReadAll/WriteAll 用于系统启动/关闭时批量加载/保存所有 NV 块。

5.3 错误处理(Error Handling)

NvM 错误状态:

6 机制(Mechanisms)

6.1 CRC 校验(CRC Check)

NvM 支持 CRC 校验以检测 NV 块数据损坏。CRC 算法由配置指定(CRC8/CRC16/CRC32)。

6.2 写保护(Write Protection)

支持静态与动态写保护:

6.3 加密(Encryption)

数据可在写入 NV 前加密、读出后解密。加密算法由配置指定(基于 CSM)。

6.4 校验和签名(Checksum Signature)

每块可存储一个校验和/签名用于验证完整性。

7 使用示例(Usage Examples)

  1. 基本读写:配置块 → 应用调用 Read/WriteBlock → NvM 处理 → 回调通知;
  2. ReadAll/WriteAll:EcuM 在启动/关闭时调用;
  3. 立即数据:配置 NvMBlockImmediateData = TRUE → NvM 维护 RAM 与 NV 实时一致;
  4. CRC 错误处理:NvM 报告 NVM_REQ_INTEGRITY_FAILED → 应用决定恢复默认数据;
  5. 写保护:配置 NvMBlockWriteProtection = TRUE → 块不可写。

8 参考文献(References)


📋 校对记录

校对轮次:L1 自动校对(2026-06-13)