The AUTOSAR standard supports porting ECU software that was not developed according to the AUTOSAR method into the AUTOSAR world. For this purpose, AUTOSAR defines a specific Complex Driver.
It can be understood as a special type of SWC which does not require a formalized description based on the SWC template.
A Complex Device Driver may directly access the AUTOSAR basic software without using the RTE. This means that, from the perspective of the application, “only” the basic software has changed, while the application can largely remain as it is. The application can also be considered a complex device driver in the framework of the migration. This may be understood as the first step towards an AUTOSAR software architecture. This first step is the most cost-effective variant from the perspective of development effort.
Using this approach, it is already possible to benefit from parts of the AUTOSAR functionality, e.g. by having content of the application called by the RTE periodically, or having communication and diagnostics run over the RTE, while implementation of the application core is still not AUTOSAR conformant.
Over the long term, the portions of the application that are not modeled according to AUTOSAR are eliminated; in particular all task bodies and calls into the operating system as well as all points with interrupt blocking and other basic software accesses. They are replaced by AUTOSAR compliant elements. If a good design approach is used here, the application portions can be implemented more efficiently than before.