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 完成的。運行程序通常分為三種類型: