Automotive Basic Software (BSW) modules for the Renesas RH850 microcontroller platform, tailored for BMW automotive requirements.
This repository provides core AUTOSAR services, OS abstraction, diagnostic event management, NVRAM management, FlexRay protocol stack, and utility scripts for integration into larger automotive ECU projects.
- FlexRay Protocol Support:
Includes FlexRay communication stack and interface modules (FrIf), diagnostic and service integration over FlexRay, and configuration files for FlexRay PDUs and signals. - NVRAM Manager: Administration of non-volatile data for EEPROM/Flash (BSW/NvM/NvM.c, BSW/NvM/NvM_Cbk.h)
- OS Abstraction: Includes timer and job interfaces (BSW/Os/Os_TimerInt.h, BSW/Os/Os_JobInt.h)
- Diagnostic Event Management: AUTOSAR DEM types (BSW/Dem/Dem_DtrIF_Types.h)
- E2E Communication: AUTOSAR end-to-end protection profiles and makefile templates (BSW/E2E/mak/E2E_rules.mak)
- OEM Extensions: Support for BMW-specific application extensions (Applications/OEM_Extensions/BM/Appl/m.bat)
- RTE & Generators: Data type definitions for RTE code generation (Generators/Rte/DTD7.6/DataType.dtd)
- Build Automation: Batch files and makefiles for BSW and Flash modules (BSW/Flash/build/b.bat)
BSW/
├── FrIf/ # FlexRay Interface modules and configuration
├── NvM/ # NVRAM Manager modules (NvM.c, NvM_Cbk.h, etc.)
├── Os/ # OS abstraction and timer/job interfaces
├── Dem/ # Diagnostic Event Manager types
├── E2E/ # End-to-end communication and AUTOSAR profiles
├── Flash/ # Flash build scripts
Applications/
└── OEM_Extensions/BM/Appl/ # BMW application extensions (m.bat)
└── OEM_Extensions/BTLD/Appl/GenData/FrIf_Cfg.h # FlexRay PDU configuration
└── OEM_Extensions/EPS/Appl/GenData/ # FlexRay PDUs/IpduM/PduR configs
Doc/
└── DeliveryInformation/DiagSystemTest/FlexRay_020.asc # FlexRay diagnostic logs
Generators/
└── Rte/DTD7.6/ # RTE datatype definitions (DataType.dtd)
DaVinciConfigurator/
└── Core/ # Tooling support (e.g., Java runtime)
Note: Only a subset of files/folders is shown.
For the full structure, browse the repo.
This BSW package includes:
- FrIf (FlexRay Interface) modules for hardware-independent abstraction and configuration
- OEM-specific FlexRay configuration files for PDUs and network signals
- Diagnostic and communication support over FlexRay (UDS, OBD, XCP, etc.)
- FlexRay protocol traces and logs available in the documentation
- Hardware: Renesas RH850 microcontroller
- Compiler: Compatible with automotive toolchains and AUTOSAR build systems
- Build Tools: GNU Make, batch script support
- Integrate the BSW modules with your automotive ECU application.
- Use the FlexRay stack and configuration for communication between ECUs using the FlexRay protocol.
- Use the NVRAM Manager for persistent data storage.
- Include OS and DEM modules for scheduling and diagnostics.
- Use E2E modules for communication protection as per AUTOSAR requirements.
- OEM extensions can be found under
Applications/OEM_Extensions/BM/Appl/
andApplications/OEM_Extensions/EPS/Appl/
.
This project is provided for educational and research purposes or authorized automotive development.
Unless otherwise specified, the code is provided under the MIT License.
See LICENSE for details.
Some files are provided “as is” and without warranty.
See module headers and delivery documentation for more information.
If you add new documentation, place it in the Doc/
or Generators/
directory and update this README.