时间:2017-2-24来源:本站原创作者:佚名

今天给大家介绍下AutoSar是如何实现嵌入式系统中的存储器管理的。首先看一下AutoSar的软件架构。如下图所示,其中基础软件很多模块,如通信模块,IO,存储模块等,它们大致可以分为以下三层。

服务层

ECU抽象层

微控制器抽象层

这里我们主要介绍存储管理模块的内容。该模块的主要任务是:

1、为应用层提供存储服务接口,确保数据存储和维护。

2、将存储地址和属性进行抽象化处理。

该模块主要包括以下内容:

1、NvM:NVRAM(NonVolatile,非易失)Manager用来提供同步/异步服务管理维护NVdata.应用层对于MemStack的需求通过NvM来实现。

2、MemIf:MemoryAbstractionInterface用来提供NvRAMmanager与存储器抽象模块(如FEE/EA)的接口。

3、EA:EEPROM抽象化模块用来通过EEPROMDriver(Eep)管理EEPROMdevice。

4、Fee:FlashEEPROMEmulation模块用来通过FlashDriver(Fls)管理Flashdevice。

5、RamTst:RAMTest用来检查RAM的好坏。

6、FlsTst:FlashTest用来检查Flash的好坏。

7、Eep:EEPROMDriver用于EEPROM的读写,擦除。

8、Fls:FlashDriver用于Flash的读写,擦除。并且可以配置Flash的读写权限。

以存储器抽象化(FEEandEA)举例来说:

FlashEEPROMEmulation(Fee):通常是用DFLASH模拟EEPROM。

?通常将存储器分为两块。

?数据存储动态依次存储直道该块存储器存满。

?当该块存储器存满后,FEE会将各存储内容的最新状态保存在另一块存储器内,然后将存满的那块存储器擦除。

EEPROMAbstraction(Ea):直接使用EEPROM

?各模块有固定地址

?基于存储器的擦写次数,EA可以作多次备份。

在发动机控制器的硬件中通常采用FEE而非Ea。通过下图可知为何采用Flash而非EEPROM。

更多信息可以参考







































北京哪里有治疗白癜风的
重庆白癜风医院

转载请注明原文网址:http://www.gzdatangtv.com/cksc/5906.html

------分隔线----------------------------