当前位置: 首页 > news >正文

Autosar NVM配置参数

1.NvM_BlockIdType

NvM_BlockIdType 是AUTOSAR NVRAM Manager (NvM)模块中的核心数据类型,用于唯一标识一个NVRAM数据块。

属性

说明

用途

唯一标识一个NvM Block(NVRAM数据块)

范围

0 ~ (总Block数-1),其中 0 和 1 保留

配置来源

由NvM模块配置工具(如EB tresos、DaVinci)自动生成

Block ID 的预留规则

Block ID

保留用途

说明

0

NvM_MultiBlock

多块请求(同时操作所有Block)

1

NvM_ConfigId

用于NvM配置集的切换

用户自定义Block从2开始分配

#include "NvM.h"

// 读取Block ID为 5 的NVRAM数据到RAM

NvM_ReadBlock(5, &MyRamData); 

// 写入RAM数据到Block ID为 5 的NVRAM

NvM_WriteBlock(5, &MyRamData);

<NvMBlockIdentifier>2</NvMBlockIdentifier>    <!-- BlockIdType = 2 -->

2.NvMWriteBlockOnce

NvMWriteBlockOnce(或 NvM_WriteBlockOnce)是AUTOSAR NvM (NVRAM Manager)模块中的一个配置参数/功能属性,用于控制NVRAM数据块的写入行为。

属性

说明

全称

NvM Write Block Once / NvM只写一次块

功能

限制该NVRAM块在ECU生命周期内只能被写入一次

典型应用

VIN码、硬件序列号、密钥、校准常量等不可变更的数据

安全机制

防止意外或恶意覆盖关键固化数据

         NvM_WriteBlockOnce 机制       
  首次写入前:Block状态 = "未写入/空白"  
    ↓ 调用 NvM_WriteBlock()           
  首次写入:✓ 允许,标记为"已写入"        
    ↓ 再次调用 NvM_WriteBlock()      

  后续写入:✗ 拒绝,返回 E_NOT_OK        
          (或静默忽略,取决于实现)

3.NvMCalcRamBlockCrc

NvMCalcRamBlockCrc 是AUTOSAR NvM (NVRAM Manager)模块中的一个配置参数,用于控制RAM块CRC校验码的自动计算行为

属性

说明

全称

NvM Calculate RAM Block CRC / NvM RAM块CRC计算

功能

启用后,NvM会在后台任务中自动周期性计算RAM数据的CRC

目的

检测RAM数据在运行时的意外损坏(内存位翻转、电磁干扰等)

对比对象

NvMBlockUseCrc(NVM块CRC,用于写回Flash时的校验)

┌─────────────────────────────────────────────────────────┐
│              NvMCalcRamBlockCrc 工作机制                 │
├─────────────────────────────────────────────────────────┤
│  1. 后台任务 NvM_MainFunction() 周期性执行               │
│              ↓                                          │
│  2. 每次处理部分Block的RAM CRC计算(分片处理,防阻塞)     │
│              ↓                                          │
│  3. 计算结果与存储的CRC值比较                            │
│              ↓                                          │
│  4. 若不一致:标记数据损坏,可触发恢复机制(从NVM重载)    │
└─────────────────────────────────────────────────────────┘

配置项

依赖条件

NvMCalcRamBlockCrc = true

要求 NvMBlockUseCrc = true

NvMCalcRamBlockCrc = true

要求 NvMRamBlockDataAddress 有效(显式RAM镜像)

特性

NvMBlockUseCrc (NVM CRC)

NvMCalcRamBlockCrc (RAM CRC)

计算时机

写入Flash前 / 从Flash读取后

运行时后台周期性计算

存储位置

CRC值随数据存入Flash

CRC值保存在RAM(NvM内部管理)

检测目标

Flash数据损坏/传输错误

RAM数据损坏(软错误/位翻转)

安全等级

中(持久化保护)

高(运行时完整性监控)

CPU开销

低(仅在读写时)

中(周期性后台计算)

4.NvmSelectBlockForReadall

NvMSelectBlockForReadAll 是AUTOSAR NvM (NVRAM Manager)模块中的一个配置参数,用于控制NVRAM块是否参与 NvM_ReadAll() 批量读取操作

属性

说明

全称

NvM Select Block For Read All / NvM选择块参与批量读取

功能

决定该NVRAM块是否在ECU启动时通过

5.NvMStaticBlockIDCheck

NvMStaticBlockIDCheck 是AUTOSAR NvM (NVRAM Manager)模块中的一个配置参数,用于控制NVRAM块的静态ID校验机制,确保物理存储中的数据块与预期的逻辑块标识符匹配,防止因存储器损坏或配置错误导致的数据错位。

属性

说明

全称

NvM Static Block ID Check / NvM静态块ID校验

功能

在NVRAM块头部写入永久性的Block ID标识,读取时验证一致性

目的

检测物理存储器损坏、地址映射错误或配置工具版本不匹配

校验内容

配置时确定的Block ID(非运行时动态分配)

┌─────────────────────────────────────────────────────────┐
│           NvMStaticBlockIDCheck 工作机制               │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  【写入流程】                                            │
│  用户数据 → NvM_WriteBlock()                             │
│     ↓                                                   │
│  ┌─────────────────────────────────────────┐            │
│  │  NVM物理块布局(启用Static ID Check)     │            │
│  │  ┌──────────┬──────────┬──────────────┐  │            │
│  │  │ Static ID│   CRC    │  用户数据     │  │            │
│  │  │ (2字节)  │ (2/4字节)│  (NvBlockLength)│            │
│  │  │ 0x000A   │ 0xA5B6   │  [实际数据...]│  │            │
│  │  └──────────┴──────────┴──────────────┘  │            │
│  │       ↑                                 │            │
│  │   配置时固定的Block ID = 10 (0x000A)      │            │
│  └─────────────────────────────────────────┘            │
│     ↓ 写入Flash/EEPROM                                  │
│                                                         │
│  ─────────────────────────────────────────────          │
│                                                 &nb

http://www.jsqmd.com/news/512912/

相关文章:

  • 2026年充电桩加盟品牌推荐:光储充一体化技术趋势适配全场景解决方案盘点 - 品牌推荐
  • 食品FDA认证:确保食品周边产品安全的标准
  • 2026年好用的数据分析软件推荐:高效工具助力业务决策 - 品牌排行榜
  • AI写论文强推!4款实用AI论文生成工具,助力职称论文写作!
  • DAY 2 linux快捷键和基本指令
  • 2026年智能床垫品牌推荐:办公久坐族护脊健康软件联动热门型号分析 - 品牌推荐
  • [Python] 你以为是编码问题,其实是路径问题:一篇讲透中文路径踩坑
  • 从「养虾」到软件开发,AI落地的正确姿势
  • 收藏!小白程序员快速入门:AI Agent(以OpenClaw为例)核心原理与实践教程
  • 2026年四通球阀制造厂家推荐,品质与服务双重保障,可靠的四通球阀有哪些10年质保有保障 - 品牌推荐师
  • GPS原理笔记三——GPS卫星轨道理论和计算
  • 收藏备用!AI工程师两大门派详解,小白/程序员入门大模型必看
  • 收藏!23个AI基础术语,小白也能轻松看懂大模型(附ChatGPT等实例)
  • langchain模型;LangChain与LangGraph在应用场景上的区别;
  • 解锁文献综述新境界:书匠策AI的“智慧魔法”
  • 收藏!小白程序员轻松入门大模型核心概念:RAG、Agent与工具调用
  • k3s集群启动失败分析日志关键错误failed to find cpu cgroup (v2)
  • xLSTM首秀功率预测!Time2Vec+TCN级联架构:如何让光伏MAE再降5%?
  • 零代码平台 2026 发展报告:轻流 AI 重塑业务流程管理
  • 2026商用免许可音乐全攻略:合法商用无压力的优质平台终极盘点
  • Matlab/simulink 风电场调频,风电调频,双馈风机调频。 调频策略协调,虚拟惯性...
  • LangChain Agent 是一个能“自主决策 + 调用工具”的 LLM 应用框架。
  • 记一次生产环境MQ队列积压150W问题分析与解决方案
  • 云原生PLM为何能成为企业新宠?深度解析其核心优势与未来演进之路
  • Hive学习记录第一章
  • VOOHU——工业级千兆网络变压器选型要点:从宽温要求到封装选择
  • 计算机系统基础知识(七):软件篇之数据库系统详解
  • AI 学习测试文章
  • Java 集合框架工具类与性能优化实战
  • 英伟达旗舰发布年代图,H200,B200,B300参数对比图。 #AI计算#英伟达GPU