目录
什么是AUTOSAR?
随着汽车功能越来越多,导致ECU的数量越来越多。1993年的时候,奥迪A8才只有5个ECU现在典型的现代汽车上有超过50个ECU,有的车甚至有150个ECU。但是ECU可能是不同的供应商提供的,各厂家的标准、软件架构可能不同,OEM车厂要让这些ECU之间正常通信,是一件复杂和困难的事。供应商软件开发的工作量也很大,版本众多维护起来非常困难。在ECU中添加新功能,或者把ECU-A的功能移植到ECU-B中也不是一件简单的事。
AUTOSAR,全称Automotive Open SystemArchitecture,中文是“汽车开放系统架构”但它首先是一个组织,注意AUTOSAR不能写作AutoSAR,否则Open的含义就没有了,标志也用红色圆圈强调了开放的理念。
2003年,9家公司成立了AUTOSAR。截至2023年11月,已有350多家公司、机构加入,包括汽车制造商、部件供应商、电子和软件公司等。
CP AUTOSAR架构
传统ECU开发就相当于一个人,既要吃饭(软件)又要做饭(硬件),可能还要洗碗(硬件,释放内存),效率就比较低。而AUTOSAR像是一个食堂,硬件层就是食堂做菜师傅、锅碗瓢盆和食材,应用层相当于要吃饭的学生,中间的RTE层就相当于打菜的阿姨。学生(软件开发者)不需要关注食材(硬件,数据)是怎么洗净切好,怎么放到锅碗瓢盆(硬件,存储)中做熟,只需要和打菜阿姨(RTE上接口)说一下(通信)要什么菜(数据包),阿姨就会打给你(提供数据),如果没有菜了,阿姨就会喊(通过RTE下接口)做菜的师傅(硬件),判断还有没有菜(提供相关数据),如果没有就要赶紧做菜(执行某个操作),或者告诉学生没有菜了(硬件报错,硬件损坏,兼容性问题等)
应用层:AppL或ASWL-ApplicationSoftware Layer,实现具体应用功能一个App包含多个软件组件(SWC,Software Component)。
Service服务层:给应用层提供后台服务,如存储管理、网络管理等。
ECU抽象层:ECUAL-ECUAbstraction Layer,标准化硬件的基础功能和接口,控制网关报文转发、存储器读写等。
硬件抽象层:MCAL-MicrocontrollerAbstraction Layer,硬件相关的驱动软件。
复杂驱动:CDD-ComplexDevice Driver,承接复杂的驱动&