• 検索結果がありません。

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】.