编辑推荐: |
本文主要讲解自动驾驶&域控中间件——怎样使用自适应平台AUTOSAR。希望对你的学习有帮助。
本文来自于CSDN,由火龙果软件Linda编辑、推荐。 |
|
一、流程
01 开发流程
AP AUTOSAR的开发流程如下图所示:
AP AUTOSAR的开发主要分为三个阶段:设计阶段、生成阶段、集成调试
设计阶段的步骤有:
系统设计
诊断设计
服务设计
应用设计
Manifest设计
当然,上述只是一个简单的总结,实际项目中,设计阶段还包括Machine设计、服务部署等等内容。设计阶段的产物是
“.arxml” 文件
生成阶段主要包括代码生成与manifest生成。生成阶段的输入物是设计阶段的产物:“.arxml”文件。
代码生成器会根据输入的 “.arxml”文件,生成 “.cpp” 与 “.h”文件。
manifest生成器会根据输入的 “.arxml”文件,生成 “.json”文件。当然啦,这里的文件类型不是固定的,大部分厂商会使用的
“.json” 类型的文件,如果对该文件有其他格式要求,可以与工具供应商协商解决。
集成测试部分是指,将生成阶段生成的 “.cpp” 与 “.h”文件与用户书写的代码集成在一起,当然还有AP
AUTOSAR FC的标准代码包也会被集成进来哦。该阶段的产物是编译生成的 ".exe"文件。最后该
".exe"文件会与生成阶段的生成的 “.json”文件一起运行在ECU的OS上。
需要注意的是:由于AP AUTOSAR支持OTA,因此,OEM需要准备Application Cloud,以便车主可以从云端获取升级需要的代码包。
02 任务分担
在AP AUTOSAR开发流程中,不同的厂商会承担一些不同的任务,如下图所示:
上图中的任务是根据AP AUTOSAR方法论进行分配的,在实际项目中,可根据情况自由分配哦。
03 开发参考
在基于AP AUTOSAR进行开发时,首先要进行的是设计阶段,也成为Modeling阶段。该阶段主要参考的标准是AP
AUTOSAR方法论。
下图是我们提出的一些在研究AP AUTOSAR方法论的时候,需要研究的问题,供大家参考:
当然啦,我们也有配套的培训教程,有需要的朋友,也可以发邮件咨询我们哦~
二、集成
01 Application
在AP AUTOSAR中有两种应用程序,一种是Application-Level类型的应用程序,一种是Platform-Level类型的应用程序。
Application-Level类型的应用程序会生成 Source-Code 与 Object-Code,该应用程序是指用户书写的代码。
Platform-Level类型的应用程序会生成 Object-Code,其主要作用是引导Application-Level的应用程序在AP
AUTOSAR FC上运行。一般由工具供应商开发,也可以自己进行开发。
02 参数标定
在AP AUTOSAR中没有XCP的概念,XCP只存在于CP AUTOSAR中,那么要在AP AUTOSAR中实现类似于CP
AUTOSAR中XCP的参数标定的功能需要具备哪些条件呢?主要包括三点:
File System Application
支持XCP以太网的设备驱动
A2L格式转换器
File System Application一般由用户自己开发,当然,也可以找工具供应商或第三方等进行开发。
其中一些操作系统中也有File System这个部分,当然,也可以找OS供应商开发File System
Application。
03 多OS的情况
在项目开发中,我们可能会碰到这样的情况:
在一颗芯片上会有多个核,其中一个核上运行Linux,一个核上运行MCOS,一个核上运行QNX等。甚至,还可能出现在一个SoC上即运行AP
AUTOSAR,又运行CP AUTOSAR。在这种情况下,需要使用Hypervisor进行虚拟化分区。
Application、AP AUTOSAR、OS、Hypervisor以及硬件之间的层级关系如下图所示:
需要说明的是,在AP AUTOSAR中的运行时环境中的Basic部分中,规定的是OSI(操作系统接口),OS位于其下方。
Hypervisor一般由OS厂商提供,当然,其他如工具供应商或者第三方厂商也可能可以提供Hypervisor。
04 BSP
当然,有这些还不够,还需要有BSP(板载支持包),如下图所示:
BSP通常包含了以基础支持代码来加载操作系统的引导程序(英语:bootloader),以及主板上所有设备的驱动程序。通常认为是OS的一部分。因此,一般由OS厂商提供。当然,也有的由芯片厂商提供BSP。
05 工具
在基于AP AUTOSAR进行项目开发的时候,肯定要用到工具,我们从全球范围内对一些工具供应商进行了简单的调研,有对这部分内容感兴趣的朋友,欢迎沟通。
|