Status message

A Eclipse OpenBSW Creation Review has been created for this proposal.

Eclipse OpenBSW

Saturday, May 25, 2024 - 05:12 by Marco Langerwisch
This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the community. Please login and add your feedback in the comments section.
Parent Project
Proposal State
Community Review
Background

The traditional way of implementing applications on microcontroller-based ECUs has several drawbacks regarding developer attractiveness, CI/CD integration and openness for innovation. The OpenBSW stack overcomes these limitations and combines the new technical approach with an open-source mindset which should enable an innovative and lively community resulting in better SW solutions for microcontroller-based ECUs.

Scope

Eclipse OpenBSW provides an embedded C++ Basic Software Stack for microcontrollers written in C++to develop flexible and modern automotive applications. 
 

The Eclipse OpenBSW is designed to be extensible, e.g support for other communication stacks like Ethernet is planned.

Out of scope: Due to licensing terms of AUTOSAR, AUTOSAR BSW components and RTE are NOT part of the project.

Why Here?

Eclipse SDV is the perfect match for an OpenBSW stack for automotive software. The initial contribution is not meant to be complete or production ready, but to be the starting point for a vivid project based on the expertise of the SDV community.

Project Scheduling

Initial contribution is expected to be released in Q3/24

Future Work

Since Ethernet is the most important communication system in the automotive industry, adding a TCP/IP stack and protocols like DoIP has highest priority. Adding a lightweight application model (middleware) is also planned. Adding a multi-core platform and some demo use cases are also part of the roadmap for the next 12-18 month.
All future features are subject to feedback, prioritization and engagement by the community.

Description

The project provides an embedded basic software (BSW) stack for microcontrollers written in C++ (language features up to C++14 are used). 
It provides libraries for

  • lifecycle (startup/shutdown)
  • communication (CAN, DoCAN, UDS)
  • simple OS abstraction layer (reduced to scheduling and events, FreeRTOS implementation provided)
  • STL-like container classes and a lock-free SPSC queue for inter task/core  communication
  • basic I/O
  • development tools (serial console, logging framework)

A demo implementation supporting two platforms, POSIX as a virtualized environment for rapid prototyping and NXP S32K148EVB with an example BSP, is provided.
 

Initial Contribution

The initial release provides an OS abstraction layer (FreeRTOS based implementation is included), and modules for ECU lifecycle, communication protocols (CAN, CAN-ISO-TP, UDS), basic I/O support (incl. ADC and PWM) and developer tools (serial console, logging framework).   
The provided demo application contains examples of the stack’s capabilities and runs on POSIX platform as well as on an NXP S32K148EVB board.

Accenture holds the copyright.
Cf. project description
TBD NOTICE.md

Source Repository Type