详解AUTOSAR:RteRunnable调度、通信语义与分区执行机制(理论篇—37)

📅 2026/8/17 20:00:56
详解AUTOSAR:RteRunnable调度、通信语义与分区执行机制(理论篇—37)
一个软件组件只描述端口、Runnable、RTE Event 和数据访问点时,还没有回答 ECU 上最现实的几个问题:哪个 OS Task 调用 Runnable,数据在调用前还是调用后可见,跨核访问是否经过 IOC,客户端调用会不会切换任务,以及启动到什么阶段才允许周期事件发生。运行时环境(Runtime Environment,RTE)承担的正是这层落地工作。它根据系统与 ECU 配置生成组件专用 API、任务体、通信缓冲、回调、内存段和 OS 配置需求,把虚拟功能总线(VFB)上的连接转换为 ECU 内可编译、可调度的实现。RTE 不解释业务信号,也不替代 COM、LdCom、NvM、OS 或 XCP。SWC 通过Rte_ComponentType.h看到发送-接收、客户端-服务端、Mode、Trigger、IRV、PIM 与校准接口;BSW 模块则通过SchM_BswModule.h接入调度和 Exclusive Area。RTE 向下调用Com_SendSignal()、Com_ReceiveSignal()、NvM_WriteBlock()、SetEvent()、ActivateTask()等服务,并把下层通知重新变成 Runnable 的触发条件或 API 状态。