What is AUTOSAR Memory Stack | Software modules and device drivers
This blog is part of a series of articles to help you learn about layered architecture of AUTOSAR.
Through this article our AUTOSAR development team, which is based in Bangalore, India, has tried to share knowledge with the community of AUTOSAR developers and automotive OEMS and Suppliers.
In this blog we will introduce you to AUTOSAR Memory Stack (MemStack). This will help you understand the software modules and device drivers associated with Memory Stack.
Introduction: AUTOSAR Memory Stack (MemStack):
Memory Stack (MemStack) provides basic memory management services to the upper Application layer and to the Basic Software Modules (BSW) of the AUTOSAR layered architecture.
The memory management services ensure access to the memory cluster, to the devices or software functions, for reading and writing data to non-volatile memory media like Flash or EEPROM
The following block diagram show various software modules and device drivers associated with AUTOSAR Memory Stack:
(Source – ARC CORE)
Software Modules and Device Drivers – AUTOSAR MemStack
Memory Stack in AUTOSAR layered architecture is a collection of software modules and device drivers.
Following is the list of modules in different layers of AUTOSAR:
- Non-Volatile Memory Manager (NvM) – it is part of the AUTOSAR Services Layer
- Memory Interface (MemIf) – it is part of the AUTOSAR ECU Abstraction Layer
- Flash EEPROM Emulation (Fee) – it is part of the AUTOSAR ECU Abstraction Layer
- EEPROM Abstraction (Ea) – it is part of the AUTOSAR ECU Abstraction Layer
- Flash Driver (Fls) – it is part of the AUTOSAR MCAL Layer
- EEPROM Driver (Eep) – it is part of the AUTOSAR MCAL Layer
Description of AUTOSAR Memory Stack software modules
- Non-Volatile Memory Manager (NvM): The NvM module ensures data storage and maintenance of NV (non volatile) data according to the individual requirements in an automotive environment.
The NvM module manages the NV data of an EEPROM and/or a FLASH EEPROM emulation device.
- Memory Interface (MemIf) Module: The Memory Abstraction Interface (MemIf) module facilitates abstraction from the underlying FEE and EA modules. Hence MemIf module provides upper layer (NvM) with a virtual segmentation on a uniform linear address space.
This ensures that the Non-Volatile Memory Manager (NvM) is independent of the driver interface layers of EEPROM (Eep) and Flash interface (Fls)
- EEPROM Abstraction (Ea): EEPROM driver provides services for reading, writing, erasing data to/from an EEPROM. It also provides a service for comparing a data block in the EEPROM with a data block in the memory (e.g. RAM).
Ea module facilitates abstraction from the addressing scheme of underlying EEPROM driver and hence provides a uniform addressing scheme.
This ensures that the upper layer (NvM) need not be changed if the underlying EEPROM driver and device is replaced.
- Flash EEPROM Emulation (FEE) Module: The Flash EEPROM Emulation (FEE) abstracts from the device, a specific addressing scheme and segmentation.
This provides the upper layers (NvM) with a virtual addressing scheme, segmentation as well as a “virtually” unlimited number of erase cycles.
- Flash Driver (Fls): Fls Driver Initializes Flash and reads/writes to Flash memory.
- EEPROM driver (EeP): EEPROM driver provides services for reading, writing, erasing to/from an EEPROM.
It also provides a service for comparing a data block in the EEPROM with a data block in the memory (e.g. RAM).
Related posts on AUTOSAR software development
- AUTOSAR Microcontroller Abstraction Layer (MCAL): Learn about the fundamentals of the MCAL layer from our AUTOSAR team. Know more about the various device drivers and the layered architecture of the AUTOSAR MCAL. And get the details about how the Microcontroller Abstraction Layer (MCAL) works
- AUTOSAR Communication Stack (ComStack): Our AUTOSAR development team explains what are the different software modules of a Communication Stack (ComStack). Also, learn about the software modules of CAN based Communication Stack in AUTOSAR
- AUTOSAR Development partnership: Find out what is AUTOmotive Open System Architecture (AUTOSAR) development partnership and why OEMs, Tier-I suppliers, Semiconductor Vendors and Embedded hardware and software service providers collaborated to form this global partnership
AUTOSAR development: Customer Success stories
- Implementation of AUTOSAR compliant MCAL (Microcontroller Abstraction Layer)
- AUTOSAR compliant ECU software development