AUTOSAR之方法论

发布于 2023-6-13 15:43
浏览
0收藏

AUTOSAR方法论是啥呢?

AUTOSAR为汽车电子软件系统开发定义了通用的技术方法,即AUTOSAR方法论。

 

为啥AUTOSAR需要给我们定义方法论?

AUTOSAR方法论描述了从系统底层配置到整个ECU可执行代码的产生过程的设计步骤。AUTOSAR的开发方法是基于虚拟功能总线(VFB)的开发方法。

笔者先用一道非常著名的辣椒炒肉来给大家简要解释AUTOSAR方法论。AUTOSAR方法论就像菜谱,我们只需要按照菜谱上写好的原料、工具和步骤,就能做出一道美味的辣椒炒肉。

AUTOSAR之方法论-汽车开发者社区

其中:

做菜的工具锅、碗瓢盆:我们可以使用AUTOSAR工具完成整个过程的软件开发。

辣椒、肉(ARXML文件):AUTOSAR中基础软件层与应用层,MCAL与BSW之间都需要文件进行交互,但是不可能用Word交换这些信息。比如OEM想要告诉TIER1车辆的CAN报文有哪些内容,使用WORD的话,OEM编辑起来费时费力,TIER1阅读起来也费事费力。所以AUTOSAR规定了一种新的文件格式:ARXML,用ARXML可以很简洁的表现大量的数据,所以ARXML承载了AUTOSAR配置过程中所有的信息。

炒菜出锅:(系统配置——》ECU设计与配置阶段——》生成代码)

 

接下来详细介绍AUTOSAR设计和开发流程:系统配置、ECU设计与配置阶段、代码生成阶段。

第一阶段:定义系统配置文件。这是系统设计者或架构师的任务。包括选择硬件和软件组件,定义整个系统的约束条件。AUTOSAR通过使用信息交换格式和模板描述文件来减少初始系统设计时的工作量。系统配置的输入是ARXML类型的文件,输出是系统配置描述文件,系统配置的主要作用是把软件组件的需求映射到ECU上。

第二阶段:根据系统配置描述文件提取单个ECU资源相关的信息,提取出来的信息生成ECU提取文件。根据这个提取文件对ECU进行配置,例如操作系统任务调度,必要的BSW模块及其配置,运行实体到任务的分配等,从而生成ECU配置描述文件。该描述文件包含了特定ECU的所有信息。

第三阶段:生成代码,是基于ECU配置描述文件指定的配置来产生代码、编译代码,并把相关代码链接起来形成可执行文件

 

AUTOSAR之方法论-汽车开发者社区

上图中描述了AUTOSAR规定的软件开发整个过程:

1.构建系统约束:搭建系统约束其实就是对整个系统做一个系统性的功能性出发,建立一些约束。

这一阶段需要做:确定虚拟功能总线中(VFB)有哪些组件,接口、模式、数据类型、软件组件、软件composition(Composition就是多个软件组件的功能集合),软件组件约束(需要考虑到哪些组件放在一个ECU中,因为使用AUTOSAR工具可以同时开发很多个ECU)、以及系统的总线信号。在这个过程中需要考虑到整个系统功能架构,提出需求,根据系统约束做出分析,最后得出一个合理的、高效的系统构架。这个阶段没有实际的产出,主要是一个设计过程。

 

2.VFB系统配置:在这个阶段需要根据上一个阶段定义的系统约束进行具体的设计。在这个阶段中,所有的swc其实是不知道在哪个ECU中的,因此,所有的软件组件在一块配置。

这一阶段需要做的:具体设计VFB中的每一个软件组件和其中的内部行为、接口定义以及接口中的数据类型;在AUTOSAR工具中导入总线信号的约束文件(一般是DBC);将组件间的对应接口连接、连接组件接口与相对应的总线信号。

具体输出文件

(1)SWC组件描述ARXML:这些ARXML中定义了组件的接口内容,比如组件的接口,内部行为、以及接口所用的数据类型。

(2)Composition描述ARXML:这个ARXML定义了组件间接口的连接关系以及组件的集合关系(Composition中包含哪些组件)。

(3)ECU资源描述ARXML:定义了每个ECU的资源需求,如处理器、存储器、传感器、执行器。

(4)系统约束描述:定义了总线信号,组件与总线信号的连接关系。

 

3.提取相关信息到ECU中:前面的两个阶段中,所有的软件的组件还没确定在哪个ECU中。所以需要在上述系统配置的输出文件中提取出与各个ECU相关的系统配置描述信息,包括:总线信息、SWC组件信息、Composition信息,并将这些信息放在各个ECU中的提取文件中。

具体输出文件

(1)ECU提取ARXML

 

4.配置BSW:BSW的配置是可以与VFB系统的配置同时进行的。BSW主要配置通信协议栈、存储协议栈,模式管理,ECUM,OS等。

具体输出文件

(1)BSW模块描述ARXML

 

5.ECU配置:ECU配置主要是为该ECU添加必要的信息和数据。分为以下几部分:

(1)芯片内核分配:需要考虑每个SWC中的运行实体Runnable在芯片中的哪个核运行。

(2)任务建立:需要给ECU建立相应周期的调度任务。

(3)任务调度分配:需要将每个SWC中的运行实体分配到相应的调度任务之下。

具体输出文件

(1)RTE配置ARXML

 

6.RTE与BSW代码生成:根据ECU提取ARXML与ECU配置ARXML可以生成RTE代码。根据BSW模块描述ARXML可以生成BSW代码。

 

在AUTOSAR的每个阶段都有一定的产出,整个开发过程的工作量大并且流程也复杂,因此使用AUTOSAR工具(isolar,davinci等)进行AUTOSAR开发是十分必要的。

 

文章转载自公众号:汽车电子嵌入式

分类
标签
收藏
回复
举报
回复
相关推荐