如何高效学习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”可以获取。当然,你也可以从官网获取最新的规范文档,网址:http://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)。

有了以上了解,拿到规范文档后,你需要明确你的工作内容在整个产品生命周期的位置。简单介绍下几个流程概念。

圈内的同学比较了解上面提到的几个名词,研究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的开发流程:

(高清图后台回复“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类型

可运行实体Runnables

2.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,再到PDUR,再到AUTOSAR COM是如何层层封装,层层调用的。CAN网络管理和模式管理,UDS,DCM和Dem又在其中发挥着怎么样的作用。答案都在代码里。

而且,告诉大家一个小窍门,学习AUTOSAR,尤其是BSW过程,一定要充分利用好Debug工具,它可以让你真正“看到”代码是如何运行的。

另外,AUTOSAR实际配置过程中的精髓是arxml文件的配置和解析

多用配置工具尝试不同配置,真正理清代码的实现逻辑,多去试错,才能更快成长。

3 学习AUTOSAR感悟

AUTOSAR是汽车行业的系统架构规范,它让我真正地明白“一流的企业在做标准”。仔细看看AUTOSAR的规范,振兴我们民族工业还有很远的路要走,现在我们甚至连这个规范文档都看不下去,更别谈将来有朝一日能制定行业的规范、世界标准了。沉下心来,真正地吃透它,消化它,吸收它,改进它,创造新的“它”!

日拱一卒无有尽,功不唐捐终入海。

罗振宇在跨年演讲中提到,我们都是“我辈中人”,在当下要“躬身入局”。是的,我们是汽车行业的“我辈中人”,我们要迎难而上,“躬身入局”,承担起这份担当,擎起名族复兴的大旗。

  • 7
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
汽车应用层软件架构设计中的AUTOSAR (Automotive Open System Architecture) 是一种开放式的汽车软件平台,旨在提供汽车电子系统的标准化解决方案。通过AUTOSAR,汽车制造商和供应商可以更高效地开发和维护汽车软件。下面是关于AUTOSAR学习文档的讨论。 首先,AUTOSAR学习文档应该包含对AUTOSAR架构和其核心概念的介绍。这包括AUTOSAR的分层架构、软件组件和接口的定义,以及消息传输机制等。通过深入理解AUTOSAR的核心概念,读者将能够建立起对整个架构的全面认识。 其次,AUTOSAR学习文档应该包含关于软件组件设计和配置的详细指导。这包括如何定义和实现汽车应用层软件组件,以及如何配置组件之间的接口和通信机制。该文档应该提供使用AUTOSAR工具链进行软件组件开发和集成的步骤和最佳实践。 此外,AUTOSAR学习文档还应该涵盖涉及诊断和调试的内容。它应该介绍如何使用AUTOSAR标准来实现车辆诊断功能,并解释如何配置和使用调试工具来调试和查找软件错误。 最后,一个完整的AUTOSAR学习文档还应该提供示例和练习,以帮助读者巩固学习内容并提供实践经验。这些示例可以涵盖常见的汽车应用层软件场景,例如车身控制、动力系统管理等。通过实际操作,读者将能够更好地理解AUTOSAR的应用。 总而言之,AUTOSAR学习文档应该全面介绍AUTOSAR的架构和核心概念,提供软件组件设计和配置的指导,讨论诊断和调试技术,并提供实践示例和练习。这样的学习文档将帮助读者快速掌握AUTOSAR技术,并在汽车应用层软件架构设计方面具备实践能力。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值