智能汽车车用基础软件平台关联技术
① 模型层
模型层内部存在两层,如图 4.4-2 所示,分别为平台无关模型(Platform Independent Model, PIM) 和平台特定模型(Platform Specific Model, PSM)。PIM 和 PSM 的理念来源于模型驱动架构(Model Driven Architecture, MDA)理论。
在进行应用开发时,开发人员应当使用 PIM。工具应当根据应用开发人员的设置将 PIM 转化为PSM,即,第一步由开发人员创建一个平台无关模型 PIM,第二步由工具将平台无关模型 PIM 转变为针对不同编程语言的平台特定模型 PSM。
图4.4-2模型层
② 实时框架抽象层
框架是在给定域下的、可以提供一系列服务的协作类的集合。在构建复杂系统的实践中,一个常用方法是使用预定义的框架。而在自动化编译框架中的预定义框架具有实时性。
实时框架负责为软件系统提供体系指导,需要提供实时抽象用于构造和生成 PSM 中描述的模型的代码。如图 4.4-3 所示,实时框架需要包含行为层、服务层和操作系统抽象层。其中,行为层提供了一系列的协同类组成架构基础,提供面向对象的、响应的、多线程的行为;服务层包含了内存分配和对容器的支持;操作系统抽象层提供了操作系统服务的抽象,便于行为层使用操作系统服务。
框架提供实时抽象的目的是针对不同的硬件资源和有无操作系统的情况下进行应用管理、调度等工作,需要注意的是实时框架抽象应当是操作系统无关的,即其需要提供操作系统的抽象用于解耦。
图4.4-3 实时框架抽象层
③ 目标平台抽象层
该部分的工作即为根据硬件平台将实时框架代码进行编译和构建。在该部分需要集成编译工具链将代码自动编译为目标环境的库或可执行文件。
目标平台抽象层的目的是为了抽象硬件运行平台,来屏蔽运行在 x86 或 ARM 上的软件。需要注意的是操作系统不一定是必须存在的,这是因为对于资源较少的硬件而言是没有操作系统的,实时框架抽象层需要针对无操作系统的硬件平台提供框架的支撑。
④ 第三方或遗留代码
该部分类似于 AUTOSAR CP 中的 CDD(复杂驱动),其目的和意义是为了将已有代码进行快速复用或集成第三方非模型形式提供的库。
(2) 自动化编译框架运行原理
下图 4.4-4 描述了自动化编译框架的运行机制,以模型为切入点,展现出由模型到代码到库或可执行文件的转变过程,并且对不同阶段的扩展性进行了说明。
图 4.4-4 自动编译框架运行原理
在使用自动化编译框架时,负责自动化编译框架的工具以及在其运行中涉及的不同人员和角色的工作及内容总结如下:
① 基于模型的方式,通过模型抽象屏蔽细节
· 模型层面,应用层应当为平台无关模型(Platform Independent Model, PIM)
· 模型生成代码应当为平台特定模型(Platform Specific Model, PSM)在这一层应当暴露实现语言信息,例如 C/C++/Java 等
· 应当存在操作系统抽象层(Operation System Abstraction Layer, OSAL),用于屏蔽操作系统和PSM 模型,在最终生成代码时,根据不同的硬件平台的操作系统进行适配。
›› 对于存在操作系统的硬件平台,应当提供对应硬件平台对 OSAL 的实现;
›› 对于没有操作系统的硬件平台,应当提供中断、内存管理、仲裁等服务的抽象;
② 模型使用
· 开发人员只负责 PIM 的模型搭建,和 PSM 的语言选择。PIM 到 PSM 的映射应当是有专用工具自动实现的;
· 专用工具应当开放 PIM 和 PSM 的适配规则接口,便于更好的扩展和更新;
· 专用工具应当自动依据硬件平台选择适配和实现OSAL,并且提供接口用于对未来的新平台的支持;
-
汽车测试网V课堂
-
微信公众号
-
汽车测试网手机站
编辑推荐
最新资讯
-
汽车安全传感器的解决方案
2024-11-27 14:12
-
基于carsim的分布式驱动汽车原地掉头功能仿
2024-11-27 14:09
-
飞轮储能提升充电速度,突破电网容量限制-Z
2024-11-27 14:09
-
DAF Aero 驾驶室,太拖拉增程混动,Holthau
2024-11-27 14:06
-
华依德国携手百年欧洲车企,助力欧洲汽车工
2024-11-27 14:05