前言
从整个AUTOSAR架构层面来看,运行时环境RTE(Run-Time Environment))在AUTOSAR的中间层。本文主要对RTE层相关知识进行总结,以便在后续学习过程中查漏补缺。
RTE概述
作用
- 使SWC与ECU的映射无关,使SWC在不同的ECU中复用。
- RTE是提供通信服务的中间层(ECU内部/间通信)、向SWC提供调度服务,即VFB的具体实现。
- 将应用层软件与基础软件层剥离开,为应用层软件提供运行环境。如:进程时间片调度、应用层模块间以及应用层与基础软件层间的数据交换。
RTE包含内容
- 通过RTE的事件触发Runnables的运行
- 生成调用Runnables的Task代码
- 配置OS的一部分(tasks、events、alarms)
- 每个ECU的RTE因SWC的需求而异
- RTE抽象了OS,防止SWC直接访问OS和BSW
RTE对Runnables的管理
RTE对Runnables的触发条件
- 定时时间:周期性触发(如:使用OS的Alarm)
- 数据接收事件(S/R):收到数据时触发
- 异步服务调用返回事件(C/S)
- 操作调用事件(C/S)
- 数据接收错误事件(S/R)
- 数据发送完成事件(S/R)
- 状态切换事件
RTE对Ports的管理
端口的概念
- Sender-Receiver
- 可以理解成:Global变量的读写
- Client-Server 服务调用
- 看成:function call
- client端调用server端操作
- 同步/异步调用
- Intra-ECU and Inter-ECU(via COM)
- RTE implements callbacks of AR-COM
RTE对数据一致性的管理
- 针对不同SWC之间的通信,RTE会负责保证数据的一致性。
RTE对Interface的管理
RTE生成器
- RTE需要配置,并可以在配置工具中自动生成。如:使用Vector工具链,把Runnables对应到OS的Tasks中去。