2. 概念
2.5 エクスキュータブル動作管理
2.5.5 エクスキュータブル動作の設定
直接関数呼出しの挙動
SCHMは,特定の条件を満たしている場合,SCHM API内から,直接関数呼び出しによりBSWス ケジューラブルを開始する(エントリポイント関数を呼び出す).直接関数呼び出し条件の1つである呼 び出し側と呼び出される側のBSWモジュールエントリ(BswModuleEntry)のBSW実行コンテキスト (BswExecutionContext)条件を以下に示す【rte_sws_a_0064】.
表 2-6直接関数呼び出しのBSW実行コンテキスト条件 呼び出す側の
BSW実行コンテキスト (BswExecutionContext)
呼び出される側のBSW実行コンテキスト(BswExecutionContext)
○:直接関数呼び出し可能
×:直接関数呼び出し不可
task interruptCat2 interruptCat1 hook unspecified
task ○ ○ ○ × ○
interruptCat2 × ○ ○ × ○
interruptCat1 × × ○ × ○
hook × × × × ×
unspecified ○ × × × ○
BSWスケジューラブルのライフサイクル管理
本SCHMの機能仕様範囲では,EcuStateManager およびOSのライフサイクル管理により,
SCHMが行うべきBSWスケジューラブルのライフサイクル管理が実現可能である.このため,本 SCHMでは,BSWスケジューラブルのライフサイクル管理を行わない【nrte_sws_0206】.
表 2-7ランナブル起動の実現方式の設定
実現方式 選択条件
OSタスク起動 RTEイベント-OSタスクマッピング(RteEventToTaskMapping)が以下 の全ての条件を満たす【nrte_sws_0013】.
・ マッピング先OSタスク(RteMappedToTaskRef)が存在する.
・ 使用OSイベント(RteUsedOsEventRef)が存在しない.
OSイベント設定 RTEイベント-OSタスクマッピング(RteEventToTaskMapping)が以下 の全ての条件を満たす【nrte_sws_0014】.
・ マッピング先OSタスク(RteMappedToTaskRef)が存在する.
・ 使用OSイベント(RteUsedOsEventRef)が存在する.
直接関数起動 RTEイベント-OSタスクマッピング(RteEventToTaskMapping)が以下 の条件を満たす【nrte_sws_0015】.
・ マッピング先OSタスク(RteMappedToTaskRef)が存在しない.
マッピング先OSタスクの設定
マッピング先OSタスクは,RTEイベント-OSタスクマッピング(RteEventToTaskMapping)のマッ ピング先OSタスク(RteMappedToTaskRef)により指定する【nrte_sws_0016】.
A-RTEGENは,データ送信を契機とするランナブルを起動するタスクが,以下のOSAPからアクセ
スできるように設定されていなければならない【nrte_sws_ext_0034】.
・ ECU間連携の場合
マスタコアのBSWM配置パーティションのOSAP
・ ECU内連携の場合
データ送信するランナブルが所属するパーティションのOSAP (※)アクセス権は,OsTaskAccessingApplicationに定義する.
使用OSイベントの設定
使用OSイベントは,RTEイベント-OSタスクマッピング(RteEventToTaskMapping)の使用OSイ ベント(RteUsedOsEventRef)により指定する【nrte_sws_0017】.
BSWスケジューラブル起動の実行順序
BSWスケジューラブル起動の実行順番は,BSWスケジューラブルを起動するBSWイベント毎に設 定する.
BSWスケジューラブル起動の実行順番は,BSWイベント-OSタスクマッピング
(RteBswEventToTaskMapping)のBSWスケジューラブル実行順番(RteBswPositionInTask)により指 定する【rte_sws_a_0059】.
BSWスケジューラブル起動の実現方式の設定
BSWスケジューラブル起動の実現方式として,本RTEGENは,以下の選択条件を満たすものを使 用する【nrte_sws_0207】.
表 2-8 BSWスケジューラブル起動の実現方式の設定
実現方式 選択条件
OSタスク起動 BSWイベント-OSタスクマッピング(RteBswEventToTaskMapping)が 以下の全ての条件を満たす【nrte_sws_0208】.
・ マッピング先OSタスク(RteBswMappedToTaskRef)が存在する.
・ 使用OSイベント(RteBswUsedOsEventRef)が存在しない.
OSイベント設定 BSWイベント-OSタスクマッピング(RteBswEventToTaskMapping)が 以下の全ての条件を満たす【nrte_sws_0209】.
・ マッピング先OSタスク(RteBswMappedToTaskRef)が存在する.
・ 使用OSイベント(RteBswUsedOsEventRef)が存在する.
直接関数起動 BSWイベント-OSタスクマッピング(RteBswEventToTaskMapping)が 以下の条件を満たす【nrte_sws_0315】.
・ マッピング先OSタスク(RteBswMappedToTaskRef)が存在しない.
マッピング先OSタスクの設定
マッピング先OSタスクは,BSWイベント-OSタスクマッピング(RteBswEventToTaskMapping)の マッピング先OSタスク(RteBswMappedToTaskRef)により指定する【nrte_sws_0210】.
使用OSイベントの設定
使用OSイベントは,BSWイベント-OSタスクマッピング(RteBswEventToTaskMapping)の使用 OSイベント(RteBswUsedOsEventRef)により指定する【nrte_sws_0211】.
マッピング可能なOSオブジェクト
BSWスケジューラブルは,所属するパーティションのOSAP以外が管理するOSオブジェクトに割 り当てられてはならない【nrte_sws_ext_0022】.
2.5.5.3 ランナブルとBSWスケジューラブルの同一タスクへのマッピング
AUTOSAR仕様では,ランナブルとBSWスケジューラブルは同一タスクにマッピング可能としてい
る【rte_sws_7518】.
サポート範囲の制限
しかし,A-SCHMでは,ランナブルとBSWスケジューラブルの同一タスクマッピングはサポートし
ない【irte_sws_0007】.