本文主要是介绍入门Adaptive AUTOSAR(一) -- 为什么要提Adaptive(2),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
1.概述
2.比较AP和CP
2.1 层次结构区别
2.2 开发方式
2.3 硬件平台
3.小结
1.概述
我们简单聊了Adaptive的由来,接下来我们比较CP和AP的区别在哪里
2.比较AP和CP
我们从软件架构上来具象地认识AP和CP的区别。
2.1 层次结构区别
Classic Platform 结构如下:
Adaptive Platform结构图如下:
最明显的区别就是CP的典型上下分层解耦的架构,从上至下分别为:App层级、RTE、BSW和MCAL,这也体现了其典型的设计理念:
- RTE将SWC和BSW解耦,应用层的实现可忽略具体基础软件功能;
- BSW可配置,移植方便,可忽略具体硬件平台;
- SWC、BSW部分模块均可复用
AP层次概念模糊,所有模块被统称为Functional Cluster(功能集群),每个功能集群相互独立,不存在依赖关系,因此在设计时只需要选择对应的功能集群,严格来讲,Adaptive AUTOSAR是一个中间件,它将应用层与OS\硬件解耦,提供应用层可移植性、降低成本;
2.2 开发方式
AP和CP在开发上均需三步走:设计Arxml、基于Arxml生成代码、与应用层集成。但开发方式上有一定的区别:
- AP需要设计Manifest;CP则面向ECU配置进行设计;
- CP一般采用CAN进行通信,各ECU根据ID自行获取信号;AP采用SOA(Service Oriented Architecture),将应用软件的功能以服务形式封装,并给这些服务定义接口和协议,数据只在需要是提供,降低了总线负载;
- CP采用固定、静态的任务调度方式,常用RTOS、AUTOSAR OS;AP采用动态调度策略,配置信息在Manifest中体现,操作系统兼容性广,如Linux、PikeOS;
- CP采用C语言开发;AP采用C++开发
- 在程序运行方式上:CP代码大部分在Flash运行(除Flash Driver等),共享统一地址空间,AP需要将程序加载到RAM运行,每个应用程序独享一个虚拟地址空间。
2.3 硬件平台
CP运行的主要目标为MCU,如英飞凌TC3xx、瑞萨的RH850系列、恩智浦的S32K系列,多为32bit,也有16bit;
AP主要运行在64bit的高性能SOC、MPU上,如英伟达的Xavier、高通8295\8155等;
3.小结
随着近几年MCU的性能逐步提升,算力和资源开始向高性能SOC靠拢,我们可以看到各大MCU开始提出基于MCU的硬件虚拟化辅助功能、基于MCU的AI加速、 基于MCU硬件的报文路由加速等功能,这无不在为跨域融合、乃至中央集成做准备。
因此,作为MCU的软件开发,仅仅只搞明白CP,已经有点跟不上节奏了,时代在进步,咱们也得努力。
这篇关于入门Adaptive AUTOSAR(一) -- 为什么要提Adaptive(2)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!