3. Stellar软件平台与实时运行环境
ST Stellar(如 Stellar P、Stellar G 系列)是面向域控制器与区域控制器的车规级多核 MCU 平台,其软件平台并非单一 RTOS,而是由 AUTOSAR CP、AUTOSAR AP 以及实时内核共同构成的混合运行环境。理解这一节的关键,不是记住"支持 AP/CP"这句话,而是搞清楚:哪些软件跑在哪个核上、它们之间靠什么通信、上电后谁先启动谁后启动。这三件事直接决定了 HIL 测试中你能观测到什么、能注入什么、能复现什么。
一、AP 与 CP 的分工与共存方式
Stellar 的典型软件架构是"CP 管实时控制、AP 管服务与算力"的混合部署。AUTOSAR CP 侧运行在锁步核或实时核上,承载 OS、RTE、BSW、MCAL,负责电机控制、执行器驱动、安全监控等硬实时任务,周期通常在 100 µs~1 ms 量级,抖动要求严格。AUTOSAR AP 侧运行在高性能核上,承载 POSIX PSE51 操作系统、ARA(AUTOSAR Runtime for Adaptive Applications)服务、SOME/IP、DDS、诊断与 OTA 等,任务周期在毫秒到百毫秒级,允许动态调度与进程隔离。
两者不是二选一,而是通过核间通信(IPC)协同。CP 侧把传感器采样、执行器状态等数据通过共享内存或 IPC 通道交给 AP 侧做融合、记录或上云;AP 侧把决策结果、标定参数下发给 CP 侧执行。在 HIL 测试中,这意味着你既可能通过 CP 侧的 XCP/CCP 观测微秒级信号,也可能通过 AP 侧的以太网服务观测毫秒级状态,两者的时间基准和采样率必须分别标定。
二、实时操作系统配置要点
Stellar 的实时性来自"核的划分 + OS 的配置 + 中断的分配"三者配合。以 CP 侧为例,配置通常围绕以下参数展开:
- 任务周期与优先级:控制类任务设为高优先级、固定周期(如 1 ms),诊断与通信任务设为低优先级、事件触发。优先级反转必须通过优先级天花板或互斥量协议规避。
- 中断到核的绑定:将 ADC 转换完成、PWM 周期、CAN 接收等中断绑定到指定核,避免跨核中断引入额外延迟。
- 栈与执行预算:每个任务分配独立栈,并用执行时间监控(如 OS 的 Execution Budget)检测超时。
- 核间同步:多核共享数据时使用自旋锁或硬件信号量,避免缓存一致性问题。
AP 侧则更关注进程隔离、资源配额与调度策略。POSIX 线程优先级、CPU 亲和性、内存池大小都需要在集成时确定。一个常见的教学示例配置是:CP 侧控制任务周期 1 ms、优先级 10;AP 侧数据记录进程周期 10 ms、优先级 5;两者通过共享内存交换 64 字节状态帧,并用序列号防止读到半更新数据。
三、核间通信机制
Stellar 的核间通信主要有三条路径:共享内存、硬件信号量/邮箱、以及基于以太网或 IPC 的软件通道。共享内存适合大数据量、低频率的状态同步;硬件邮箱适合小消息、事件通知;软件通道适合 AP 与 CP 之间的服务调用。选择依据是数据量、实时性和一致性要求。
在 HIL 环境中,核间通信是最容易出问题也最值得观测的环节。典型故障包括:共享内存未做缓存刷新导致读到旧值、信号量未释放导致死锁、消息队列溢出导致丢帧。测试时应重点观测通信延迟、丢包率和数据一致性。
四、启动流程与 HIL 观测
Stellar 的启动流程是分阶段、多核协同的。上电后首先执行 BootROM,完成基本时钟与内存初始化;随后加载 Bootloader(如 UDS Bootloader),校验并跳转到应用镜像;应用镜像启动时,主核先完成 CP 侧 OS 启动与 BSW 初始化,再释放从核;AP 侧则在 CP 侧基础服务就绪后启动 POSIX 内核与 ARA 服务。整个过程中,核间同步点、共享内存初始化顺序、IPC 通道建立时机都是 HIL 测试需要重点验证的环节。
在 HIL 台架上,启动流程的观测通常通过以下方式实现:用调试器或 trace 工具抓取各核的启动时间戳;通过 CAN/以太网记录启动阶段的关键报文;用示波器测量复位释放到首个 PWM 输出的时间。一个合理的教学示例是:从复位释放到 CP 侧首个 1 ms 任务执行,目标时间小于 50 ms;从 CP 就绪到 AP 服务可用,目标时间小于 200 ms。若超出,需检查镜像加载、核间同步或服务发现配置。
五、配置与验证的闭环
把上述内容落到工程实践,一个完整的配置验证闭环包括:确定核划分与任务映射 → 配置 OS 任务周期、优先级与中断绑定 → 定义 IPC 数据帧格式与同步机制 → 编写启动时序测试用例 → 在 HIL 上采集时间戳与信号 → 对比设计预算并定位偏差。这个闭环中,最容易忽略的是 IPC 数据一致性验证:建议在共享内存帧中加入序列号与校验字段,HIL 测试时连续采集并检查序列号是否单调递增、校验是否通过,以此判断是否存在读写竞争或缓存未刷新问题。
需要强调的是,Stellar 的 AP/CP 混合环境对 HIL 测试提出了更高要求:测试系统必须同时具备微秒级信号采集能力和毫秒级服务调用能力,并能把两者的时间轴对齐。只有把 CP 侧的实时控制行为、AP 侧的服务行为、以及两者之间的 IPC 行为放在同一时间基准下分析,才能真正验证域控制器的实时性与功能正确性。