1.建立AUTOSAR王朝的目的
一句话解释AUTOSAR:Automotive Open System Architecture(汽车开放系统架构)。
既然AUTOSAR是关于汽车电子的,自然是由全球汽车制造商、部件供应商及其他电子、半导体和软件系统公司联合建立的。
起义,要有起义口号,比如让人民富裕起来,建立AUTOSAR,也是出于某个目的的,这个目的也是为了解决目前存在的问题:
1)建立独立于硬件的分层软件架构;(说明以前软硬件耦合程度高)
2)为实施应用提供方法论,包括制定无缝的软件架构堆叠流程并将应用软件整合至ECU;(说明应用软件开发没有统一框架规范)
3)制定各种车辆应用接口规范,作为应用软件整合标准,以便软件构件在不同汽车平台复用。(说明以前应用软件的复用性差)
2.AUTOSAR的内容
俗话说打江山容易,守江山难,AUTOSAR要想长久生存下去,必须要具备相当的生命力。
以上图中已经很明确的表明了AUTOSAR规范的组织架构。AUTOSAR的框架跟VxWorks653的框架很相似。
再次重点说明一下BSW:
这一部分的基础软件层,和我比较熟悉的IMA的平台应用很相似,包括了操作系统,以及一些基本平台服务,比如FIDO/DL/HM/SM等,以及各个IO接口驱动等。
基础软件层的组件及其功能对应如下:
(1)系统:提供标准化的规定(针对操作系统、定时器以及错误存储器)、ECU特定的服务(ECU状态管理、看门狗管理)和库函数;
(2)内存:对内部和外部的内存(非易失性存储器)的访问入口进行标准化;
(3)通信:对汽车网络系统、ECU通信系统以及ECU内部软件的访问入口进行标准化;
(4)输入/输出:对传感器、执行器以及ECU外设的访问入口进行标准化;同时,基础软件层模块按照类型可以分为驱动模块、接口模块、处理模块以及管理器。
1、驱动模块 分为内部驱动和外部驱动。
(1)内部驱动内部器件位于微控制器(单片机)的内部,比如内部EEPROM、内部CAN控制器、内部ADC模块等。内部驱动程序就是针对单片机内部器件资源的驱动程序,这部分驱动程序属于微控制器抽象层(MCAL)。
(2)外部驱动外部器件是指单片机外部的ECU硬件,比如外部EEPROM、外部看门狗、外部Flash等。
2、接口模块接口模块包含了对其次级模块进行抽象的功能,比如对一个特定功能的硬件进行抽象。它提供一个通用的接口函数(API)来访问一种特定的器件类型,且与该类型器件的数目无关,同时也与器件的具体硬件实现无关。接口模块不会改变数据的内容。一般来说,接口属于ECU抽象层。例如,CAN通信系统的接口模块提供一个通用的接口函数来访问CAN通信网络,并且与ECU上CAN控制器的数目以及硬件实现无关。
3、处理模块处理模块是一个专用的接口,它控制一个或多个客户端对一个或多个驱动程序进行并行、多重以及异步地访问。也就是说,它起着缓冲、队列、仲裁以及多路复用的功能。同时,处理程序也不会改变数据本身的内容。处理模块通常会并入驱动程序或是接口模块中(如SPIHandlerDriver、ADC Driver等)。
4、管理器管理器为多重的客户端提供特定的服务。当单纯的处理程序不能满足对多重的客户端进行抽象时,就需要用到管理器来进行处理。除了处理功能外,管理器还可以对数据内容进行评估、改变或是适应数据内容。一般而言,管理器属于服务层。例如,非易失性随机存储器(NVRAM)的管理器负责对内部或是外部存储设备进行并行的访问,如Flash、EEPROM存储器等。同时,它也可以完成分布式并且可靠的数据存储、数据校验以及默认值的规定等。
---------------------
作者:cococenstar
来源:CSDN
原文:https://blog.csdn.net/cococenstar/article/details/84027932
版权声明:本文为博主原创文章,转载请附上博文链接!