ETAS CP AUTOSAR RTA-CAR工具使用教程
在前面的5期视频中,我们演示了如何在ISOLAR-A 软件里导入DBC文件,创建应用层软件组件,实现ECU之间的通讯,进行ECU信息提取及RTE生成。
基础软件BSW层
基础软件BSW层
BSW层(Basic Software La)基础软件包括四部分,即服务层(Services Layer)、ECU抽象层(ECU Abstraction Layer)、微控制器抽象层(Microcontroller Abstraction Layer,MCAL)和复杂驱动。
服务层位于BSW的最上层,将各种基础软件功能以服务的形式进行了封装,可分为系统服务、存储器服务、通信服务三大部分,提供包括了网络通信管理、存储管理、ECU模式管理和实时操作系统等服务,供应用层调用。除了操作系统外,该层的软件模块都是与ECU平台无关的。
ECU抽象层对ECU结构进行了抽象,包括板载设备抽象、存储器硬件抽象、通信硬件抽象和I/O硬件抽象,负责提供统一的访问接口,实现了对通信、存储器或I/O的访问,从而不需要考虑这些资源是由微控制器片内提供的,还是由微控制器片外设备提供的。该层与ECU平台相关,但与微控制器无关。
微控制器抽象层(MCAL)对微控制器的硬件进行了封装,包括了微控制器驱动、存储器驱动、通信驱动及I/O驱动,实现了不同硬件接口统一化,从而避免了上层软件直接对微控制器的寄存器进行操作。
因为对复杂传感器和执行器进行操作的模块涉及到严格的时序问题,难以抽象,所以在AUTOSAR规范中对这部分并没有标准化,统称为复杂驱动。
RTA-BSW工作流程
(1)使用ISOLAR A 软件导入DBC/LDF文件创建系统描述arxml文件,可以参见本系列的第一个视频;
(2)系统描述通过使用 AUTOSAR 软件组件模板 ARXML 定义 VFB 配置的附加 ASW 配置(即 SWC 和compositions)进行了扩充;
(3)根据工程的具体需求,我们可以创建algo.properties 文件,并在该文件中添加相应的规则更改 ConfGen 生成 ECU 配置的默认值,这部分内容我们会在后期视频中进行阐述。在ISOLAR A/B软件中点击工具栏中的RTA-BSW ConfGen 按钮,该工具将会运行ISOLAR-B的deployment功能,读取系统描述文件中属于当前ECU的配置信息(如,信号、pdu等)并创建默认的BSW配置,将其作为BSW代码生成工具的输入;
(4)在ISOLAR B中对不能通过ConfGen生成的BSW模块(如EcuM,BswM)进行配置;
(5)使用代码生成工具CodeGen创建所配置的BSW模块的.c/.h的源代码。
BSW Configuration Generation
(1)在ISOLAR A/B软件中选中我们需要执行ConfGen的工程;
(2)在工具栏中点击 RTA-BSW Configuration Generation按钮;
(3)选择我们希望为其生成 BSW配置的ECU 实例;
(4)单击[Finish],开始执行ConfGen,其执行过程将在控制台窗口显示。
ConfGen 完成后,将会生成有关BSW模块配置的EcucValueDescription ARXML 文 件。为了保持最大的平台迁移灵活性,我们通常将Can的Ecuc配置单独生成到CanEcucValues.arxml文件中,导入到tresos工具中进行关于Can的Mcal配置,把其他生成的BSW 模块的 Ecuc 值集合都包含在Project_EcucValues.arxml这个文件中。
基础软件BSW层