Openbsw
OpenBSW: A Code-first Software Platform for Automotive Microcontrollers
Install / Use
/learn @eclipse-openbsw/OpenbswREADME
Eclipse OpenBSW
Build Status 🚀
Code Coverage
| Code Coverage | Status |
|--------------------------|------------------------------------------------------------------------|
| Line Coverage | |
| Function Coverage |
|
Overview
Eclipse OpenBSW is an open source SDK to build professional, high quality embedded software products. It is a software stack specifically designed and developed for automotive applications.
This repository provides the complete code, documentation and a reference example that works out of the box without any specific hardware requirements (any POSIX platform) allowing developers to get up and running quickly.
Target Audience
-
Open Source Enthusiasts: Enthusiasts and hobbyists passionate about automotive technology and interested in contributing to open source projects, collaborating with like-minded individuals and exploring new ideas and projects in the automotive domain.
-
Embedded Systems Developers: Developers specializing in embedded systems programming, microcontroller firmware development and real-time operating systems (RTOS), who are interested in automotive applications.
-
Automotive Engineers: Professionals working in the automotive industry, including engineers, designers and technicians, who are interested in developing and improving automotive technologies, systems and components.
-
Students and Researchers: Students, researchers, and academic institutions interested in learning about automotive technologies, conducting research, and exploring innovative solutions in automotive areas.
Getting Started
To get started, we recommend to compile our reference application for one of the supported platforms using the docker image we provide including all the necessary tools. Therefore, you can simply run the development service in the docker compose in the root of the repo, call cmake with the correct options and build the generated project.
[!NOTE]
In case your local user already uses
UID/GIDof1000you can skip theDOCKER_UIDandDOCKER_GIDvariables, since this is the default. Otherwise, you need it to make sure you have proper access to your local files.In case you want to use a custom history file for the commands you run in the container you can also set the
DOCKER_HISTORYvariable, which defaults to the~/.docker_historyfile.Note, that we bind mount your current working directory into the container and use it as working directory. This makes sure, that you will have the same paths inside and outside of the container when for example loading a generated elf into a debugger or following symlinks created within the container.
host> DOCKER_UID=$(id -u) DOCKER_GID=$(id -g) docker compose run --build development
docker> cmake --preset posix
docker> cmake --build --preset posix
Feature Overview
Implemented Features
| Feature | Description | POSIX Support | S32K148 Support | New? |
| --- | --- | --- | --- | --- |
| Modular design | Based on each project's needs, required software modules can easily be included or excluded. | Yes | Yes | |
| Application Lifecycle Management | The order in which Applications/Features are brought up/down is easily organised. | Yes | Yes | |
| Console | A console is provided for diagnostic and development purposes. | In a terminal interface | Via UART | |
| Commands | Commands can easily be added to the console to aid development, test and debugging. | Yes | Yes | |
| Logging | Diagnostic logging is implemented per software component. | Yes | Yes | |
| CAN | Support for CAN bus communication | If SocketCAN is supported | Yes | Since Release 0.1 |
| Sensors and actuators integration | ADC, PWM & GPIO | | Yes | |
| UDS, DoCAN | Diagnostics over CAN | If SocketCAN is supported | Yes | Since Release 0.1 |
| Ethernet | Basic TCP and UDP support | Yes | Yes | On current main |
| Storage | Persistent data storage on EEPROM and Flash | Yes | Yes | On current main |
Roadmap
See GitHub Issues.
Documentation
The documentation describes Eclipse OpenBSW in detail and provides simple setup guides to build and use it.
Contributing
It is expected that this repository will be used as a starting point for many custom developments. You may wish to contribute back some of your work to this repository. For more details see CONTRIBUTING.
Legals
Distributed under the Apache 2.0 License.
Also see NOTICE.
Related Skills
node-connect
351.8kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
110.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
351.8kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
351.8kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
