Os_Event中主要就是四个接口函数SetEvent、WaitEvent、GetEvent和ClearEvent,WaitEvent将Task置于等待状态,并交出CPU计算资源,GetEvent和ClearEvent则是将全局状态位同步到局部变量之后清除全局的操作。SetEvent将Task从等待状态切换到就绪状态,以执行Task中Event关联的Rbl。下文中的代码分析会详细介绍其内部逻辑。 2.3 Task...
客户端:调用Rte_Call接口发起异步请求后,注册事件监听(如WaitEvent)以等待服务器响应。 服务器端:在服务逻辑处理完成后,通过SetEvent触发事件通知客户端。 事件映射:需通过RTE(Runtime Environment)将事件与具体的Runnable关联,确保事件触发后能激活客户端的回调逻辑 异步轮询机制 轮询机制: 客户端通过Rte_C...
使用多核的ECU避免不了需要考虑跨核通信,如下图所示,跨核通信时使用RTE进行跨核通信时,AUTOSAR定义了标准的IOC通信,用户只需要配置SWC的端口接口进行Mapping,IOC的具体实现由RTE/OS自动实现,不用用户再做其他的操作。如果不使用RTE进行多核通信,没有标准的接口可以使用,需要用户自定义跨核通信,着重需要考虑跨核通信...
AUTOSAR将应用软件和硬件平台进行解耦,在应用软件和基础软件与硬件之间嵌入虚拟功能总线,应用之间的通信或者访问硬件资源等都是通过虚拟功能总线进行资源交换。在Classic Platform中虚拟功能总线为RTE层,在Adaptive Platform中虚拟功能总线为ARA层。由于AUTOSAR采用自上而下的方法论,从架构设计、接口描述,软件开发,功能组件集...
RTA-RTE(AUTOSAR运行时环境生成器)可为符合AUTOSAR规范(R4.x、R3.x)的ECU软件提供运行时环境,提供配置生成运行时环境的多种选择:可检测arxml文件的正确性,以确保开发过程的高质量;可输出OS配置文件,以集成运行时环境和OS。 使用RTA-RTE优势: 1)通过ISO 26262(ASIL-D)认证; ...
④运行实体的RTE Event:双击LightControlSWC,打开Component Editor,切换至Events界面>点击Add Events,显示下图列表。 RTE事件众多,常用的有Timing Event(周期性事件)、Operation Invoked Event(操作调用事件)、Data Received Event(数据接收事件)、Init Event(初始化事件)等。
(void)SetRelAlarm(Rte_Al_TE_App_AppRunnable, RTE_MSEC_SystemTimer(0) + (TickType)1, RTE_MSEC_SystemTimer(10)); ... ... } //RTE controlled tasks //App_Task TASK(App_Task) { EventMaskType ev; for(;;) { (void)WaitEvent(Rte_Ev_Run_DemoApp_DemoRunnable); ...
在Classic Platform中虚拟功能总线为RTE层,在Adaptive Platform中虚拟功能总线为ARA层。由于AUTOSAR采用自上而下的方法论,从架构设计、接口描述,软件开发,功能组件集成都是采用模型开发。因此可以使用代码生成工具,将SWC描述文件、ECU描述文件、系统约束文件等导入工具后可以生成可执行代码。
逻辑输出: Set_pwm 相关软件模块: HeadLight(Actuator-SWC控制通道), RTE, SPI Driver/Handler 日间行车灯 物理输出: 日间行车灯 逻辑输出: (不在本示例讨论范围之内) 相关软件模块: (不在本示例讨论范围之内) 监控灯 物理输入: HW_current left, HW_current right (ASIL A(B)) ...
相关软件模块: DIO Driver/Handler, RTE, SwitchEvent(Sensor-SWC) 读取点火钥匙状态(通过车身控制器) 物理输入: CAN BUS CAN_CL15 逻辑输入: CL15_01 (ASIL B) 相关软件模块: CAN, CanIf, PduR, COM, RTE, Light Request(Application SWC)