存储器在AUTOSAR架构中是不可缺少的一部分,其内部既是源码存放的空间,也有程序运行时使用的空间。目前存储器类型主要有两种,分别是EEPROM和FLASH。这两种存储器各有优劣,并且在AUTOSAR中由不同的驱动程序驱动。

存储器在AUTOSAR中包含以下模块:

NvM:提供存储管理服务

MemIf:NvM访问不同模块的抽象层

Ea:基于Eep的Nv Block管理

Fee:基于Flash的Nv Block管理

Eep:内部或外部的Eep驱动程序

Fls:内部或外部的Flash驱动程序

NvM模块通过MemIf模块实现对每一个数据块的管理,由MemIf决定数据块调用下层哪一个驱动。

一、NvM简介

在单片机中,对存储器的访问需要考虑以下几个方面:

1.访问存储器需要驱动程序,没有驱动将无法识别该硬件;

2.在访问存储器时,是对存储器内的地址进行访问,所以要对存储器进行地址管理;

nvm
nvm-sh/nvm: 是一个 Node.js 版本管理器,用于在不同的 Node.js 版本之间进行切换。它可以帮助开发者轻松管理多个 Node.js 版本,方便进行开发和测试。特点包括轻量级、易于使用、支持跨平台等。

3.对于Flash存储器,每次刷写都会减少其固件的使用次数,所以不能频繁对同一部分进行刷写访问,这就要对刷写位置进行管理;

4.对大数据进行读写时,会持续占用处理器,所以需要对大数据读写进行管理,进行异步读写。

所以,在AUTOSAR中,存储器需要NvM模块来进行管理。

二、NvM作用

1.掉电后能保护Nv数据;

2.上电时能从非易失拷贝到RAM;

3.应用程序访问的是Nv数据的拷贝;

4.非易失数据能随时读写;

5.异步操作不阻塞其他程序;

6.用户不关注底层的地址信息;

7.支持用户回调接口;

8.数据备份与恢复机制。

推荐内容
GitHub 加速计划 / nv / nvm
56
3
下载
nvm-sh/nvm: 是一个 Node.js 版本管理器,用于在不同的 Node.js 版本之间进行切换。它可以帮助开发者轻松管理多个 Node.js 版本,方便进行开发和测试。特点包括轻量级、易于使用、支持跨平台等。
最近提交(Master分支:1 个月前 )
572c757f - 3 年前
1d39e35b - 1 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐