runnable概念
runnable是编写应用程序行为逻辑的 SWC 的一部分。Runnable 类似于 C 中的函数,类似RTOS中的task,程序运行的实体,swc的灵魂。在 AUTOSAR 中,我们在配置期间在 SWC 中创建 Runnable,并且 在 SWC 的相应源文件中生成Runnable 或函数骨架。骨架函数的名称与我们在配置时为 Runnable 指定的名称相同。我们需要在这个函数/Runnable中编写代码,然后由AUTOSAR OS执行,该代码是SWC应该执行的应用程序。Runnable 也有变量,一些 Runnable 也有触发点,当满足特定条件时,这些触发点“调用”或触发我们的 Runnable。这样的条件可以在配置时定义,条件可以是:初始化时调用的Init Runnable、定期调用runnable可用于发送一些周期性数据、基于不同RTE事件的触发等。下面是runnable骨架的示例配置后生成,此可运行是名为Runnable1 的指标 SWC 。这种可运行的框架是在 SWC.c 文件中生成的。
上图展示了 Runnables 如何被封装在SWC中,以及进一步的 SWC 如何被Composition封装。通过查看此图,我们可以了解 AUTOSAR 对标准化事物进行抽象和分组的效果如何。我们知道,对于 ECU 中的每个功能,SWC 都可以是专用的,但其行为或功能的实现是使用 Runnable 完成的。运行程序通常分为三种类型: