【车载开发系列】Autosar CP与AP的区别
【车载开发系列】Autosar CP与AP的区别
- 【车载开发系列】Autosar CP与AP的区别
- 一. 概念区分
- 二. 芯片类型区别
- 三. 芯片能力区别
- 四. OS能力区别
- 五. 架构的区别
- 1)CP AUTOSAR
- 2)AP AUTOSAR
- 六. 架构设计原则
- 1)CP AUTOSAR设计原则
- 2)AP AUTOSAR设计原则
- 七. 应用场景
- 1)CP AUTOSAR
- 2)CP AUTOSAR
- 八. 开发语言的区别
- 九. 通信方式区别
- 十. 开发流程的区别
一. 概念区分
AutoSAR CP的意思是Classic Platform经典平台,而AP的全称是Adaptive Platform自适应平台。
二. 芯片类型区别
▪ CP AUTOSAR一般运行在8bit、16bit、32bit的微控制器(MCU)中,如英飞凌的TC3xx,瑞萨的RH850等。
▪ AP AUTOSAR可以运行在64bit的高性能处理器(MPU)、CPU等中,如瑞萨的H3,英伟达的Xavier等。除此之外,AP AUTOSAR也可以运行在虚拟硬件上。
三. 芯片能力区别
▪ 运行CP AUTOSAR 的芯片算力一般低于1000 DMIPs
▪ AP AUTOSAR可以运行在算力高于20000 DMIPs的芯片
四. OS能力区别
▪ CP AUTOSAR OS是基于OSEK标准的。一般由CP AUTOSAR供应商开发,如AUBASS、VECTOR等。
▪ AP AUTOSAR OS是POSIX OS(UNIX, linux),且至少应包含PSE51子集。配套的OS一般是由专门的OS厂商开发的,如eSOL的eMCOS、黑莓的QNX等
五. 架构的区别
1)CP AUTOSAR
软件分为三层:Application,runtime environment(RTE)和basic software(BSW)。
▪ Application Layer,不依赖于硬件
▪ 软件模块间通过RTE交互,并通过RTE访问BSW
▪ RTE体现了application的所有接口
▪ BSW又分为3大层和复杂驱动:服务层、ECU抽象层、MCU抽象层
▪ 服务层又细分为不同的服务组件,比如系统服务、存储服务、通信服务等
2)AP AUTOSAR
Adaptive AUTOSAR标准定义了一个ARA运行环境,分为两种接口类型:service和APIs。平台由根据服务(Platform Service)和Adaptive AUTOSAR基础(Platform Foundation)分组的多个功能栈(功能集群)组成。
▪ 聚合了自适应平台功能
▪ 定义了功能栈需求规范
▪ 从应用程序和网络角度描述软件平台的行为
▪ 但不限制最终在自适应平台中的具体软件架构设计
六. 架构设计原则
1)CP AUTOSAR设计原则
▪ CP AUTOSAR将于硬件相关的以及通用系统功能定义为BSW模块
▪ 应用功能定义为独立的软件组件SWC
▪ RTE分离SWC和BSW
▪ BSW可配置,并且可以被多个产品线的ECU重复使用
▪ 不开源
2)AP AUTOSAR设计原则
▪ 遵循面向服务的架构SOA设计范式(理念)
▪ 充分利用其他领域软件成熟技术,重用软件市场成熟组件,缩短开发周期
▪ 充分利用各种开源软件
七. 应用场景
1)CP AUTOSAR
▪ CP AUTOSAR一般应用在对实时性要求高、对功能安全要求高、对算力要求较低的场景中,如引擎控制、制动系统等。
2)CP AUTOSAR
▪ AP AUTOSAR一般应用在对实时性有一定要求、对功能安全有一定要求,对算力要求较高的场景中,如:
① 传感器融合处理、运行时动态更新
② 自动驾驶中
③ OTA
八. 开发语言的区别
▪ CP AUTOSAR主要使用的是C语言,相关的标准是MISRA C。CP AUTOSAR上的应用程序直接从ROM执行代码。
▪ AP AUTOSAR主要使用的是C++语言,相关的标准是ISO/IEC 14882:2014;AP AUTOSAR上的应用程序则是从持久性内存加载到RAM中运行。
九. 通信方式区别
▪ CP AUTOSAR是基于信号的通信,主要包括CAN、Lin、FlexRay等。
▪ AP AUTOSAR是面向服务的通信,支持基于以太网的SOME/IP、IPC、RPC等。
CP AUTOSAR虽然可以支持SOME/IP,但是CP AUTOSAR中SOME/IP只不过是把Sender-Receiver的CAN通信转换成了Client-Server的以太网通信,整个通信链路仍是静态配置的,并不是真正的面向服务的通信。
十. 开发流程的区别
从开发流程来看,AP和CP都主要包括以下三个阶段:
▪ 设计阶段:设计ARXML
▪ 代码生成:基于ARXML生成代码
▪ 集成:集成Application,编译调试等
不同点
▪ 在AP AUTOSAR设计阶段,需要进行Service与Manifest的设计。
▪ CP则不用。CP需要进行ECU配置设计,而AP没有ECU配置这个设计项。
▪ 在代码生成时,CP是生成基础软件模块相关的代码,AP生成的是FC相关的代码和Manifest,需要注意的是,AP中不是所有的FC都会生成相关的代码和Manifest。(橙色是CP,绿色是AP)