2. 概念
2.7 エクスキュータブルバックグラウンド起動
表 2-9バックグラウンド起動の実現方式
バックグラウンド 起動の実現方式
説明
周期不定 最低優先度の走り続けるタスクによって,エクスキュータブルを起動し続け る.そのため,スケジューリングポリシがノンプリエンプティブスケジュー リングのタスクで起動する場合には注意が必要となる.
コア内の最低優先度のタスクにマッピングするため,複数パーティションに マッピングする場合は利用できない.
周期固定 OSアラームからの満了通知によって,エクスキュータブルを周期的に起動 する.
周期不定の複数パーティション制限を回避する場合や,CPU資源を効率的に 利用したい場合に利用できる.
表 2-10バックグラウンド起動とランナブル起動の実現方式の対応表
バックグラウンド 起動の実現方式
ランナブル起動の実現方式
OSタスク起動 OSイベント設定 直接関数起動
周期不定 ○ × ×
周期固定 ○ ○ ×
表 2-11バックグラウンド起動とBSWスケジューラブル起動の実現方式の対応表
バックグラウンド 起動の実現方式
BSWスケジューラブル起動の実現方式
OSタスク起動 OSイベント設定 直接関数起動
周期不定 ○ × ×
周期固定 ○ ○ ×
2.7.3.1 実現方式の構成要素
エクスキュータブルバックグラウンド起動の実現方式は,以下の要素から構成される.
使用OSアラーム
バックグラウンド起動エクスキュータブルの起動契機となるOSアラーム.
OSアラームのセットは,ECUインテグレーション時に実施されることを期待する
〔nrte_sws_ext_0031〕.
2.7.3.2 周期不定起動
本RTE/SCHMは,バックグラウンドイベントを起動契機とするエクスキュータブルを周期不定で起
動する場合,エクスキュータブルの起動/再起動をタスクボディ内の無限ループにより実現する
【nrte_sws_0359】.
RTE/SCHMは,OSタスクの起動により,バックグラウンド起動エクスキュータブルを起動する.
OSタスクにマッピングされたバックグラウンド起動エクスキュータブルは,直前のエクスキュータブ ルの終了に伴い順次起動される.全ての実行が終了すると,再び全てのエクスキュータブルを順次起動 する.
図 2-13 周期不定起動によるバックグラウンド起動エクスキュータブル起動
2.7.3.3 周期固定起動
本RTE/SCHMは,バックグラウンドイベントを起動契機とするエクスキュータブルを周期固定で起
動する場合,エクスキュータブルの起動/再起動をOSアラームの満了通知により実現する
【nrte_sws_0360】.
RTE/SCHMは,使用OSアラームからの間接的な満了通知を受け取り,バックグラウンド起動エク
スキュータブルを起動する.間接的な満了通知とは,使用OSアラームからのOSタスク起動,もしく はOSイベント設定である.
バックグラウンド起動 エクスキュータブル2
OS タスク バックグラウンド起動 エクスキュータブル1
図 2-14 周期固定起動によるバックグラウンド起動エクスキュータブル起動
使用上の注意
RTE/SCHMは,OSアラームの満了通知に従った動作を行うのみであり,バックグラウンド起動の
タイミングについては,OSのコンフィギュレーションを行うユーザの責任とする.
2.7.4 エクスキュータブルバックグラウンド起動の設定
2.7.4.1 バックグラウンド起動エクスキュータブル
バックグラウンド起動ランナブルは,バックグラウンドイベント(BackgroundEvent)により起動さ れるランナブル(RunnableEntity)として指定する【nrte_sws_0361】.
バックグラウンド起動BSWスケジューラブルは,バックグラウンドイベント
(BswBackgroundEvent)により起動されるBSWスケジューラブル(BswSchedulableEntity)として指定 する【nrte_sws_0362】.
2.7.4.2 使用OSアラーム
ランナブルの使用OSアラームは,バックグラウンドイベント(BackgroundEvent)を参照するRTE イベント-OSタスクマッピング(RteEventToTaskMapping)の使用OSアラーム(RteUsedOsAlarmRef) により指定する【rte_sws_7179】.
バックグラウンド起動 エクスキュータブル2
OS アラーム OS タスク バックグラウンド起動 エクスキュータブル1
周期
表 2-12バックグラウンド起動ランナブルの設定
バックグラウンド 起動の実現方式
選択条件
周期不定 使用OSアラーム(RteUsedOsAlarmRef)が指定されない場合,バックグラウ ンド起動エクスキュータブルは,周期不定起動により動作する
【nrte_sws_0363】.
周期固定 使用OSアラーム(RteUsedOsAlarmRef)が指定された場合,バックグラウン ド起動エクスキュータブルは,周期固定起動により動作する
【nrte_sws_0364】.
BSWスケジューラブルの使用OSアラームは,バックグラウンドイベント(BswBackgroundEvent) を参照するBSWイベント-OSタスクマッピング(RteBswEventToTaskMapping)の使用OSアラーム (RteBswUsedOsAlarmRef)により指定する【rte_sws_a_0067】.
表 2-13バックグラウンド起動BSWスケジューラブルの設定
バックグラウンド 起動の実現方式
選択条件
周期不定 使用OSアラーム(RteBswUsedOsAlarmRef)が指定されない場合,バックグ ラウンド起動エクスキュータブルは,周期不定起動により動作する
【nrte_sws_0365】.
周期固定 使用OSアラーム(RteBswUsedOsAlarmRef)が指定された場合,バックグラ ウンド起動エクスキュータブルは,周期固定起動により動作する
【nrte_sws_0366】.