AUTOSAR初学者最想搞懂的东西

原创 嵌入式软件实战派 2022-08-22 08:30
我之前在《如何学习AUTOSAR》文章里提到过我之前学习AUTOSAR的苦逼经历,真正体验到了摸石头过河的滋味。
当年公司刚拿到那个AUTOSAR项目时,第一感觉就是一脸懵逼,憋着一股劲,就是不知道如何下手。
很想动手搞一搞吧,就是不知道这啥,最直接让我懵逼的是——不知道买回来的这个包有啥玩意,这些工具干什么的,怎么用?“直接写代码吧”这种想法已经不存在了。
我们公司用的是Vector的方案,以下只针其方案和工具使用做讲解。如果读者你用的不是这家的,就当了解下吧,不要入戏太深。
1. 什么是Tire1、Tire2、OEM、ECU
这里提几个概念,什么是Tire1、Tire2、OEM?虽然跟AUTOSAR关系不是很大,但常常遇到,了解下比较好。
没在车载行业混过或者刚入职车载行业的小伙伴可能不知道。
Tire1,即Tire One,意为车厂一级供应商,给设备厂商供货,也就是车厂零部件的供应商。
那么Tire2呢,就是二级供应商,可以理解为Tire1的供应商,例如Tire1在搞仪表产品,就需要向Tire2购买零部件,如电机、指针等等。

OEM,是Original Equipment Manufacturer的缩写,通常指设备厂商/主机厂/整车厂,例如宝马、丰田、大众、广汽、BYD等等。

ECU就是Electronic Control Unit,就是你开发的那个项目器件,例如空调控制器算是一个ECU、娱乐系统主机也是一个ECU。

2. 什么是SIP
SIP或者叫SIP包,即Software Integration Package,是Tier1在做AUTOSAR项目前,向Vector购买集成了AUTOSAR方案的软件包,Vector最终交付给Tire1时的软件包就是SIP包 。
那么Tire1开发者,就基于这个SIP包来做项目上的应用开发。
除了SIP这个名称,你可能还会遇到SLP、HLP等概念,即
Software License Package (SLP)
Hardware License Package (HLP)
而SIP又有分几种类型,如:Beta SIP 、Production SIP 、QM Approval SIP、Update SIP 、Prototype SIP 和Mini SIP 等。
是不是开始蒙圈了,好了,先不要管这些,记住SIP包这个概念即可,其他的你慢慢就会懂的了。
3. SIP里有什么
SIP里有什么?直接打开SIP包看不就知道了,这个问题是不是有点多余?也并不是,如果刚接触这个东西的小伙伴,可能搞不清里面有什么,因为里面的文件太多了,压缩包都有好几百MB。
直接截个图来看看,你知道这里面这些是啥么?
实际上,对初学者来说,不知道也影响不大,如果你好奇,那就参考下我的理解:
内容
解释
Applications
是Vector对这个软件包,做了一个应用工程,可以理解为一个Demo,你可以根据这个案例来建你的工程。
BSW
一些BSW层的源码,在通过Configurator添加模块生成代码得的时候,工具会将这些代码拷贝到你的工程。
BSWMD
这个文件夹里面存放这生成BSW配置的一些策略和关联关系,都是些arxml文件来的,和Configurator息息相关。
DaVinciConfigurator
就是Vector的第二个工具了,另外一个是Developer,这个Configurator是一个运行软件,和SIP集成在一起,有可能是因为版本和License问题才这么绑定的。
Doc
就是这个SIP包的一些参考文档,很有用。
Generators
就是一些组件的配置生成器,相当于Configurator的插件,通常是写exe等文件。
Misc
一些不好分类的杂项。
ThirdParty
就是Vector以外的第三方的内容,一般是MCAL
这些内容了解下就好了,重要的是要学会看Doc里面的文档。
另外,值得一提的是,MCAL一般不是Vector提供的,MCAL是MCU芯片提供商提供的,它的配置生成器也是芯片厂商提供的。
4. DaVinci Developer
Developer是干什么的呢?简而言之,就是配置SWC(Software Component)即Application Layer上的东西用的?
是不是有点懵逼,Application要配置啥子?
再给你个图看看:
上图的这些Applications之间的接口是需要配置的,因为接口有一套特殊的约定。
目前,先了解下这些概念,后续慢慢深入比较好,我之前也有类似的文章讲解这些东西的概念和具体实操演练,里面涉及到SWC、Port和Runnable等概念。放个传送门:
  • AUTOSAR SWC详解
  • AUTOSAR Port原理概念详解
  • AUTOSAR Port配置教程
  • AUTOSAR Runnable详解和配置步骤
这里有个疑问,做AUTOSAR开发是否一定要用Developer,好像不一定,有人用MATLAB建模,也可以生成代码。本文对这个就不深入讨论了。
5. DaVinci Configurator
这个就是上文提到的DaVinciConfigurator,有时候看到Configurator Pro也是这玩意。
那么它是做什么用的呢?
可以如果你不想看文字,我这里有个视频可以了解下。
在“嵌入式软件实战派”这个公众号后台回复“DaVinciConfigurator”即可获得下载链接(关键字有点长,建议复制粘贴过去)。
如果不想看视频,那就看下面文字简单介绍下。

DaVinci Configurator Pro 让您可以为您的 ECU 配置和生成 AUTOSAR 基础软件 (BSW) 和 RTE——无论它们是 Vector (MICROSAR) 的 BSW 模块还是第三方生产商(例如半导体制造商的 MCAL),甚至是您自己创建的 BSW 模块 . 多阶段和基于规则的验证过程确保所有配置参数的模块间一致性。






Vector官网





最简单直观的理解,它是用于做中间层的配置和生成代码的,但这样理解也不完整,因为它还可以生成SWC和MCAL的配置代码。
综合来说,Developer配置好SWC以及其Port和Runnable后,这个过程是体现在arxml的配置文件上的,也就是Developer做了一大堆的设计,是更改了相应的arxml文件。这时需要Configurator打开工程(相当于导入了这些arxml),然后verify或generate代码。
对于BSW和RTE层,例如OS、RTE、BSWM等,这些是直接在Configurator上面做配置的,然后verify或generate代码。
那么MCAL呢,对于Vector来说,MCAL是他们的ThirdParty内容,SIP里面提供了相关方法将MCAL集成到SIP中,即将MCAL里面的生成器、驱动源码、ARXML等按预定的方法集成到SIP中。这样Configurator可以引用MCAL的ARXML文件以及调研MCAL提供的生成器来生成MCAL的配置代码。
以上简单描述了Developer和Configurator的一些基本功能或作用,如果你深入学习研究,可能还会发现一些其他的作用。
6. ARXML
上面提到了ARXML这个东西,到底是什么?
可以理解为它就是XML格式,只是它有更严格的定义,用于AUTOSAR的。
从上面的讲解,可以指定ARXML文件承载着各种各样的配置信息,而且还穿插在SWC、RTE、BSW和MCAL之间。可想而知,他是有一套很规范的定义的。这些东西,实际上可以联系到,在看AUTOSAR规范时遇到的“方法论”这个概念,就是这个方法论贯穿于整个AUTOSAR和工具的使用。
但对初学者来说,知道这些概念就够了,暂时没必要搞懂这个方法论是什么、ARXML定义了什么内容。
7. AUTOSAR的理论知识和架构
搞懂了这些概念和工具的用途后,接下来你就会很想了解AUTOSAR是啥东西了。也许你在开始搞这个AUTOSAR的项目之前,你应该通过一些简单的培训或者阅读过介绍的文档,知道了AUTOSAR这个框架了。
我这里也有几个文章讲解这个的,有需要可以参考下,对初学者有一定帮助:
  • 我淡定地撸了一遍AUTOSAR的基本概念

  • 如何研读AUTOSAR官方文档

  • AUTOSAR架构的故事(干货)

  • AUTOSAR架构之通信服务(干货)

  • 这次我要通过Interface来贯穿整个AUTOSAR架构

本文就不重复这些内容了。


8. AUTOSAR的工具怎么用?

上面只提到了DaVinci Developer和Configurator的用途,大家刚接触这套工具链的时候,还会很疑惑,怎么用它。这是正常的,除了迷糊,你还很渴望驾驭它。
我这方面的教程不是很多,目前有两个可以参考下:

  • AUTOSAR折磨,从新建工程开始

  • AUTOSAR开发工具DaVinci Configurator里的Modules

后续,我会针对DaVinci Developer和Configurator做个专门详细的讲解。


本文提供PDF版下载,请在公众号后台回复“asr-0821”即可获得下载链接。


如果你对我的《AUTOSAR实战教程》感兴趣,可以关注公众号“嵌入式软件实战派”,然后在对话框回复“AUTOSAR”,可获得教程的目录。

这个教程目录会定期更新,现在订阅号的规则改了,不会更新你以前获得的目录文章,需要你定期回复“AUTOSAR”获得最新的版本。


嵌入式软件实战派 专注嵌入式软件开发领域知识传授,包括C语言精粹,RTOS原理与使用,MCU驱动开发,AUTOSAR搭建,软件架构方法设计等。
评论
  •         在有电流流过的导线周围会感生出磁场,再用霍尔器件检测由电流感生的磁场,即可测出产生这个磁场的电流的量值。由此就可以构成霍尔电流、电压传感器。因为霍尔器件的输出电压与加在它上面的磁感应强度以及流过其中的工作电流的乘积成比例,是一个具有乘法器功能的器件,并且可与各种逻辑电路直接接口,还可以直接驱动各种性质的负载。因为霍尔器件的应用原理简单,信号处理方便,器件本身又具有一系列的du特优点,所以在变频器中也发挥了非常重要的作用。  &nb
    锦正茂科技 2024-12-10 12:57 76浏览
  • 我的一台很多年前人家不要了的九十年代SONY台式组合音响,接手时只有CD功能不行了,因为不需要,也就没修,只使用收音机、磁带机和外接信号功能就够了。最近五年在外地,就断电闲置,没使用了。今年9月回到家里,就一个劲儿地忙着收拾家当,忙了一个多月,太多事啦!修了电气,清理了闲置不用了的电器和电子,就是一个劲儿地扔扔扔!几十年的“工匠式”收留收藏,只能断舍离,拆解不过来的了。一天,忽然感觉室内有股臭味,用鼻子的嗅觉功能朝着臭味重的方向寻找,觉得应该就是这台组合音响?怎么会呢?这无机物的东西不会腐臭吧?
    自做自受 2024-12-10 16:34 136浏览
  • 全球知名半导体制造商ROHM Co., Ltd.(以下简称“罗姆”)宣布与Taiwan Semiconductor Manufacturing Company Limited(以下简称“台积公司”)就车载氮化镓功率器件的开发和量产事宜建立战略合作伙伴关系。通过该合作关系,双方将致力于将罗姆的氮化镓器件开发技术与台积公司业界先进的GaN-on-Silicon工艺技术优势结合起来,满足市场对高耐压和高频特性优异的功率元器件日益增长的需求。氮化镓功率器件目前主要被用于AC适配器和服务器电源等消费电子和
    电子资讯报 2024-12-10 17:09 84浏览
  • 概述 通过前面的研究学习,已经可以在CycloneVGX器件中成功实现完整的TDC(或者说完整的TDL,即延时线),测试结果也比较满足,解决了超大BIN尺寸以及大量0尺寸BIN的问题,但是还是存在一些之前系列器件还未遇到的问题,这些问题将在本文中进行详细描述介绍。 在五代Cyclone器件内部系统时钟受限的情况下,意味着大量逻辑资源将被浪费在于实现较大长度的TDL上面。是否可以找到方法可以对此前TDL的长度进行优化呢?本文还将探讨这个问题。TDC前段BIN颗粒堵塞问题分析 将延时链在逻辑中实现后
    coyoo 2024-12-10 13:28 101浏览
  • 时源芯微——RE超标整机定位与解决详细流程一、 初步测量与问题确认使用专业的电磁辐射测量设备,对整机的辐射发射进行精确测量。确认是否存在RE超标问题,并记录超标频段和幅度。二、电缆检查与处理若存在信号电缆:步骤一:拔掉所有信号电缆,仅保留电源线,再次测量整机的辐射发射。若测量合格:判定问题出在信号电缆上,可能是电缆的共模电流导致。逐一连接信号电缆,每次连接后测量,定位具体哪根电缆或接口导致超标。对问题电缆进行处理,如加共模扼流圈、滤波器,或优化电缆布局和屏蔽。重新连接所有电缆,再次测量
    时源芯微 2024-12-11 17:11 70浏览
  • 近日,搭载紫光展锐W517芯片平台的INMO GO2由影目科技正式推出。作为全球首款专为商务场景设计的智能翻译眼镜,INMO GO2 以“快、准、稳”三大核心优势,突破传统翻译产品局限,为全球商务人士带来高效、自然、稳定的跨语言交流体验。 INMO GO2内置的W517芯片,是紫光展锐4G旗舰级智能穿戴平台,采用四核处理器,具有高性能、低功耗的优势,内置超微高集成技术,采用先进工艺,计算能力相比同档位竞品提升4倍,强大的性能提供更加多样化的应用场景。【视频见P盘链接】 依托“
    紫光展锐 2024-12-11 11:50 44浏览
  • 一、SAE J1939协议概述SAE J1939协议是由美国汽车工程师协会(SAE,Society of Automotive Engineers)定义的一种用于重型车辆和工业设备中的通信协议,主要应用于车辆和设备之间的实时数据交换。J1939基于CAN(Controller Area Network)总线技术,使用29bit的扩展标识符和扩展数据帧,CAN通信速率为250Kbps,用于车载电子控制单元(ECU)之间的通信和控制。小北同学在之前也对J1939协议做过扫盲科普【科普系列】SAE J
    北汇信息 2024-12-11 15:45 73浏览
  • 天问Block和Mixly是两个不同的编程工具,分别在单片机开发和教育编程领域有各自的应用。以下是对它们的详细比较: 基本定义 天问Block:天问Block是一个基于区块链技术的数字身份验证和数据交换平台。它的目标是为用户提供一个安全、去中心化、可信任的数字身份验证和数据交换解决方案。 Mixly:Mixly是一款由北京师范大学教育学部创客教育实验室开发的图形化编程软件,旨在为初学者提供一个易于学习和使用的Arduino编程环境。 主要功能 天问Block:支持STC全系列8位单片机,32位
    丙丁先生 2024-12-11 13:15 45浏览
  • 习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记
    youyeye 2024-12-10 16:13 105浏览
  • 【萤火工场CEM5826-M11测评】OLED显示雷达数据本文结合之前关于串口打印雷达监测数据的研究,进一步扩展至 OLED 屏幕显示。该项目整体分为两部分: 一、框架显示; 二、数据采集与填充显示。为了减小 MCU 负担,采用 局部刷新 的方案。1. 显示框架所需库函数 Wire.h 、Adafruit_GFX.h 、Adafruit_SSD1306.h . 代码#include #include #include #include "logo_128x64.h"#include "logo_
    无垠的广袤 2024-12-10 14:03 69浏览
  • RK3506 是瑞芯微推出的MPU产品,芯片制程为22nm,定位于轻量级、低成本解决方案。该MPU具有低功耗、外设接口丰富、实时性高的特点,适合用多种工商业场景。本文将基于RK3506的设计特点,为大家分析其应用场景。RK3506核心板主要分为三个型号,各型号间的区别如下图:​图 1  RK3506核心板处理器型号场景1:显示HMIRK3506核心板显示接口支持RGB、MIPI、QSPI输出,且支持2D图形加速,轻松运行QT、LVGL等GUI,最快3S内开
    万象奥科 2024-12-11 15:42 66浏览
  • 智能汽车可替换LED前照灯控制运行的原理涉及多个方面,包括自适应前照灯系统(AFS)的工作原理、传感器的应用、步进电机的控制以及模糊控制策略等。当下时代的智能汽车灯光控制系统通过车载网关控制单元集中控制,表现特殊点的有特斯拉,仅通过前车身控制器,整个系统就包括了灯光旋转开关、车灯变光开关、左LED前照灯总成、右LED前照灯总成、转向柱电子控制单元、CAN数据总线接口、组合仪表控制单元、车载网关控制单元等器件。变光开关、转向开关和辅助操作系统一般连为一体,开关之间通过内部线束和转向柱装置连接为多,
    lauguo2013 2024-12-10 15:53 78浏览
我要评论
1
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦