浅谈AUTOSAR架构及开发方法
AUTOSAR软件架构
AUTOSAR软件整体框架为分层式设计,以中间件RTE(Runtime Environment)为界,隔离上层的应用层(Application Layer)与下层的基础软件(Basic Software)。如下图所示AUTOSAR体系架构分层标准。
图 1 AUTOSAR体系架构分层标准
应用层软件由1个或多个软件组件SWC(Software Component)实现,SWC中封装了部分或者全部ECU功能,包括对其具体功能的实现以及对应描述,如控制大灯,空调等部件的运作,但与ECU硬件系统没有连接。
中间层RTE主要是给应用层提供通信手段,这里的通信是一种广义的通信,可以理解成接口。应用层与其他软件的信息交互有两种,第一种是应用层中的不同SWC之间的信息交互;第二种是应用层SWC与基础软件之间的信息交互。而RTE就是这些交互使用的接口的集散地,它汇总了所有交互的接口。
不同SWC之间的通信是通过调用RTE提供的API函数实现的,都在RTE的管理和控制之下。每个API遵循统一的命名规则,且只和软件组件自身的描述有关。RTE层的软件都是由工具供应商提供的配置工具自动生成的。而SWC的软件可以通过工具生成也可以由用户自行编写,但要符合RTE层的API接口。
基础软件通常是实现ECU的基础功能,如IO操作,AD操作,诊断,CAN通信,操作系统等。根据不同功能,可对基础软件继续细分成四部分,分别为服务层(Service Layer),ECU抽象层(ECUAbstract Layer),复杂驱动(ComplexDriver)和MCAL(Microcontroller Absstraction Layer),四部分之间的互相依赖程度不尽相同。为了满足不同ECU间的互操作性,基础软件通常也是借助工具提供商的工具自动生成。
图 2 AUTOSAR分层架构
服务层部分主要为应用程序、RTE以及基础模块提供服务如:操作系统功能、网络通信与管理服务、存储服务、诊断服务、ECU管理、看门狗管理。
图 3 服务层
ECU抽象层包含许多外部设备驱动,使得更高层软件与ECU硬件分布无关。如外部CAN Transceiver驱动、外部EEPROM驱动。
图4 ECU抽象层
微控制器抽象层包含许多内部驱动,使得更高层软件与为微控制器无关。如IO驱动、AD驱动、CAN驱动。
图5 微控制器抽象层
复杂驱动层实现复杂传感器模拟和执行器控制(直接访问具体中断或复杂微控制器外设),以及不支持AUTOSAR BSW分层架构的驱动,如喷射控制,电子阀控制等。
图6 复杂驱动层
AUTOSAR开发方法
AUTOSAR方法论描述了从系统底层配置到ECU可执行代码产生过程的设计步骤,可以分为建立抽象系统描述(需求)、建立VFB系统描述、开发软件组件、开发系统和子系统、开发BSW、软件集成这几个步骤,从大的阶段来讲可分为系统配置、ECU设计与配置、软件集成三个阶段。图7表述了从SWC描述阶段到ECU提取的过程。
图7 AUTOSAR开发方法
通过建立抽象系统描述,可描述为1个或多个SWC组件,通过VFB系统,将1个或多个SWC组件组合起来构成整个系统。使用支持SWC软件开发组件的工具根据ECU描述、系统约束描述将软件需求映射到ECU上。图8描述了借助AUTOSAR配置工具从系统底层配置到ECU可执行代码生成的过程。
图8 AUTOSAR开发方法
首先借助配置工具生成系统配置描述文件,再提取各个ECU相关的描述将SWC映射到各个ECU上,再将子系统独立出来,之后就可以开发单个ECU的SWC、BSW最后将生成的代码集成,生成可执行文件下载到ECU上运行。
浅谈AUTOSAR架构及开发方法相关推荐
- 浅谈三层架构 通过这个,+Java开发模式经验。终于相通了,动软到底是为什么这么做...
浅谈三层架构 收藏 自己理解的原理 http://www.cnblogs.com/mahaisong/archive/2011/05/12/2044665.html 浅谈三层架构 通过这个,+Jav ...
- Java架构师成长之道之浅谈计算机系统架构
Java架构师成长之道之浅谈计算机系统架构 Java架构师成长之旅 1.1 信息技术发展趋势 目前信息技术主要经历了互联网.移动互联网以及以大数据.云计算.人工智能和区块链为代表的新兴技术三个阶段.而 ...
- 浅谈分布式架构搭建-理论知识
浅谈分布式架构搭建 基础 理念 技术选型 后端技术设计 总体架构设计 关键案例设计 架构师搭建架一般优先考虑的是安全性.稳定性.高吞吐量.哈哈,菜鸟的我让我装个B,回忆一下以前架构搭建 基础 理念 C ...
- 浅谈在游戏陪玩开发中常见的几种加密算法及实现
前言 数字签名.信息加密是游戏陪玩开发前后端都经常需要使用到的技术,应用场景包括了用户登入.交易.信息通讯.oauth 等等,不同的应用场景需要游戏陪玩开发时使用到不同的签名加密算法,或者需要搭配不一 ...
- 必看!清华大学刘洋教授“浅谈研究生学位论文选题”方法,3月7日1小时视频公开课(附视频PPT下载)...
来源:专知 本文约700字,建议阅读5分钟 清华大学计算机系长聘教授刘洋老师在线讲授了关于<浅谈研究生学位论文选题方法>的课程. 标签:论文研究方法 [ 导读 ]在继续抗击疫情之际,3月7 ...
- 【强烈推荐】清华大学刘洋老师【浅谈研究生学位论文选题方法】讲座
关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 在继续抗击疫情之际,3月7日,清华大学计算机系长聘教授刘洋老师在线讲授了关于< ...
- 浅谈iPhone和iPad开发中的图标设置
浅谈iPhone和iPad开发中的图标设置 图标大小问题 我们的辛辛苦苦做出来的应用程序在iPhone上的表示仅仅是一个图标,对这个图标不可以不谨慎对待,不能因为大小不对头这些小问题而失真啊什么的. ...
- 经验 | 清华大学计算机系教授~浅谈研究生学位论文选题方法
点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 编辑:Sophia 计算机视觉联盟 报道 | 公众号 CVLianMeng 转载于 :清华大学,专知 AI博士笔 ...
- 浅谈tcpwrapper的基本使用方法
浅谈tcpwrapper的基本使用方法 曾几何时,不知道你是否与笔者小神一样,有在FreeBSD下实现与WIN2000中的IPSec安全策略实现访问控制的一样功能的想法呢?也许这对刚刚接触FreeBS ...
最新文章
- Java笔试题二:读程序
- java中遍历map的两种方式
- JS数组方法汇总 array数组元素的添加和删除
- 离职那天!同龄的CTO悄悄私信我,他的年薪是我的10倍
- MariaDB强势席卷DB-Engines榜单后续,与阿里云达成全球独家战略合作
- ubuntu中提示找到make命令的解决方案
- 异常检测3——AutoEncoder异常检测
- dockerfile详解-dockerfile构建过程解析,dockerfile体系结构保留字解析,案例解析
- Android之WindowManager+OpenGL+EGL绘制(十七)
- Hash 表的时间复杂度为什么是 O(1)(面试版)
- linux配置dhcp超级作用域,Linux DHCP服务器 超级作用域
- 【质量管理】SMT电子厂超实用的六西格玛(6σ)质量管理工具一览表!
- 启动docker-compose时报/usr/lib/python2.7/site-packages/requests/__init__.py:91: RequestsDependencyWarnin
- 089 定积分之双纽线、心形线、摆线
- 医院预约挂号系统-系统结构
- 如何申请百度API Key
- ubuntu java 中文_Ubuntu下 JAVA GUI 程序汉字显示为方框解决办法
- 休闲娱乐之和成熟的男生谈恋爱
- 如何创建并签署CAB文件
- Spotfire 数据分析学习之一