作者 | 不可说
出品 | 汽车电子与软件
#01
首先要做架构设计,第一步要做应用架构设计:首先,在AUTOSAR编辑工具(如Davinci Developer)中设计应用架构。这包括定义软件组件(SWC)、接口(Interface)、端口(Port)等元素; 导出SWC的ARXML描述文件包含了类型、接口、端口、可运行实体、事件等详细信息; 再将ARXML文件导入MBD建模工具(如Simulink); 根据ARXML文件中的解析SWC及端口、接口等内容搭建模型,实现算法等应用功能; 在建模工具中完成算法实现后,生成符合AUTOSAR标准的代码及ARXML文件; 后续则是由BSW工程师继续进行BSW层基础代码开发、软件集成、测试等工作。
Matlab/Simulink:在Matlab/Simulink中,可以通过构建模型来表示一个软件组件的内部行为。这个模型可以包含多个子系统、模块和参数,用于描述组件的功能和接口。
AUTOSAR:在AUTOSAR中,软件组件是构成系统的基础单元,它包含一组可运行实体(Runnables)和端口(Ports),用于实现特定的功能并与其他组件进行交互。
Matlab/Simulink:在Matlab/Simulink模型中,可以通过函数调用子系统(Function Call Subsystem)或状态机(Stateflow)来表征AUTOSAR软件组件的可运行实体。这些子系统或状态机封装了实现特定功能的算法。
AUTOSAR:可运行实体是软件组件中的函数,它们在运行时被调用以执行特定的任务。在AUTOSAR中,可运行实体可以是周期性的、事件触发的或两者兼有。
Matlab/Simulink:在Matlab/Simulink模型中,端口用于表示模型之间的接口,包括输入端口和输出端口。这些端口用于在模型之间传递数据和控制信号。
AUTOSAR:在AUTOSAR中,端口用于定义软件组件之间的通信接口。端口可以是提供型端口(PPort)或需求型端口(RPort),分别用于提供数据或请求数据。
Matlab/Simulink:Matlab/Simulink支持多种数据类型,包括整数、浮点数、复数等,这些数据类型在模型中被用于表示信号和参数。
AUTOSAR:AUTOSAR也定义了一系列数据类型,用于在软件组件之间传递数据。这些数据类型包括基本数据类型(如整数、浮点数)和复合数据类型(如结构体、数组)。
Matlab/Simulink:通过Embedded Coder等工具,Matlab/Simulink模型可以被转换为高效的C/C++代码,这些代码可以在嵌入式系统中运行。
AUTOSAR:在AUTOSAR环境中,生成的代码需要符合AUTOSAR规范,包括代码结构、命名规则、注释等。此外,还需要生成相应的ARXML描述文件,用于描述软件组件的接口和行为。