AUTOSAR初了解_autosar岗位很少写代码吧(1),2024年最新Golang大厂高级面试题灵魂100问

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Golang全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注go)
img

正文

转载于:https://www.zhihu.com/question/313797183

不知道题主是否有看过AUTOSAR的最新版本规范?如果要用A4纸打印出来,估计要超过2米多高。光是看到这么厚的规范,估计很多朋友内心已经已经很绝望了。

img

那么,这么厚的AUOTSAR规范,我们要怎么去掌握它呢?

一、角色定位

先别急,首先我们得问问自己目前的角色是什么?对于题主来说,你得问问自己,即将成为什么角色。因为你的角色不同,那么AUTOSAR应用的场景也不同,自然AUTOSAR工程师要做的事情也是不同的,对AUTOSAR掌握的程度和角度也不一样。

提供你下述几个选项:

1. 整车厂OEM

2. 零部件Tier1

\3. 基础软件包/工具供应商

\4. 半导体厂商

现在对于大多人来说,应用AUTOSAR的角色都是整车厂OEM或者零部件Tier1。在这里,我们就先谈这两个。

基于OEM或者Tier 1的角色去学习AUTOSAR,我们就会轻松很多,2米多高的AUTOSAR规范,我们需要关心的或者需要精通的就不是很多,AUTOSAR很多规范是给基础软件包/工具供应商或者半导体厂商参考去实现具体的BSW协议栈或者芯片对应的MCAL.

如果是整车厂OEM角色学习AUTOSAR的话,主要的应用场景:

\1. 整车E/E架构设计

\2. 应用层的软件组件设计

基于这两个应用场景,我们只需要去深入了解AUTOSAR的方法论及基于AUTOSAR的方法论的SWC设计。

如果是零部件供应商Tier1角色学习AUTOSAR的话,又可以细分你目前工作的主要职责是什么,提供你几个选项:

1. 架构工程师

2. 算法工程师

3. 底层芯片驱动工程师

4. BSW协议栈工程师

5. 复杂设备驱动工程师

6. 集成工程师

针对不同工作职责,你需要深入了解AUTOSAR的侧重也有差别:

针对**架构工程师,**你仅仅需要深入了解AUTOSAR的方法论及SWC的设计方法及技巧

针对**算法工程师,**你仅仅需要深入了解SWC的设计方法

针对**底层芯片驱动工程师,**你仅仅需要深入了解芯片抽象层MCAL的各个功能模块的具体应用细节

针对BSW协议栈工程师,你仅仅需要了解OS,ComStack,DiagStack,Memory Stack,WgdStack等协议栈的功能及应用细节

针对复杂设备驱动工程师,你仅仅需要了解复杂设备驱动的AUTOSAR接口定义方式

针对集成工程师,你仅仅需要深入了解RTE的运行集成及RTE相关的应用配置

二:掌握技能Classic AUTOSAR、Linux和C++

如果你已经知道你的角色定位,你就知道你该学习哪些内容。那么,接下来就是怎么去学AUTOSAR?

先来结论:从Classic AUTOSAR 入门,你需要的基础:Linux和C++

上述更多谈的是Classic AUTOSAR,目前很多大数据,车联网,自动驾驶等等新需求,需要新的Adaptive AUTOSAR支持,但不等于说Adaptive AUTOSAR出现,Classic AUTOSAR就可以淘汰了。两者是是可以共存的一种方式。

Classic AUTOSAR 适用于实时控制,资源有限的控制器上,目前大多数的跟传感器或者执行器相连的控制器都适用。

Adaptive AUTOSAR 更适用于具有较强计算能力的芯片的控制器上,可以实现较大数据吞吐和计算能力的控制器上,一般不用于实时控制,如Domain/Zone控制器及“Vehicle Computer”。

【如果你还不了解CP和AP是什么,可以查看文章:【精通AUTOSAR】第一章:AUTOSAR的未来: AP是否会取代CP?,在此我就不多赘述了】

针对Adaptive AUTOSAR的入门,也建议你从Classic AUTOSAR入门,Adaptive AUTOSAR规范中定义的很多中间件功能族或者服务都是从Classic AUTOSAR演化而来,如果你有一定的Classic AUTOSAR的基础,那么理解Adaptive AUTOSAR也会简单很多。

对于Adaptive AUTOSAR的学习,还需要你有一定的Linux基础,毕竟Adaptive AUTOSAR是在Linux这种操作系统之上的中间件规范。同时Adaptive AUTOSAR是基于C++实现的,故还需要你有C++的基本编程经验,满足上述两个先入条件,我们就可以大胆尝试学习Adaptive AUTOSAR的应用了,Adaptive AUTOSAR不同于Classic AUTOSAR,职责划分很明晰,Adaptive AUTOSAR更侧重于应用层的应用,故学习Adaptive AUTOSAR,我们着重学习:

\1. Adaptive AUTOSAR的方法论

\2. SOA的架构

\3. SOA的基于SOME-IP的实现机理

\4. Application的SWC设计

三、最后

说起来简单,但现实很残酷,虽然你只需要仅仅深入关注某一方面,但没有一个人给你指引入门,其实是很难学会的。

现实工作单位中有两种接受知识方式:

一种是比较稳定型的单位,比如汽车电子行业大多数企业,老员工通常不会把自己掌握的知识和技能无私传授给新进的员工,新进的员工通常需要在项目中自己积累,这种知识积累相对比较慢,通常需要好几年时间才会有些许积累。

另一种是竞争非常激烈的单位,如金融行业,企业一旦招了新员工,需要短时间类胜任工作,那么就需要把知识系统地在短时间类传授给新员工。针对汽车电子行业,就吹笙了很多专业的培训机构,聘请专业有相关的经验的专业,把相关的知识和经验在短时间类传授给学员,这样学员就可以在短时间入门,成长自己。


本文主要以普及CAN通信基本原理为目的,如有从事相关领域或者有意从事车载嵌入式开发的读友们欢迎留言探讨。

本文为「AUTOSAR CAN Communication/AUTOSAR CAN通信」的基础篇。

嵌入式攻城狮:AUTOSAR CAN Communication/AUTOSAR CAN通信10 赞同 · 3 评论文章img

本文含有关键字如下。

CAN通信应用,CAN的概要规格,CAN特征,CAN数据通信机制,CAN数据帧

CAN通信应用

CAN是Controller Area Network(控制器区域网络)的缩写,它是一种串行总线协议,旨在代替用于连接组成车载应用程序的系统和传感器的传统多线配置方法。 CAN于1986年在SAE世界代表大会上正式发布,此后于2008年被要求在美国销售的车辆上使用CAN。 在开发CAN时,请记住,车载微控制器和设备可以在不通过主机的情况下进行通信。 单线或双线网络数据总线用于组件间通信,并且最高可以达到1 Mbps的通信速度。

CAN网络由多个ECU(电子控制器单元)组成并且通过事先在ECU中写好的代码与所定义好的ECU进行互动并且实现汽车制造商所定义好的某一类功能(如汽车上的仪表盘就是通过多个ECU互动将信息反映在仪表盘上)。车辆内部CAN参考图如下。

img图1 CAN通信应用参考图

CAN的概要规格

常用到的高速CAN(HighSpeed CAN)在ISO11898-2中的定义如下。

网络配置多主竞争式(CSMA/CA方式)
通信速度MAX1Mbps
传输类型2线制
链接方式总线类型
传输方式半双工通信
同步方式Recessive→Dominant时,所有节点同步
其他特征● 系统灵活性(易于添加和删除节点) ● 错误检测/通知/恢复功能 ● 内置控制器的通用MCU,收发器数量多,开发工具丰富
适用范围用作独立系统间耦合、车辆运动控制系统等汽车核心单元的主网络

CAN特征

连接到网络的通信设备一般称为节点,但在CAN中,它是电子控制单元(ECU)。通信线路称为总线,向总线传输数据称为总线访问。

img图2 线型总拓扑概念图

ECU(电子控制器单元)是由微控制单元(Microcontroller Unit;MCU) 与收发器(Transceiver)组成。ECU使用电子控制控制器不仅控制发动机和底盘控制之类的核心,而且还控制诸如前灯,汽车音响和空调之类的电气设备,从而为汽车的电气化和自动化提供支持。

电子控制单元(ECU)一般由MCU和CAN收发器组成,CAN收发器向CAN总线或者MCU负责传输和接收CAN帧(CAN Frame),MCU则按照CAN通信协议进行进一步处理。

img图3 ECU组成概念图

CAN的特性如下所示。

1. 线型总线拓扑

连接多个节点的网络拓扑结构(对网络的形状进行建模)有环型、星型和线型,但CAN采用线型。 它具有简单的结构,可以轻松添加和删除节点以及设计网络。

img图4 CAN线型总拓扑概念图

2. 多主竞争式总线结构,其中所有电子控制单元 (ECU) 都充当主站

只要总线空闲,就可以从任何单元开始通信。

无需指定电子控制单元(ECU)即可发送,任何电子控制单元(ECU)都可以成为主站。

3. 通过 CSMA/CA 方法根据优先级访问总线

提前访问总线的单元可以获得发送权。

如果多个单元同时开始发送,则发送优先级高(ID值较小)的报文的电子控制单元(ECU)获得发送权。在CSMA/CA方式中,尽量避免在使用总线的同时从其他节点传输数据,但现实中存在多个节点同时传输数据而发生冲突的情况。CAN 具有确定其优先级的通信仲裁机制。

4. 使用差分电压传输提高抗噪性能

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Go)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
使用差分电压传输提高抗噪性能*

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Go)
[外链图片转存中…(img-APjo7Oje-1713286534889)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 16
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值