初识Classic AUTOSAR开发工具链

在过去,软件和硬件之间具有很强的耦合性,阻碍了软件组件在不同硬件平台上的可移植性和重用性。而AUTOSAR作为汽车电子行业的标准,提供标准的软件接口定义,工程师可以根据需求将软件组件分配到汽车的ECU中,实现标准软件组件的可重用性。

Vector公司向用户提供了一整套高效的AUTOSAR工具链,包含了用于软件架构设计、应用软件开发、ECU软件集成、软件验证等环节的一系列专用工具,如下图所示

初识Classic AUTOSAR开发工具链_第1张图片

本文以Vector公司提供的工具链为例,为大家简要介绍Classic AUTOSAR开发工具链。

01 开发工具需求

PREEvision

制作ECU模型、生成ARXML文件

CANdelaStudio Admin

制作诊断数据库CDD文件,包含了诊断必要的接口信息、诊断服务、DID和DTC等

Davinci Configurator Pro & Developer

用来配置AUTOSAR Classic平台MICROSAR软件包的BSW RTE和SWC

MCAL配置工具

配置MCAL代码

编译链接器

将代码编译成可执行文件

硬件调试器

擦写读取ECU内存,深度调试代码

CANoe Pro版本

仿真验证,用于调试诊断、网络管理、服务交互功能,分析和测试通信数据

通信接口卡(LIN/CAN/CAN FD/Ethernet/FlexRay)

用于不同车载通信接口和PC进行连接的硬件接口卡,VN16xx(CANFD/CAN/LIN)、VN56xx(Ethernet)、VN76xx(FlexRay)

02 Davinci配置过程

 配置参考

1 代码包目录下的doc文件夹,参考UserManuals下Startup_xxxx.pdf来了解详细的配置流程

2 代码包目录下的doc文件夹,参考TechnicalReference和ApplicationNotes来了解各个模块的配置参数和纠错方法

3 参考AUTOSAR官方标准规范

4 Vector线上知识库 提供了一些常见问题的解答

▷ 配置概览

初识Classic AUTOSAR开发工具链_第2张图片

图片来源:Vector

▷ 配置过程所需的文件及文件来源

1.可配合《如何利用PREEvision和MATLAB开发AUTOSAR软件组件》一同“食用”呦!

初识Classic AUTOSAR开发工具链_第3张图片

图片来源:Vector

2. 配置过程↓↓↓

1. 导入ARXML和其他网络描述文件(cdd、dbc、ldf) >Update工程

初识Classic AUTOSAR开发工具链_第4张图片

2. 解决BSW模块的Error和部分Warning

在Validation窗口会提示当前工程的配置问题,分为三类:Error、Warning、Info,同时达芬奇工具会给出大部分配置问题的修订建议,达芬奇配置的第一步目标便是修订所有Error类提示。

初识Classic AUTOSAR开发工具链_第5张图片

 

3. 自动配置  BSW Management

将需要配置的项目勾上,进行自动配置即可

初识Classic AUTOSAR开发工具链_第6张图片

4. 配置SWC

① 在Configurator中将Services Ports和SWC进行Connect

初识Classic AUTOSAR开发工具链_第7张图片

② 在SWC中进行Runnable和Access Point设计

初识Classic AUTOSAR开发工具链_第8张图片

③ 在DaVinci Developer中完成设计后,保存工程,返回Configurator工程,提示同步,点击同步

初识Classic AUTOSAR开发工具链_第9张图片

注意

① 注意检查SWC的interface/Dataelement是否自动生成Data Mapping

②注意调整任务堆栈的大小。在Developer中,添加的所有Runnable进行task mapping,当任务中mapping过多的runnable时,容易造成堆栈溢出

5. Generate SWC Templates and Contract Phase Headers

① 自动生成SWC代码框架和必要的头文件

初识Classic AUTOSAR开发工具链_第10张图片

② 在框架中手动编写必要的逻辑代码

6. Generate Code

初识Classic AUTOSAR开发工具链_第11张图片

03 编译调试过程

▷ 编译方式有如下两种

Makefile编译:Vector SIP的工程结构,调用Makefile的批处理文件进行编译

IDE编译:使用集成编译环境,通过工具进行编译

▷ DET故障定位方法

该API会将DET Error Report出来:FUNC(Std_ReturnType, DET_CODE) Det_ReportError( uint16 ModuleId, uint8 InstanceId, uint8 ApiId, uint8 ErrorId ),通过Report的ID来定位DET故障

04 验证工具需求

▷ 开发验证工具需求-DaVinci Developer

设计软件层SWC可以在PREEvision中实现,也可以在DaVinci Developer中进行

如果在PREEvision中创建SWC和接口,只需要在DaVinci Developer进行SWC的配置和修改,并定义它的runnable、激活条件和数据访问接口

▷ 网络通信验证工具需求-CANoe

网络通信验证工具主要通过CANoe来实现,例如:SOME/IP服务订阅交互调试

初识Classic AUTOSAR开发工具链_第12张图片

以及DoIP诊断调试

初识Classic AUTOSAR开发工具链_第13张图片

以上为本次分享内容,如想了解更多精彩内容,请继续关注我们。

参考资料

1.朱元,陆科,吴志红.基于AUTOSAR规范的车用电机控制器软件开发. 上海: 同济大学出版社,2017

2.浅谈AUTOSAR架构及开发方法


喜欢此篇文章欢迎评论收藏分享支持小编~

更多欢迎资讯,请持续关注!

你可能感兴趣的:(vector,汽车,经验分享,系统架构,编辑器,1024程序员节)