A demonstration of the AUTOSAR R4.3.1 Memory Stack implementing driver comfort settings and odometer persistence.
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
| Data | Storage | Reason |
|---|---|---|
| Driver Profile (Seat, Mirrors) | Flash via Fee | Rarely updated, larger storage |
| Odometer | EEPROM via EA | Frequently updated, higher endurance |
# Build
make
# Run the demo
./autosar_demo
# Run again to see data persistence
./autosar_demo
# Reset to fresh state
make resetMemStack_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
┌─────────────────────────────────────┐
│ Application (Autosar_CDD) │
├─────────────────────────────────────┤
│ NvM (NVRAM Manager) │
├─────────────────────────────────────┤
│ MemIf (Memory Interface) │
├──────────────────┬──────────────────┤
│ Fee (Flash) │ EA (EEPROM) │
├──────────────────┼──────────────────┤
│ Fls (Driver) │ Eep (Driver) │
└──────────────────┴──────────────────┘
- AUTOSAR R4.3.1 SWS NVRAMManager
- AUTOSAR R4.3.1 SWS FlashEEPROMEmulation
- AUTOSAR R4.3.1 SWS EEPROMAbstraction
Vehicle Architecture Project - UPT Timișoara