AutoSAR系列讲解(入门篇)3.2-RTE对Runnables的运行支撑

news/2025/1/12 21:51:11/

目录

一、作为运行环境的主要功能点

二、Runnables的触发条件


一、作为运行环境的主要功能点

 

  • 通过RTE给runnable提供触发事件。

        之前说过了runnable是可以被触发的,就是需要通过RTE来实现这个触发和调用runnable,具体在下面讲解

  • 通过RTE给runnable提供所需资源。

        就是之前说的接口通信(Ports那节),将runnable需要的一些资源通过接口传输给它

  • 将BSW和SWC做隔绝。

        因此OS和runnables也被隔绝了,runnable的运行条件由RTE提供,不能由OS直接提供

二、Runnables的触发条件

RTE给runnables提供触发条件,也就是runnable在设计的时候,需要有触发条件,不然无法运行,也就没有意义了。触发条件就是一些特定的事件,

AutoSAR中主要规定了以下一些触发条件(图中是DaVinci软件中的配置项,灰色是因为我没有配置,不用在意):

 

  • 初始化事件:初始化自动触发
  • 定时器事件:给一个周期定时器,时间到了就触发
  • 接收数据事件(S/R):Receiver Port 一旦收到数据,就触发
  • 接收数据错误事件(S/R)
  • 数据发送完成事件(S/R):Send Port 发送完成,就触发
  • 操作调用事件(C/S):当调用到了该函数的时候
  • 异步服务返回事件(C/S):之前说过C/S可以在异步下运行,就是说当我调用一个Server函数,但是我是异步调用的。那么该被掉函数作为一个 线程和当前的运行程序并行运行,当被调函数运行结束返回(Return)的时候,这时触发异步服务返回事件
  • 模式切换事件
  • 模式切换应答事件

http://www.ppmy.cn/news/590657.html

相关文章

【软件测试】推荐几款适合练手的项目

最近收到许多自学自动化测试的小伙伴私信,学习了理论知识后,却没有合适的练手项目。 测试本身是一个技术岗位,如果只知道理论,没有实战经验,在面试中很难说服面试官,比如什么场景下需要添加显示等待&#x…

高速电路设计系列分享-电源噪声分析

文章目录 概要整体架构流程技术名词解释技术细节小结 概要 提示:这里可以添加技术概要 例如: 当今许多应用都要求高速采样模数转换器(ADC)具有12位或以上的分辨率,以便用户能够进行更精确的系统测量。然而,更高分辨率…

【数据分享】1929-2022年全球站点的逐日平均露点数据(Shp\Excel\12000个站点)

气象数据是在各项研究中都经常使用的数据,气象指标包括气温、风速、降水、能见度等指标,说到气象数据,最详细的气象数据是具体到气象监测站点的数据! 对于具体到监测站点的气象数据,之前我们分享过1929-2022年全球气象…

计算机如何删除用不到的打印机驱动程序,win7卸载不了打印机驱动怎么办

对于电脑上的打印机,有时我们不需要或者更新版本时候,需要卸载它,但是无法卸载打印机驱动怎么解决呢,今天学习啦小编就为大家带来了win7卸载不了打印机驱动的解决方法,希望能够帮到大家。 win7卸载不了打印机驱动的解决方法 开始-设备和打印机:随便选择一个打印机图标,选…

HP C6602A墨盒驱动

背景 现有一型号为HP C6602A的墨盒,需要研究其驱动方式,并使用合适的微控制器对其进行控制。 工作内容 一、 研究墨盒的驱动 墨盒的驱动原理和方法参考了现有开源项目InkShield的理论部分。由于HP C6602A是一款商业墨盒,HP公司并不提供技…

Flutter单线程异步及Isolate使用过程遇到的问题

Flutter单线程异步及Isolate使用过程遇到的问题 在Flutter中,所有的代码都运行在单线程中。这意味着如果我们的代码执行时间过长,就会导致UI线程卡顿,影响用户体验。因此,Flutter提供了一些异步机制来解决这个问题。 Dart的异步…

虚函数,抽象基类

编译器处理虚函数的方法: 给每个对象添加一个隐藏成员,隐藏成员保存了一个指向函数地址的数组指针,数组被称为虚函数表,虚函数表存储了为类对象声明的虚函数的地址,比如基类包含一个指针,该指针指向基类中…

TGBUS主页面 HTML的编写

主代码&#xff1a; <!DOCTYPE html> <html> <head><meta charset"utf-8"><title></title><link rel"stylesheet" type"text/css" href"yangshi.css"> </head> <body><div …