Autosar CAN开发02(入门Autosar)

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博客

  • 33
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值