1:什么是AutoSar?

AUTOSAR(Automotive Open System Architecture)旨在为汽车电子控制单元(ECU)的软件开发创建并推广一种开放的、标准化的软件架构。AUTOSAR的主要目标是提高汽车电子系统的可靠性、安全性和可移植性,同时降低成本和开发时间。最简单的一句大白话:Autosar是汽车底层嵌入式开发的配置工具,汽车底层嵌入式开发无需手写代码,但需要autosar配置生成代码

2:为什么学习autosar?


相比于传统嵌入式开发,AUTOSAR成为了高薪紧缺的岗位。

当你所掌握的技术处在一个市场严重供不应求的阶段时,你的收入不等于你的能力,是市场白给你的!在这个阶段,抓住机会,抓住红利!

所以当一个行业被资本裹挟着水涨船高时,你所要做的,是像一个猎人一样,把自己武装成为资本所需求的,然后做出选择,看准那些被资本选中,被黄金砸在脑袋上的公司。去那些最稀缺的岗位,争取最高的市场溢价。

人一生的收益绝不是线性的。在任何行业,勤勤恳恳,终其一生只是普通人而已。想办法借助资本的助推,拿到更高的职位,到离钱更近的地方去,你才有可能抓住改变命运的机会。

而目前,在新能源汽车和智驾浪潮下,autosar开发岗位具备了上述的机会。

3:怎么学习autosar


3.1:学习autosar的大纲(简略版)


首先请把下面这段话读三遍:

仅仅死学理论而不与实际硬件结合进行实践,这样的理论没有用;

仅仅做简单的硬件实践而不与实际工作应用结合,这样的实践是不成熟的。

上述两句话大家可以当作工程类学习的理念和指南,如果你的学习方向不与上述两句话相符,那学习路线大概率是低效的内耗。

3.2:学习AUTOSAR的步骤

3.2.1:第一步:软件工具使用&&开发板使用


I:工欲善其事必先利其器,首先安装autosar开发工具

II:选择实战的开发板、CAN盒和上位机等工具

熟悉开发板和调试器的基本使用


III:熟悉autosar软件工具、编译工具和调试工具的基本使用

学会软件工具基本的新建工程、下载、运行等,了解最基本的AUTOSAR开发流程

3.2.2:第二步:理论&&实战交叉学习


1:基于实战导向的理论学习

在动手实践之前,学习基本的理论知识是必要的,但更重要的是如何将这些理论知识转化为实际操作能力。

首先是要理解实际需求

基于实际需求,高效实现从理论到实战交叉学习

针对从理论到实战的衔接进行颗粒级的归纳和筛选

不深陷理论浪费精力

直击实战

 

2:autosar工具配置与代码生成

创建AUTOSAR模型
使用支持AUTOSAR的软件工具创建软件组件模型。
定义组件接口、端口和数据类型。
配置AUTOSAR模型
设置组件的运行时行为,如调度、通信等。
配置基础软件(BSW)模块,如通信堆栈、操作系统等。
生成ARXML(AUTOSAR XML)文件,该文件描述了软件架构和配置。
代码生成
使用代码生成工具(如Vector工具链ETAS工具链等)将ARXML文件转换为C代码。
代码生成工具会根据AUTOSAR规范生成相应的软件组件、RTE(运行时环境)和BSW模块代码。

3.代码集成与测试

在AUTOSAR(汽车开放系统架构)中,代码集成与测试是车辆软件开发生命周期中的关键步骤。

代码集成是将不同的软件组件(SWC)组合在一起,形成一个完整的软件系统。

代码集成一般步骤为:

  • 将生成的代码与其他代码库集成。
  • 在集成开发环境(IDE)中编译和构建代码。
  • 进行单元测试和集成测试,验证代码的正确性和性能。

4.功能验证

使用实际硬件进行代码功能验证。

AUTOSAR(汽车开放系统架构)的代码功能验证是确保汽车电子控制单元(ECU)软件满足设计要求和质量标准的过程。

 

3.2.3:选取量产项目实战


如何确保我们的学习成果能实际应用呢?这就需要项目实战的支撑

基于主机厂软件开发需求

选取实战量产控制器底软项目

串联“第二步:理论&&实战交叉学习”知识点

形成由点到面的逻辑,融会贯通知识

培养工作实际实战能力

学习AUTOSAR,一定要充分利用好Debug工具,它可以让你真正“看到”代码是如何运行的。

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


3.3:学习理念


离开学校,步入社会,大家在技术学习上要有几个观念。

1:寓学于做的学习方式,可完成初学阶段的原始技术积累。
步入职场后的学习,并不需要像上学时那样抽出专门的、大块的时间,把整本书或者整个知识体系都学完。很多时候都是基于实际任务,需要什么学什么。

2:一定不要一上来就想着要搞懂这个技术的原理。在研究这个技术的原理之前,先要搞懂这个技术是怎么使用的。
这样的循序渐进的学习过程,可以逐渐帮你建立学习的快感,获得即时的成就感,避免直接研究原理性的知识而被劝退。

3:学习一个技术最有效最快的办法就是将这个技术和自己之前学到的技术建立连接,形成一个网络。建议先去运行一下相关的 Demo ,做一些小项目。

4:研究某个技术原理的时候,为了避免内容过于抽象,我们同样可以动手实践。
如果你学习某一项技术是为了在实际项目中使用的话,那你的侧重点就是学习这项技术的使用以及最佳实践,了解这项技术在使用过程中可能会遇到的问题。你的最终目标就是这项技术为项目带来了实际的效果,并且,这个效果是正面的。
如果你学习某一项技术仅仅是为了面试的话,那你的侧重点就应该放在这项技术在面试中最常见的一些问题上,也就是我们常说的八股文。

相关文件下载
Autosarw.png
449.31 KB
下载
Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐