CPAUTOSARNvM详解_新能源技术.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CPAUTOSARNvM详解 前言 在上一篇中已经对AutoSAR中模式管理BswM做了详细的介绍,这篇主要介绍的是AutoSAR中Memory管理模块NvM。? 一、AutoSAR Memory Stack整体概述 在AutoSAR架构除了横向看包含APP/RTE/BSW/MCAL等分层架构之外,对于BSW(包含MCAL)对纵向的不同功能协议栈也作了详细的划分,主要包括通信栈、内存栈、CDD、IO操作相关的纵向栈、系统服务栈、信息安全相关的协议栈,今天介绍的NvM属于内存栈的管理模块,整个内存栈在AutoSAR的定义如下所示: 在内存栈中包含服务层(NvM)、抽象层(MemIf、EA、EEP、Fee)、MCAL(Fls、SPI等)几个模块。 AutoSAR中对NV数据的存储主要包括片内存储和外部存储两种方式。片内存储,是用芯片内部的DFLASH进行数据存储;外部存储,是通过外部EEPROM进行存储,一般会调用SPI、IIC等通信方式外挂EEPROM芯片。 NVM主要提供抽象数据存储,在上电读取下电存储数据,支持Immediately存储数据,将NV data在ROM和RAM之间建立关联;MemIf实现存储数据Block在内部Flash或者外部EEP的分离操作;FEE实现对Flash的数据Block的抽象和动态数据的Layout;Flash Driver提供操作Flash的接口;EA定义外部EEPROM的存储抽象和数据的Layout;EEP提供外部EEPROM的操作接口和驱动。 二、NvM功能介绍 NvM模块负责管理和从非易失性内存中读写数据。在系统启动和关闭阶段,同步应用程序RAM区的数据。此模块还提供其他服务,例如用于上层数据保护的冗余数据单元。同时,RTE提供了简单灵活和接口(NvData Interface)用于非易失内存的数据处理。在AuoSAR架构中NvM的主要功能可以概述为以下几点: 提供了三种Block的管理类型(Native、Redundant、DataSet) 支持16bit和32bit的CRC校验 支持数据操作的优先级机制,支持Immediately写操作 给APP提供服务接口,NV Data类型的数据接口在APP层可以直接操作 NvM与APP的同步机制 用于DCM诊断的数据操作 支持操作数据读写操作的完成以及错误的回调通知 可以配置的ID处理 在AutoSAR中NvM与多个模块存在关联。RTE提供与APP交互的接口;CRCLib用于NV Data存储时CRC校验;SchM用于NvM API调度;MemIf提供下层的内部还是外部存储的区分;BswM在上、下电阶段调用ReadAll和WriteAll接口;Dem负责相关DTC等诊断数据的存储;Det用于检测开发过程中相关的错误。 01、NvM数据操作block介绍 NvM中对数据的操作一般叫做Basic storage objects,Basic storage objects是NvM中存储的最小单元,在NvM的概念中主要包括下面四种操作实体。 NV Block一般包含了用户定义的数据,其中相关的header以及CRC作为可选项使用。NV RAM一般和NV Block对应,实现数据到NV Block的读写操作,在空间分配中可以不用考虑NV RAM的内存分配地址。NV RAM数据被分配到一个SWC或者BSW模块。 NV ROM数据存在DFlash或者外部的EEPROM中,在程序执行中数据不会改变,在空的或者破坏的ROM中为默认的数据。Administrative Block是NV RAM中必须使用的,包含了DataSet类型的NvM数据管理相关的NV RAM Block的属性、状态以及错误信息,能管理NV Block的写保护,以及上次数据操作的错误以及状态信息。 02、NvM数据操作类型介绍 NvM数据的管理主要包括三种管理类型,分别是Native NVRAM block、redundant NVRAM block、Dataset NVRAM block。具体对各个Block的使用情况如下所示。 管理类型 NV?块 RAM 块 ROM 块 管理块 NVM_BLOCK_NATIVE 1 1 0..1 1 NVM_BLOCK_REDUNDANT 2 1 0..1 1 NVM_BLOCK_DATASET 256 1 0..n 1 Native NVRAM block是最简单的Block形式,该类型包括1个NV Block,1个RAM Block,1个Administrative Blocks;Redundant NVRAM block该类型包括2个NV Block,1个RAM Block,1个Administrative Blocks,通过该类型可以实现数据的冗

文档评论(0)

play + 关注
实名认证
文档贡献者

分享有帮助的文档

1亿VIP精品文档

相关文档