AUTOSAR 存储

发布时间:2026/9/29 10:16:34

AUTOSAR 存储
目前用户能用的ROM存储方式一般有两种EEPROM简称Eep和FLASH仿EEPROM简称Fls。这些存储部件可以是片内的也可以是片外的如果是片外存储则一般需要通过SPI实现主芯片与片外ROM的通信。EEPROM (Electrically Erasable Programmable Read Only Memory)电可擦可编程只读存储器–一种掉电后数据不丢失的存储设备简称Eep。可以随机访问和修改任何一个字节可以往每个bit中写入0或者1。掉电后数据不丢失具有更高的可靠性但是电路复杂成本也高。Flash表示Flash Memory的意思是存储芯片的一种即平时所说的“闪存”可以通过特定的程序修改里面的数据全名叫Flash EEPROM Memory简称Fls。它的最大特点是必须按块Block擦除但成本相对较低。按照Classic AUTOSAR的分层架构思想存储模块在BSW中主要分为存储服务、存储硬件抽象以及存储驱动组成AUTOSAR 存储协议栈注MCU微控制器将FLASH又分为Pflashprogram flash和Dflashdata flashPflash用于存储程序代码和只读数据。而Dflash则用于存储应用程序中的可变数据程序逻辑代码宏定义Dflash允许在运行时对数据进行擦除和编程。全局变量局部变量Flash模拟EEPROM是在Dflash存储服务存储服务Memory Service只包含一个模块即NVRAM Manager简称NvMNvM负责管理非易失性数据的读写以及擦除等操作是应用层访问非易失性数据的唯一接口并提供非易失性数据管理机制如保存、加载、校验、保护、验证以及可靠存储等。存储硬件抽象存储硬件抽象Memory Hardware Abstraction是从存储设备片内或片外和ECU硬件布局中抽象出来的一组模块主要作用对EEPROM以及Flash存储器访问的抽象并封装成抽象接口MemIf通过存储抽象接口实现对这两种硬件的通用访问并提供一组相同的API接口实现对不同厂商、不同类型存储设备的读、写、擦除等操作。存储驱动存储驱动Memory Drivers片内或片外ROMEEPROM或Flash的驱动程序一般由芯片厂商提供Autosar模块交互与各模块作用模块(NVM 、FEE 、FLS)①NVMNVM模块通过将数据元素抽象成Block 进行统一管理NvM所有的功能都是以Block为单元主要负责管理和从非易失性内存中读写数据在上电和下电阶段同步应用程序RAM区的数据RTE提供了简单灵活的接口NvData Interface用于非易失内存的数据处理。在AutoSAR中NvM与多个模块存在关联。1、RTE提供与APP交互的接口2、CRCLib用于NV Data存储时CRC校验3、SchM用于NvM API调度4、MemIf提供下层的内部还是外部存储的区分5、BswM在上、下电阶段调用ReadAll和WriteAll接口6、Dem负责相关DTC等诊断数据的存储7、Det用于检测开发过程中相关的错误。在AutoSAR架构中NvM主要功能可以概述为以下几点:1、提供了三种Block的管理类型Native、Redundant、DataSet Block 分类2、支持16bit和32bit的CRC校验3、支持数据操作的优先级机制支持Immediately写操作4、用于DCM诊断的数据操作Block分类项目中 使用 Block 分类为NVM_BLOCK_NATIVENative block是最简单的Block形式该类型包括1个NV Block1个RAM Block1个Administrative BlocksRedundant block该类型包括2个NV Block1个RAM Block1个Administrative Blocks通过该类型可以实现数据的冗余备份存储。Dataset block 是由多个大小相等的数据组成APP在一次操作中获得其中的一个元素每一个DataSet的位置可以通过Administrative Blocks获得NvM可以读取选择的ROM Block。Dataset NVRAM类型的设计可以根据需要对一个数据在NvRAM中以一定的循环偏移进行存储每一次存储位置可以不同实现对NvRAM的寿命延长。Ram Block : 位于 RAM 中 存放应用待读/待写的数据Rom Block : 位于 PFlash 中存放 Block 默认数据 用于数据读取失败后恢复默认数据Administrative Block位于 RAM 中保存所有Data Block 的错误/状态/Crc 等信息NV Block: 位于非易失性存储器中 用于保存非易失数据NV Block一般包含了用户定义的数据其中相关的header以及CRC作为可选项使用。NV RAM一般和NV Block对应实现数据到NV Block的读写操作NV ROM数据存在DFlash或者外部的EEPROM中在程序执行中数据不会改变在空的或者破坏的ROM中为默认的数据。Administrative Block是NV RAM中必须使用的包含了DataSet类型的NvM数据管理相关的NV RAM Block的属性、状态以及错误信息能管理NV Block的写保护以及上次数据操作的错误以及状态信息。

相关新闻

【机器学习入门】朴素贝叶斯算法

【机器学习入门】朴素贝叶斯算法

2026/9/7 12:16:19

文章目录 前言一、核心理论:贝叶斯定理与“朴素”假设1.1 贝叶斯定理基础公式1.2 朴素假设(朴素贝叶斯的核心)1.3 手工演算示例1.4 拉普拉斯平滑(alpha参数的作用) 二、sklearn 朴素贝叶斯三、朴素贝叶斯算法案例3.1 G…

运维实操分享|ESXi 9.1.0.0200全新集成全驱动定制镜像,DIY 迷你主机 / 台式机完美兼容

运维实操分享|ESXi 9.1.0.0200全新集成全驱动定制镜像,DIY 迷你主机 / 台式机完美兼容

2026/9/7 20:24:23

最近不少同行私信提问,自己组装台式、迷你主机搭建 Homelab 虚拟化环境,使用官方原版 ESXi 部署总是踩一堆硬件兼容坑:各类新旧 NVMe 固态识别失败、USB 外置 2.5G/5G 网卡无驱动、主板瑞昱螃蟹网卡装好直接断网,手动 PowerCLI 封…

MetaGPT | 第十三章:配置系统与 LLM Provider 适配

MetaGPT | 第十三章:配置系统与 LLM Provider 适配

2026/9/9 5:35:27

预计阅读时间:50 分钟 难度等级:进阶 本章导读 前面几章我们已经读完了从需求到 PRD、系统设计、任务拆解、代码生成和项目仓储模型的主链路。 这些能力最终都离不开一个基础问题: Action 调用 LLM 时,到底使用哪个模型、哪个 API 地址、哪个 Provider、哪个超时和哪个…

CANN/GE ACL数据集缓冲区添加函数

CANN/GE ACL数据集缓冲区添加函数

2026/9/28 4:08:17

aclmdlAddDatasetBuffer 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、Te…

用ffmpeg高效批量调整图片尺寸的实战指南

用ffmpeg高效批量调整图片尺寸的实战指南

2026/9/28 16:01:49

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

2026/9/28 2:15:29

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱 【免费下载链接】transformers 🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and mu…

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

2026/9/28 3:14:54

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system sup…

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

2026/9/28 3:58:00

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

2026/9/28 3:47:14

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system supporting mi…

远程协作的工作台整理

远程协作的工作台整理

2026/9/28 16:01:48

远程协作的工作台整理远程协作的核心不是再加一个工具,而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/28 5:05:21

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/28 16:01:48

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…