身处汽车嵌入式开发行当,耳濡目染,听到、学到了很多名词。"Autosar"当属最闪耀的一个,关于Autosar的资料和争论,网上信息很多。本文,从一个CP(Classic Platform AUTOSAR)开发工程师的视角,斗胆聊聊自己对于Autosar的看法。如标题,大家也应该能感觉出来,这个话题很泛,我个人不觉得有谁能说的清,至少我这Autosar学徒是说不明白的。展开话题之前,我先把大家旁路(Bypass)一下。读书那会儿,我喜欢看NBA(National Basketball Association),确切说我喜欢看勒布朗·詹姆斯(LeBron·James)的比赛(我是一个伪球迷),现在也偶尔会看看。为什么喜欢看他的比赛呢?说白了:崇拜!为什么崇拜呢?他思考问题和说话的方式。NBA历史上,能有他这样伟大职业生涯的,几乎没有。然而,欲戴王冠,必承其重。他的黑粉,喷子很多,媒体更是不闲事大,经常断章取义的拿他人的评价提问詹姆斯,从而制造新闻噱头。当他面对这样的提问时,他的回答让我知道了什么是智慧。他不急于回答这种制造矛盾的问题,而是会说:"我需要结合他的语境和上下文,再看看这个问题。"我们Reback到今天的话题:Autosar,好吗?结合我刚才的旁路,我想说,这个话题,要看谁来回答。就像大家各自的生活,千姿百态,确各有态度!接下来,我就展开一下自己的态度。刚毕业那会儿,千辛万苦找了这么一个自己也不知路在何方的工作:系统工程师。说实话,读书时,自己像傻子一样,不知道自己想要啥,将来要干啥,只知道读书,还是死学那种。临到毕业,意识到自己得找份工作,要勇闯社会大江湖。自己找什么工作呢?一看舍友都向电控方向投简历,据说很有“钱”。那我也投电控(我研究生搞的喷油器流体仿真,和电控南辕北辙),为了应付面试,简历强凑了些电控的东西,这就是最真实的随大流!也可能自己运气好,糊弄到一份系统工程师的工作,这里对老东家,真心感激!当年7月份入职,进去公司才知道这是一家搞Autosar开发的软件供应商公司。一身冷汗!我哪写过软件,我哪知道电路原理,我哪会用编译器、调试器、仿真设备,我哪知道什么CAN、LIN、Flexray、Ethernet......虽然一堆东西等我去学习,消化。可我也不是哪吒,没有三头六臂,也不可能短时成为大牛。万事开头难,先问问我第二个"妈",度娘!先从Autosar这个词开始......然而,Autosar这个“鬼”真的让我苦不堪言,感觉真的老虎吃天,这东西(Autosar规范)哪里是给人看的,它总给我一种错觉,看的时候觉得懂了,一碰工程问题,啥也不懂。而且,它的内容不是说看某一个模块规范或者几个就能懂,它需要你把这些东西串起来理解,而且要把旮旯里的细节抠出来理解。真正的工程运用中,还需要懂些硬件,对一些驱动特性了解,不然,一些问题真的是无解存在。所以,对于初入Autosar的同学,不要太急,也别气馁,不是我们不行,是Autosar的准入门槛太高。所以,刚接触Autosar那会儿,我没觉得它有多好,如果不是因为工作,我都不想搭理它。刚接触Autosar那会儿,问过一些工程师(包括和我差不多一起入行的同事):“Autosar好吗?为啥好?”他们的回答大都千篇一律,感觉就是度娘的回答。"加速了项目的开发速度,降低开发成本,给出了一套完整的软件架构"......我不否认Autosar带来的这些好处,但是,我们好像忘了结合语境和上下文。对于一个刚接触Autosar行业的工程师,你让ta回答,如果ta回答:好。我就觉得有人刀架ta脖子,非内心真实想法。至少,刚接触Autosar时,我没感觉它有多美!在项目过程中,还会因自己不懂而不敢多说,怕说多了别人看出自己能力不行(这个确实能感知出来),这反而使得自己做了糊涂先生。说到这,其实想给一些学习Autosar的同学一些鼓励,不管你是哪个行业转过来学习Autosar,还是觉得自己年龄大了,学习Autosar都不晚!你如果是IT行业转过来,你代码水平一定比我好,如果你硬件开发转软件开发,你硬件理论比我强,如果你测试转开发,你工具的使用比我熟......即使你刚毕业,也可能比我专业对口,最差也就是我刚毕业时的水准,但是,我觉得你比我更聪明。所以,如果真想来汽车行业,搞Autosar开发,我觉得你一定可以,因为热爱是能做好一件事的前提!因为热爱就是最好的内驱力,马不扬鞭自奋蹄。毕业那会儿我有多恨Autosar,那么,现在我就有多爱Autosar。汽车行业浸淫一些年后,由于遇到了一个又一个bug,才体会到标准化的好,才体会到Autosar设计的精妙,才能再次翻看Autosar规范,知其要表达的一二。与此同时,我也从一个毛头小子变成了油腻大叔!也从一窍不通,打通了四筋八脉。这里,我很想给学习Autosar的朋友一些建议,别太依赖工具!工具确实简化了我们很多工作,提高了我们工作效率,但是,别忘了工具出现的原因!有些供应商的Autosar工具链,做得确实好,上手也快,这反而让一些工程师变得"懒惰",说白了,就是面对工程问题时,不会思考。曾碰到网络管理问题,一位工作了多年的印度工程师给我打开他的配置工具,展示他的网络配置,意思是说:都是按照你们要求配置的(画外音:*.arxml文件都是你们提供的),不是他的问题!只能说他太熟悉自己的模块了,熟悉的不愿多看其他模块一眼。工程Bug,大家想想,在排查之初,哪个不是从系统出发,逐步定位具体模块,具体文件,具体代码?改一行代码或者部分代码很容易,但是,准确定位到哪里的问题,同时,确保修改后不会引入新的问题很难!为什么难?因为这需要极大的知识储备和经验。所以,学习Autosar,不要给自己设限,从自己擅长的部分开始,然后慢慢把自己的知识边界向外"拱"。如何"拱"?遇到问题,把自己理解不透彻的部分刨根问底,消化掉,切莫得过且过。搞开发,真的需要在乎细节,我的感受:90%的bug,源于细节把握不够。工程问题,bug讲不透因果,等同于技术流氓。回到问题本身,现在问我:"Autosar,好吗?"我会说:好。具体哪里好?去问度娘。被Autosar折磨了这么多年,了解了它的脾性,有时,醍醐灌顶,能不爱吗?当然,也意识到:能设计出如此规范的团队,是多么的优秀!所以,Autosar,好吗?我只能说,苦尽才能回甘! 点击下方关注,一起聊聊Autosar/嵌入式,如果需要,联系作者进群,给你更专业的解答
|