
Overview
Integrating non-Autosar protocols in Autosar Stack can be challenging depending whether the protocol is planned to be used in SW Application mode or in bootloader mode.
Autosar has standardized some Automotive communication protocols (e.g, CAN, CAN FD, LIN, FlexRay,…), but it does not cover all communication protocols. Some other protocols such as UART, SPI and I2C are not fully standardized even if Autosar standardizes or provides requirements for some drivers of these protocols (e.g, SPI Handler/Driver, I2C Driver Requirements). The standard does not cover COM HW Abstraction and COM Services layers to provide IF and TP modules like CanIf or CanTp in AUTOSAR Classic, since it does not directly standardize them as part of its communication stack.
For these specific cases, a protocol like UART would have a dedicated stack outside the standard AUTOSAR BSW (Basic Software). And it’s the layer location that depends on the ECU runnable mode (Application or Bootloader).
Can non-Autosar protocols be integrated in Autosar Stack ?
Application mode – (Yes)
In case the concerned protocol is planned to be used in SW Application, Autosar provides a specified solution which is the Complex Device Driver (CDD). It’s a non-Autosar standardized module that can be used in specific cases to implement enhanced protocols.

Bootloader mode – (Yes)
In the case of bootloader, things get tricky and the enigmatic question is “Can CDD be used in bootloader in this case ?”.
It is less common but technically possible. The CDD in general interacts with BSW modules or RTE. Those layers are the two possible ways to reach Application layer. For the bootloader, CDD can implement interfaces to communicate with the FBL through the BootRouter which can act as RTE for bootloader (as discussed in Automotive ECU’s Bootloader – Part 6). For the second possibility AUTOSAR does not require CDD to use all BSW Com modules when interacting with BSW. This would then be using the flow (e.g; CDD → PduR → BootRouter → FBL). Because according to PduR specification (Section 7.8 Complex Driver Interaction) “Complex Drivers (CDD) are also possible as upper or lower layer modules for the PduR“. Which means that CDD can implement lower layer interfaces that can act as <bus> Interface or <bus> Transport modules as long as it satisfies PduR dependencies to IF and TP modules.
A second possible way to use non-Autosar protocols in bootloader is directly in its higher layer beside BM and FBL without CDD. This method is considered out Autosar Stack but common in bootloader projects since its architecture is non-Autosar standardized and its application layer can be OEM specific. But some good practices are to be taken into account for code compliance to some standards that will be discussed in future articles in Automotive ECU’s Bootloader series.
References
Specification of PDU Router – AUTOSAR CP R24-11
Complex Driver design and integration guideline – AUTOSAR CP R24-11
Leave a Reply