目录
Autosar应用层系列
第一章 Autosar结合simulink的汽车应用层软件开发实例
-----------------待补充---------------
前言
对于汽车应用层开发人员来说,熟练掌握常见的几家工具链是司空见惯的事情。但是对于待入行和刚入行的人来说,短时间内这还不是一件轻松的事情。
因此,本文基于汽车应用开发案例,并结合Autosar相关知识,生成具有Autosar标准的汽车应用层开发代码,以供学习和参考。
一、基础案例
看过一些Simulink的教学文章和视频,我觉得大部分要不是过于详细看着枯燥,要么就是上来就是过于复杂的模型,让人摸不着头脑。本篇引用一篇我觉得偏实战但是又不复杂的文章,既可以快速掌握常见的Simulink功能,又可以快速实战,可谓十分下饭!
小白学习simulink建模开发,看这篇就够了,从入门到能够搭建完整的系统模型_simulink教程-CSDN博客
看完之后,至少熟悉Simulink的常见模块,stateflow(建模差不多够了)
这里,贴出我参考该文搭建的FCW模型。该模型目的是实现行车前方危险预警,可以看到模型输入端口为:车辆行驶速度,前方车辆速度,两车间距,和FCW开关;输出为FCW状态。
二、Autosar端口映射
如果在代码生成配置文件选项中选择的是ert.tlc,已经可以生成可以使用的嵌入式代码。但是,如果选择autosar.tlc,生成代码会报输入输出端口未映射的错误。为了解决这个问题,我们需要对输入输出的接口进行映射(mapping)。
1.创建接口
在simulink窗口中点击APP菜单并选择Autosar Component,然后进入AUTOSAR菜单,如下图:
为输入输出接口配置如下:
2.创建端口
我喜欢将创建端口过程理解为接口实例化的过程,如下图所示:
注意不要忘了发送端口配置
3.端口映射
将模型输入输出端口映射到Autosar输入输出接口。点击菜单栏->代码接口->个体元素代码映射,如下图:
此时,可以看到软件界面下方出现映射窗口,具体配置如下图:
输出端口配置类似。
三、生成代码和代码分析
1.生成代码
生成代码前,可以使用快捷键ctrl+E查看代码生成配置,确认无误后,使用快捷键ctrl+B生成代码。
2.代码分析
Autosar的应用层代码生成后的关键文件包括:
文件名 | 描述 |
swc名.c | 主要包含模型执行逻辑 |
swc名.h | 主要包含模型执行逻辑相关的数据类型定义 |
Rte_swc名.h | 包含该swc释放给Rte的接口 |
2.1.输入输出接口
以输入信号Switch_On为例,其对应到swc名.c中的接口为:Rte_Read_FCW_In_Autosar_Ego_Speed_Val
Rte_swc名.h中的接口为:
Rte_Read_Ego_Speed_Val
具体的读该信号的逻辑还需要交给BSW工具链生成。其它输入输出接口也是类似的。
2.2.runnable执行逻辑
该模型的具体的执行逻辑在文件swc名.c中,函数名称为FCW_In_Autosar_Runnable,其内部主要函数了模型的执行逻辑。
四、资料分享
虽然我建议读者尽可能自己搭一个模型,但是这里还是给一个本文的模型仓库:
Autosar-Application-Layer: 分享一下我的Autosar开发资料
总结
以上就是本篇内容,主要是利用Simulink创建Autosar接口并进行端口映射的方法。