利用 PikeOS 微内核对资源分区进行严格隔离和分离。但是, 在不同资源分区中的应用程序以受控方式相互通信也很重要。PikeOS 微内核为实现分区间通信机制提供了三种方法 [29]。
在 PikeOS 中, 应用程序/用户程序可以直接在 PikeOS 微内核介面的顶层执行, 或者在承载虚拟操作系统的资源分区的顶层进行, 这些系统适用于 PikeOS 微内核。这些Guest-OS可以运行在 PikeOS 微内核的顶层被称为特性 [26, 29]。在我们的原型实现中, 我们使用 PikeOS、嵌入式 linux (ELinOS) 和便携操作系统介面 (POSIX 实时) 提供的以下特性, 用于在 PikeOS 微内核上分别移植虚拟化的 linux 和 AUTOSAR OS [26, 31]。
ELinOS 是由 SYSGO AG 提供的一个嵌入式 Linux 发行版 [31]。ELinOS 提供了用于工业实时应用的所有功能, 并支持广泛的 bsp、驱动程序和实时硬体扩展。它为 linux HMI 演示应用程序提供最新的内核版本 (2.6.35), 用于创建可在 PikeOS 微内核上的分区上承载的虚拟化 linux OS。
PikeOS POSIX 实时特性适合于在一个分区中部署紧凑的实时系统, 我们使用它来模拟AUTOSAR 操作系统, 因为它为 AUTOSAR os 的概念提供了良好的支持, 如任务模型、事件、调度、报警机制和资源管理。posix 实时特性为编程环境提供 posix API 函数 [29]。
PikeOS 提供了一个基于 Eclipse 的 IDE 工具, 名为 CODEO, 用于支持的虚拟 OS 的软体应用程序的交叉编译, 然后在单独的分区 [30] 中进行配置。使用 PikeOS 交叉编译器工具, 可以将应用程序编译、链接并内置到目标硬体系统的应用程序二进位文件中。PikeOS 系统设置由开发人员使用 CODEO 进行配置, 这些参数将自动更新并以 xml 格式 (称为 VMIT. xml [30]) 存储在配置文件中。系统配置设置 (如分区、其资源要求、时间调度参数、分区间通信通道和埠以及在分区内执行的应用程序) 的规范将在此更新文件.最后, 将分区配置文件 (VMIT. xml)、用户应用程序二进位和 PikeOS 二进位对象 (微内核模块和 PikeOS 系统软体) 组装起来, 并使用 ROM 映像生成器工具将其内置到单个二进位文件中。此二进位文件是可在嵌入式硬体平台 [30] 上下载和初始化的 PikeOS ROM 图像文件。CODEO 指定在嵌入式目标硬体中启动 ROM 映像的引导机制。
AUTOSAR 是一个开放和标准化的软体架构框架, 由汽车制造商、主要 OEM 供应商和汽车工具开发商共同开发, 以应对车辆中电子/电子系统日益复杂的问题 [4]。它为汽车领域的不同利益相关者提供了一个协作、可转移性、可重用和合作的软体基础平台, 同时促进了创新功能的竞争 [32]。
AUTOSAR 标准化提供了一个模块化的, 分层的 ECU 软体架构, 使基于模型的开发 (MBD) 的汽车嵌入式软体功能, 也有助于消除边界之间的多样化的汽车功能域.此外, AUTOSAR 提供了软体组件框架, 允许在组件软体实体 (深港西部通道) 方面对汽车功能进行描述, 进而帮助对软体进行个性化需求的建模。AUTOSAR 为 ecu 提供了一个标准的和简化的开发基础结构, 其中实现汽车功能 (深港西部通道) 的应用软体与平台特定的基本软体模块 (BSW) 分离, 通过透明中间件层, 称为运行环境 (RTE), 如图4.4 所示。此设计有助于开发汽车软体功能, 而不了解相应的 ecu [4、32]。