Autosar架构
想起当时刚毕业进入公司之后,我的岗位是Autosar Bsw软件工程师。
看着这个什么“Autosar”,真的是一脸懵。
后来才知道,按照我的理解:Autosar就是一个软件架构。它分为ASW和BSW。ASW负责实现应用层功能(即产品的功能),BSW提供底层服务(比如提供解析好的CAN数据给应用层)。
如下图所示
ASW
在我看来,ASW其实与Autosar关系并不大,从上面那张图你也看到了,ASW只有最上面那一层。
搞Autosar ASW开发,实际上就是开发产品的功能。比如,你目前的工作是搞摄像头功能开发,你下一份工作,是不是只能去找搞摄像头产品的企业?因为你平时做的工作其实是实现摄像头的功能,比如摄像头算法啥的,与Autosar没有关系。
BSW
而BSW开发,才是真正搞Autosar架构的开发。
这个岗位的就业面就没有搞ASW那么狭窄了,Autoar BSW开发并不受限制于产品。
原因很简单:BSW是提供底层服务的,汽车上大把的产品需要用CAN通讯、以太网等等,所以,只要是用到Autosar架构的项目,无论是什么产品,Autosar BSW工程师都能去应聘。
认识Autosar 开发
首先,我们要知道:Autosar开发,使用的是行业认可的公司的Autosar工具链进行开发的。比如Vector啦、EB啦、Mentor啦等等。这些工具链价格昂贵,一提就是多少百万啥的...
那么,这些工具链买回来都有啥东西呢?
下面红框的就是了:
那么,Autoasr BSW开发是要干啥呢?
主要其实就是干上面图中的这两个事情(当然了,还有部分手写代码的):
好了,知道Autosar BSW开发是干啥的之后,那要怎么入门开发呢?(入门方式千千万,这里我只知道我自己这一种啊)
踏入Autosar开发
回想起当初学习正点原子的开发板的教程(应该好多人都是从正点原子入坑嵌入式软件的)。
他是咋教我们学习嵌入式的呢?他教我们怎么去配置引脚的IO口,配置IO口的模式,什么上拉输出啥的。学习定时器的时候,一大堆关于定时器的讲解和配置一大堆定时器的参数。
简单来说就是:他教我们从配置驱动开始(我不是指正点原子这样教不好哦,对入门学习的在校学生来说,按照正点原子这样学习是最好的方式,根基也是打得最牢固的)。
但是,入门学习Autosar底层(CAN通讯)的方式,就并不是这样了。
而是反过来:从上层的逻辑,到底层的驱动,拆成Autosar架构的话,是下面图中这样的:
(说明:我们现在先不用深究下面这张图的各个模块、各个模块干啥的,我们这里只是入门,没必要一下看这么多东西)
如上图所示,我们先学习CANIF到APP之间的东西(CAN中断入口函数往上的东西),最后才是学习CAN驱动往下的东西。
可能你觉得:这真的是瞎说!我且不管上面的东西,驱动不搞好,上面的东西全都用不起来,这个搞个锤子!
虽然情况确实是这样:驱动不行,上层功能全废。
但是,我只是一个啥也不懂的小白啊!你知道驱动有多难嘛?就感觉它是完全没有逻辑性的,完全得看经验积累。比如CAN驱动:我要怎么样才能在不知道有CAN中断源的情况下,知道有CAN中断源这个东西?并且学会去配置它?
所以,如果一上来就叫我配驱动,我可能就不会在这里写这篇文章了。
我也比较幸运,毕业之后,入职的企业软件开发分工比较细,Autosar BSW开发分的好几个岗位:CAN通讯开发、驱动和系统服务开发、诊断开发等等。
我的岗位就是CAN通讯开发,因为我入职时,公司的几个项目已经是处于维护阶段,所以驱动部分早就是由负责驱动的同事搞好了。
那么我干啥呢?如下面图所示,两年里,就是不断在干下面这个流程的事情:
换句话说,我的工作内容一直是“CAN中断入口函数往上的东西”。相比于驱动,这些都是一些有迹可循的东西啊,CAN中断函数进来以后,会把数据给进来:一个指向数据的指针。那么,这时候,给你一块板子,给你一个仿真器,你自己跟着这个数据链走,一步一步往上调试,你是自己就能知道这个数据去哪里了。
所以,按照这样的学习流程,只要给一点时间,就能自己完全捋顺Autosar架构中的CAN通讯了。不用别人教你,不用怎么看规范,你直接自己就大致明白了CANIF、PDUR、COM等等这些Autosar架构中的模块的作用。
而且,CAN和很多模块都是有交互的,在学习CAN模块的过程中,就会学到网络管理、学到网络管理就会涉及到休眠唤醒、涉及到休眠唤醒又会涉及到CAN收发器、CAN控制器等等。
所以,虽然岗位主要是CAN通讯开发,但是,是会在这个CAN通讯开发的过程中不断接触其它东西, 等积累多了,CAN驱动就自然而然的学会了。这就是为什么Autosar驱动工程师这么吃香的原因,完全是经验积累出来的。
总结来说,我认为入门的人,唯一有的东西,其实就是自己的逻辑思维,而刚好Autosar架构下CAN的各个模块是有逻辑联系的,跟着这些逻辑联系慢慢摸索,就学会Autosar这个东西了。
结束
好了,了解完什么是Autosar和怎么入门Autosar,下面的文章就是讲CAN通讯开发具体要干的活了。
发表日期:2023.12.18
朋友们,关注下我呀,我以我过来人,再用小白的角度认真写的知识总结一定让你的脑子饿肚子进来,扶墙出去...
返回目录:
Autosar BSW 开发笔记(目录)-CSDN博客