提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
今天会简单介绍下自己对Autosar的理解。然后用达芬奇创建一个最简单的工程。
因为工作关系,更新时间不定,但是会持续更新,给自己定个目标:周末至少更新一篇。
一、Autosar是什么?
车载电子刚开始发展时,大部分开发者用的都是裸机跑代码。现在很多小企业都还在用裸机做一些车载的小部件。比如雨量传感器、PM25传感器等等。用裸机的好处是:上手快,门槛低。坏处是:做较大项目时,架构混乱。移植性差、模块化差、软硬耦合度高。(这边解释下耦合度:就是软件和硬件很多都绑定在一起了,比如我要换一颗MCU,可能有一半以上的.c文件需要配合修改)。当然有些公司会自己规划好的裸机架构,但是做得好的较少。
很多企业也会使用系统(比如FREERTOS),上系统后,应用层和底层的耦合度降低了很多,同时模块化和移植性都大大提高,但是很难做到软硬件完全不耦合。
最后就是Autosar,Autosar是一个把软硬件完全隔离的系统。同时,Autosar把底层,服务层等框架都搭建好了,比如我们常用的网络管理、诊断TP等,它都给你写好了。再也不用像裸机或者跑系统那样,自己一个一个敲写,也不用担心出问题。下面的图是Autosar官方给出的,非常直观的表达了软硬件耦合度为0。
二、Autosar架构
下面网址是Autosar官网,非常清晰的描述了Autosar的架构(大家一定要多看官网,入门后的提升就靠官网阅读):
https://www.autosar.org/standards/classic-platform
官网里对每一个组件都有说明,上面的图可以简单的分为4层。其中BSW又分为:
MCAL:硬件抽象层(针对MCU的驱动)
ECAL:ECU抽象层(除MCU外的硬件IC驱动,比如CAN收发器、SBC、蓝牙芯片等等)
CDD:复杂驱动层(比较复杂的硬件IC,需要直接调用硬件,而不通过MCAL调用)
System Serve:系统服务层(比如我们说的诊断服务、网络管理等等)
三、Autosar开发介绍
开发工具:目前Autosar的开发工具有很多家厂商:目前主流的就两家:Vector、ETAS(博士)。他们都有实力做出符合Autosar规范的代码。接下来我们主要讲Vector的开发工具。
Vector的开发工具主要使用达芬奇DAVINCI,达芬奇又分为Config(主要开发BSW层)和Develop(主要开发SWC层)。
DAVINCI的LICENSE有三种:第一种是U盘狗,U盘插上去就可以用了。第二种是Fixed,就是固定电脑的意思。第三种是服务器狗。
Autosar的配置难吗?很多人听到Autosar就感觉非常难,自己把自己吓到了。其实Autosar配置就是个图形配置,我们之前也用图形界面工具配置过很多东西,比如MCU的底层驱动等。所以我觉得只要有工具,学好Autosar应该是不难的。但是纸上谈兵另说。如果有小伙伴想实操Autosar的可以私信聊,申明博主不卖东西,也不收费。
四、达芬奇最简单的工程建立
讲了这么多,进入主题:![
下面两个地方填写
下图直接点下一步,这幅图的文件是点击Generate后,达芬奇会生成的相关文件。这个只是我的理解,因为我也刚接触,如果有错误,欢迎指正。
这边注意一下:ECU和Complier都要填写正确。
下图直接点击next
点击Finish,工程创建成功。
工程创建完成
总结
今天主要是对Autosar进行一个扫盲,然后创建一个工程。是不是没有想象的难,每天进步一点点,日积月累大不同。