automotive software(OSEK & AUTOSAR) logo

automotive software(OSEK & AUTOSAR)

Free

Because I am not powerful so I decided to develop tiny but smart part of automotive software based on open source, and create a general AUTOSAR & Automotive Software study environment.

FreeFree tier
Type
Open Source

About automotive software(OSEK & AUTOSAR)

An open-source implementation of automotive software (OSEK/VDX OS and AUTOSAR) and its tool-chain, primarily for study and development purposes. The project integrates a Basic Software (BSW) stack based on ArcCore AUTOSAR 3.1, including Communication (CAN, CAN FD, CAN Interface, PDU Router, COM, SoAd, J1939TP), Diagnostic (CAN TP, DCM, DoIP, DEM), System (ECU Manager, Schedule Manager), and Memory (Flash, EEP, EA, NVM, MemIf) modules. It also features ASKAR, an OSEK/VDX RTOS with POSIX API support, running on multiple CPU architectures (ARM, PowerPC, Intel x86, S12). Includes a GUI-based BSW configuration tool (OpenSAR), integration with AUTOSAR Linux communication (virtio, remoteproc, rpmsg), Lua and Python scripting support, and a versatile Python tool (as.one.py) for DCM, XCP, bootloader, and more. The project is designed to be simulated on Windows and Linux, and includes a USB2CAN device firmware.

Key Features

Integrated ArcCore AUTOSAR 3.1 BSW stack with Communication, Diagnostic, System, and Memory modules
ASKAR RTOS – an OSEK/VDX OS with POSIX API support (threads, semaphores, mutex, message queues, signals)
Supports multiple CPU architectures: ARM (Cortex-M3, ARM926, Cortex-A57 multicore), PowerPC (mpc5634), Intel i386, S12 (mc9sxep100)
AS Mini BSW for small-footprint bootloader implementation
GUI-based BSW configuration tool (OpenSAR) automatically generated from XML
AUTOSAR Linux communication via virtio, remoteproc, and rpmsg
Lua and Python integration with CAN device support (CANcaseXL, PeakCAN, SocketCAN, ZLG USBCAN) and miscellaneous device interface (rs232, etc.)
Powerful Python tool (as.one.py) for DCM, XCP, Bootloader, and other tasks
Third-party package integration: LWIP, contiki-net, FatFS, LVGL, libelf, DTC/LIBFDT, and more
Includes USB2CAN device firmware (stm32f107vc)

Pros & Cons

Pros
  • Open-source and free to use, modify, and study
  • Covers a wide range of AUTOSAR BSW modules (Communication, Diagnostics, Memory, System)
  • Supports multiple CPU architectures, including ARM multicore
  • Includes a full OSEK RTOS with POSIX APIs, easing Linux application porting
  • Comes with a GUI configuration tool and Python/Lua scripting for automation
  • Can be simulated on both Windows and Linux without special hardware
  • Active community (1k stars, 482 forks) with extensive documentation and examples
Cons
  • The original repository (as-deprecated) is no longer actively supported; new development is at a separate repository (autoas/as)
  • Primarily a study and research project, not production-ready for commercial automotive applications
  • Documentation may be limited; setup instructions are in the wiki as-study-platform
  • Some components (e.g., AS Mini BSW) are simplified and may lack full AUTOSAR compliance

Best For

Learning and studying AUTOSAR and OSEK/VDX standardsPrototyping and simulating automotive ECUs on Windows and LinuxDeveloping bootloaders with a minimal OSEK BSW stackBuilding and testing CAN-based communication and diagnostics (DCM, DoIP, XCP)Integrating AUTOSAR software with Linux-based automotive systemsExploring embedded RTOS design with POSIX API compatibilityEducation and research in automotive embedded software

FAQ

What is the purpose of this project?
To provide a tiny but smart part of automotive software based on open source, creating a general AUTOSAR and Automotive Software study environment.
What AUTOSAR version does the BSW implement?
The BSW is based on ArcCore AUTOSAR 3.1.
What RTOS does the project use?
It uses ASKAR, an OSEK/VDX OS with POSIX API support, inspired by various open-source RTOS.
Which CPU architectures are supported?
ARM (Cortex-M3, ARM926, Cortex-A57 multicore), PowerPC (mpc5634), Intel i386, and S12 (mc9sxep100).
Can this run on actual hardware?
Yes, it supports CAN hardware (CANcaseXL, PeakCAN, SocketCAN, ZLG USBCAN) and includes a USB2CAN device firmware for STM32. It can also be simulated.
Is the project still maintained?
The original repository (as-deprecated) is no longer active. A new project has been started at https://github.com/autoas/as.