Skip to content

Latest commit

 

History

History
83 lines (64 loc) · 2.82 KB

File metadata and controls

83 lines (64 loc) · 2.82 KB

AUTOSAR Memory Stack - Driver Profile Persistence

A demonstration of the AUTOSAR R4.3.1 Memory Stack implementing driver comfort settings and odometer persistence.

Overview

This project implements a simplified but functional AUTOSAR Memory Stack for educational purposes. It demonstrates:

  • NvM (NVRAM Manager) - Block management, ReadAll/WriteAll operations
  • MemIf (Memory Abstraction Interface) - Routing between Fee and EA
  • Fee (Flash EEPROM Emulation) - Flash storage with wear-leveling concepts
  • EA (EEPROM Abstraction) - Direct EEPROM access
  • Fls/Eep (Drivers) - Simulated Flash and EEPROM using files

Use Case

Data Storage Reason
Driver Profile (Seat, Mirrors) Flash via Fee Rarely updated, larger storage
Odometer EEPROM via EA Frequently updated, higher endurance

Building and Running

# Build
make

# Run the demo
./autosar_demo

# Run again to see data persistence
./autosar_demo

# Reset to fresh state
make reset

Project Structure

MemStack_Demo/
├── main.c              # ECU lifecycle simulation
├── Makefile            # Build configuration
├── inc/                # Header files
│   ├── NvM.h, NvM_Types.h
│   ├── MemIf.h, MemIf_Types.h
│   ├── Fee.h, Ea.h
│   ├── Fls.h, Eep.h
│   └── Autosar_CDD.h
├── src/                # Implementation
│   ├── NvM.c           # NVRAM Manager
│   ├── MemIf.c         # Memory routing
│   ├── Fee.c, Ea.c     # Abstraction layers
│   ├── Fls.c, Eep.c    # Simulated drivers
│   └── Autosar_CDD.c   # Application logic
└── docs/               # Documentation

Architecture

┌─────────────────────────────────────┐
│  Application (Autosar_CDD)          │
├─────────────────────────────────────┤
│  NvM (NVRAM Manager)                │
├─────────────────────────────────────┤
│  MemIf (Memory Interface)           │
├──────────────────┬──────────────────┤
│  Fee (Flash)     │  EA (EEPROM)     │
├──────────────────┼──────────────────┤
│  Fls (Driver)    │  Eep (Driver)    │
└──────────────────┴──────────────────┘

References

  • AUTOSAR R4.3.1 SWS NVRAMManager
  • AUTOSAR R4.3.1 SWS FlashEEPROMEmulation
  • AUTOSAR R4.3.1 SWS EEPROMAbstraction

Author

Vehicle Architecture Project - UPT Timișoara