如何高效学习AUTOSAR?

1 学习AUTOSAR准备学习AUTOSAR之前,需要我们有一定的基础知识储备。C/C 语言,毋庸置疑了,如果你的C语言基础已经在大学毕业前就还给老师了,你最好能在B站或慕课上充充电,如果真的想踏实学习AUTOSAR的话,这项准备必不可少。英文阅读,也必不可少。为什么还要英文啊?主要有两方面,一者,AUTOSAR原文规范,都是纯英文描述,每部分内容动辄几十页,一不小心几百页,要快速筛选我们关注的信息,看懂个中奥秘,没有一定的英语阅读功底,相信我们的学习会束手束脚,久而久之,你可能就放弃学习了。当然,学习过程中我们完全可以借助词典,工具的存在意义就是为“懒惰”的我们服务的。二者,开发过程中,我们少不了和芯片打交道,芯片手册,指导手册,甚至代码世界的注释,多数都是英文的,看不懂它们,对于我们理解物理世界也是举步维艰。嵌入式系统知识,在我们学习过程中也很重要。能看懂C语言,可以阅读英文手册,都是工具或手段上的帮助,而嵌入式系统知识,则是我们的理论知识。要知道单片机,外设芯片,供电芯片,计时芯片,IO驱动,PWM驱动,复杂驱动,CAN通讯芯片,寄存器,MSC通讯,SPI通讯,DMA,看门狗,操作系统。。。当然,嵌入式系统知识并不是对每个学习AUTOSAR的同学都是不可或缺的,也并不是十分紧迫的,可以在工作过程中逐渐积累,逐步提高。持续学习的习惯,其实这点是我们不断进步的源泉。从我工作至今,我最大的体会和收获,就是要持续学习。现在不仅互联网行业是“小步快跑,快速迭代”,我们汽车电子行业,也是在不断的一代代更新迭代。所以,持续学习的习惯要养成,还要保持。有了上面提到的几点准备,我们就可以驶入AUTOSAR的世界了。2学习AUTOSAR过程学习AUTOSAR的过程,可以分为入门——进阶——高阶三个阶段。2.1  入门阶段入门过程,需要我们知道AUTOSAR到底是什么东西?为什么要存在这个东西?它的发展是怎样的?AUTOSAR的概况知识。其实,如果你是以为正在学习AUTOSAR的工程师,多半已经对AUTOSAR有了些许了解。这就像我们当年写毕业论文一样,还是要了解下研究对象的历史和概览知识。有些同学觉得这个过程没有意义。不然!我们研究一个方向的知识,如果连为什么研究和研究现状、背景都不清楚,我们能研究多深奥呢?而且,要知道发动机的构造和原理,你不从化油器开始,怎么能明白它其中组件今天存在的意义呢。相信我,从了解它的背景开始。当然,还有一个非常重要的步骤——获取AUTOSAR的规范文档。从2003年成立以来,AUTOSAR已经更新到AUTOSAR 4.4.0 release版本,后台回复“AUTOSAR”可以获取。当然,你也可以从官网获取最新的规范文档,网址:autosar.org/standards。2018年,为了迎合未来汽车智能化、网联化的需求,AUTOSAR联盟推出了一个全新的平台,将AP加入到原有的AUTOSAR平台中,形成自适应AUTOSAR平台(AUTOSAR Adaptive Platform,AP),并于2018年10月迎来了适用于面向量产的首次发布,另外还将原有平台更名为经典AUTOSAR平台(AUTOSAR Classic Platform)和自适应平台AUTOSAR(AUTOSAR Adaptive Platform),行业内大家习惯叫CP(Classic Platform)和AP(Adaptive Platform)。

有了以上了解,拿到规范文档后,你需要明确你的工作内容在整个产品生命周期的位置。简单介绍下几个流程概念。OEMTIER1TIER2整车厂一级供应商二级供应商奔驰、宝马等(做整车的装配工作)大陆、博世等(给OEM供应ECU等)英飞凌、NXP等(为TIER1供应零件,比如ECU上的芯片、电路板等)圈内的同学比较了解上面提到的几个名词,研究AUTOSAR的工程师在OEM、TIER1和TIER2都会有分布,各自角色不同,研究重点也不同。我们按产品开发流程的顺序大致梳理:1.  整车厂以EE架构设计和应用层功能设计为主,所以如果你身在OEM中,你只需要着重了解AUTOSAR的方法论和基于方法论的SWC设计即可。这两点说着简单,其实并非我们想象中那么简单。方法论本身就是非常宏观的概念,想要把控产品流程,能为TIER1提供打开需求文档,这本身就要对功能和下游工作十分了解,才能有高质量的输出;2.  TIER1涉及AUTOSAR的工作分工就比较多了。如果你是系统工程师,着重研究功能算法的实现,那么你需要对SWC的升级了如指掌,深入理解;如果你是软件架构工程师,对于上游OEM提供的需求文档要有宏观概念,所以也要对方法论和SWC审计十分了解;如果你是基础软件工程师,需要整个团队协同实现:底层驱动工程师要深入学习芯片的抽象层MCAL应用;BSW协议栈工程师要熟悉OS,ComStack,DiagStack,Memory Stack,WgdStack等协议栈应用细节;复杂驱动工程师,要对AUTOSAR针对CDRV的接口定义方式等深入研究;如果集成工程师,要十分清楚RTE的运行集成和相关应用配置;3.  TIER2要深入研究的内容和TIER1的BSW工程师侧重内容相似,主要围绕芯片MCAL和基础软件协议栈展开。4.  除了以上三类产品开发流程上的角色外,其实还有一个重要角色的存在:工具供应商。了解了AUTOSAR架构和实现过程后,大家可能会看到很多arxml格式的配置文件的制作都离不开工具的支持,以及编译环境、建模工具等,都离不开一直走在超前道路上的工具供应商。AUTOSAR的开发流程:

基本概念Software Component (SW-C):软件组件Virtual Functional Bus (VFB):虚拟功能总线Runtime Environment (RTE):运行环境(实时环境)Basic Software(BSW):基础软件Methodology principle:方法论原理Mode Management:模式管理Memory Abstraction:存储抽象Runnables:可运行实体文档命名规则EXP: 即Explaination'解释',详细介绍论题MMOD: 即Meta Model'元模型',介绍 AUTOSAR元模型MOD: 即Model'建模',介绍建模的原理RS: 即Requirement Specification'需求规范', 详细介绍需求SRS: 即Softeware Requirement Specification'软件需求规范', 描述所有软件模块的规范SWS: 即Softeware Specification'软件规范', 介绍软件模块设计和实现的规范TPS: 即Template Specification'模板规范', 详细介绍元模型TR: 即Technical Specification'技术规范',详细介绍技术规范有了以上的入门知识了解后,我们就可以有侧重的学习AUTOSAR知识了。2.2  进阶阶段了解了AUTOSAR的概览知识和分层架构等基础知识后,可以根据自己角色的需求,有倾向性地打开自己要攻克的领域了。按照AUTOSAR的框架,主要内容可以分为如下四部分:2.2.1.  应用层

应用层概览

SWC类型

Ports类型

可运行实体Runnables2.2.2.  RTE

RTE概述

RTE对Runnables的管理

RTE对Ports的管理

RTE对数据一致性的管理

RTE对interface的管理2.2.3.  BSW

BSW的概述

BSW的IO实现

BSW的通信实现

BSW的存储实现

BSW的模式管理

BSW的看门狗实现

BSW的诊断系统实现

BSW的操作系统实现2.2.4. 方法论

方法论概述

ECU的描述文档

ECU提取的实现其实上面提及的都是非常笼统地概括了和AUTOSAR工作相关的内容,能针对性地将自己要学习的领域入门,再进一步,那就已经非常好了。2.3  高阶阶段所谓高阶,其实是我们在学习过程中的融会贯通。如何才能成为专家级的AUTOSAR工程师呢?Demu以为,需要有项目实战的支撑。前面的入门和进阶已经为我们成为高手做好了铺垫,剩下的就需要我们在实际的项目开发过程中成长自我,提升自我。在高阶阶段,我们可以将AUTOSAR的规范文档作为理论指导,到实际的项目代码世界去徜徉,看看CAN通信从CAN驱动到CanIf,再到CanTp,再到PDUR,再到AUTOSAR COM是如何层层封装,层层调用的。CAN网络管理和模式管理,UDS,DCM和Dem又在其中发挥着怎么样的作用。答案都在代码里。而且,告诉大家一个小窍门,学习AUTOSAR,尤其是BSW过程,一定要充分利用好Debug工具,它可以让你真正“看到”代码是如何运行的。另外,AUTOSAR实际配置过程中的精髓是arxml文件的配置和解析。要多用配置工具尝试不同配置,真正理清代码的实现逻辑,多去试错,才能更快成长。3学习AUTOSAR感悟AUTOSAR是汽车行业的系统架构规范,它让我真正地明白“一流的企业在做标准”。仔细看看AUTOSAR的规范,振兴我们民族工业还有很远的路要走,现在我们甚至连这个规范文档都看不下去,更别谈将来有朝一日能制定行业的规范、世界标准了。沉下心来,真正地吃透它,消化它,吸收它,改进它,创造新的“它”!日拱一卒无有尽,功不唐捐终入海。

(0)

相关推荐

  • 208份AutoSar官方文档

    什么是AUTOSAR? 介绍一下: - AUTOSAR是由150多家汽车制造商和汽车供应商企业组成的联盟. - 它是AUTomotive Open System Architecture的简称. - ...

  • 支持L3 智能驾驶的相关软件及工具链的四级产品架构

    支持L3 智能驾驶的相关软件及工具链的四级产品架构

  • 智能驾驶域控制器的软件架构及实现(二):支持L3 的软件架构及产品架构

    第二篇  支持L3+的软件架构及产品架构 Level 2 及以下级别的自动驾驶功能基本上都是属于"驾驶辅助"性质.各功能的场景,主要的驾驶行为是驾驶员主导,自动驾驶系统只在非常限定 ...

  • 浅析AutoSAR APP层在配置工具中的实现

    // 作者:KaiTing,2020年2月4日 // 首发公众号:Vehicle软件开发 随着各个公司对AutoSAR的重视,想必越来越多的汽车软件开发人员走向这条路,所以想分享下自己的配置经历,也是 ...

  • 170页PPT充分了解AUTOSAR分层软件架构

    AUTOSAR经典平台架构在最高抽象层次上区分了运行在微控制器上的三个软件层:应用程序.运行时环境(RTE)和基础软件(BSW): 应用软件层主要与硬件无关: 软件组件之间的通信和通过RTE访问BSW ...

  • 圈外人看E2E保护

    安全在每个领域都是一个永恒的话题,汽车也不例外,而随着最近几年汽车电动化.智能化和网联化的发展,汽车安全也越来越受到用户及开发人员的重视,安全的要素也是多方面的,例如用户可能关心在使用车机系统时的隐私 ...

  • 不懂高效学习法,孩子读书死记硬背

    说起"死记硬背"这四个字,可能是很多家长和孩子头痛的问题.但凡事的存在都有两面性:如果从行为主义学习理论的角度看,死记硬背,也可以说是机械记忆,是一种十分有效的学习方式.如果你了解 ...

  • 高效学习1(高效能训练营)

    高效学习1(高效能训练营)

  • 思维导图 | ​​​​​​​​​​如何高效学习?

    △ 是新朋友吗?记得先点笔记侠关注我哦- △点击图片查看大图 *思维导图是用国产软件XMind做的哦~笔记侠有一个神秘的组织,里面的人都研究怎么做思维导图,好奇请加小师妹. 摘要: 学习焦虑让很多人的 ...

  • 让大脑高效学习六个秘诀

    在脑科学的定义里,学习并不仅仅局限于特定的场景.知识和行为. 当大脑神经元受到外界刺激而重新进行连结.组合,形成新的回路,最终让我们的行为发生变化时,这就是学习. 例如女孩子给自己打扮,或者销售员思考 ...

  • 高效学习是这样练就的

    一.预习是学习的重要环节 顾得上听讲,就顾不上思考,其根本原因就是没有充分地课前预习.课前预习虽然累-些,但是却能换来种爽快与自由感.上课前充分预习,考试前充分地复习,与"打有准备之仗&qu ...

  • 高效学习法:正确备考,轻松通过中级经济师

    同学们都知道初中级经济师的考试大纲已经公布了,大家也在火热的开始备考了,那么大家就有问题了,我该怎么去备考中级经济师?如何备考中级经济师才能顺利通过?什么样的方法才是正确的?等等一系列的问题就出现了, ...

  • 在玩耍、做事、行走中实现高效学习,这样的教育如何实现?

    这是得一学校的第10篇原创文章 (本文5730字|10分钟阅读) 你是不是不相信孩子能做到自主学习? 不相信孩子在没有老师的情况下能学的更好? 更不要提孩子在玩当中.在做事当中把知识学通.学透? 真的 ...

  • 高效学习的3个组合拳

    小的时候看电视剧,最崇拜那些能够过目不忘的人物.对这个技能垂涎三尺:如果能移植到自己的学习中来,那自己就无敌了! 可是,在平时学习中,有没有可能接近做到过目不忘呢? 哈哈 给大家介绍让你高效学习的3个 ...

  • 500名清华、北大总结的高效学习法,想让...

    研究机构对500名清华.北大的学霸进行一项研究调查,发现结论一共有9点,分别是 1.有一个错题本或习题本(学霸几乎都会有) 2.计划管理(学霸们对自己时间管理都很明确) 3.预习管理(学霸对要学的知识 ...