-
Notifications
You must be signed in to change notification settings - Fork 0
automotive_software
As automotive is a world in which the automakers often outsource the ECU design and code to other companies (an example is Bosch with it's engine ECUs), some standards has emerged over time to have a common base where each automaker can have their own features on.
Some standards are designed to provide a common basic set of features, while others are best practice guides to write safe code, and some are complete stacks, mostly for infotainment or diagnostics.
Misra is a set of guidelines for code safety used in embedded systems where reliability is key (automotive, aerospace, telecom, medical, defense, trains...)
There is currently 2 sets:
- MISRA-C, currently in it's third iteration
- MISRA-C++, currently in it's first iteration
It is most often not used directly, but included as a baseline for other guidelines, either in standards such as AUTOSAR, or in internal guidelines such as the NASA JPL C coding standards.
OSEK (and later extended to OSEK/VDX) is a standard for an automotive RTOS and network stack.
Historically, OSEK was created by a consortium of mainly german automakers and ECU OEMs, and was lated expended to OSEK/VDX when french automakers (Renault and PSA) merged their own VDX standard into OSEK.
It defines a RTOS API on top of which mcu-agnostic applications can be written. the OSEK standard assumes that the implementation of said API is arch dependant, and that the mcu doesn't use any MMU.
The consortium has been disbanded in favor of AUTOSAR, which includes OSEK standards as part of itself.
AUTOSAR is a consortium that is kind of a follow-up on OSEK/VDX.
The AUTOSAR consortium includes 2 standards:
The classic platform is an extension of OSEK/VDX, defining not only the RTOS, but also the base software API and drivers.
The adaptive platform is a re-creation from scratch of the standard, which uses much newer and higher level concepts.
GENIVI is an alliance that defines standards for automotive middleware and other parts of the infotainment system.
It can be integrated with the AUTOSAR Classic Platform using the Franca IDL.
Automotive Grade Linux is a project by the Linux Foundation that is building a framework for automotive applications, mainly infotainement systems, called the Unified Code Base (UCB in short).
It uses components from other projects by the Linux Foundation (such as Tizen) as well as components developped by the GENIVI Alliance.
Android is slowly but surely making it's way in infotainement systems, with some automakers interested in including it directly as the base of their own systems.
A connected infotainement system by Ford, doesn't seems to hold a chance against android and AGL.
Another initiative by Ford, this time that is a concurrent to OBD-II's live data, even more dead than AppLink
An AGL-like framework, seemingly by some academic with some industrial (including PSA and Renault), based on Qt5. Seems dead since 2017.