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

2. 概念

2.6 エクスキュータブル周期起動

2.6.3 エクスキュータブル周期起動の実現方式

2.6.3.1 実現方式の構成要素

エクスキュータブル周期起動の実現方式は,以下の要素から構成される.

使用OSアラーム

周期起動エクスキュータブルの起動契機となるOSアラーム.

OSアラームのセットは,ECUインテグレーション時に実施されることを期待する

【nrte_sws_ext_0031】.

使用OSアラーム起動オフセット 使用OSアラームの起動オフセット.

使用OSアラーム起動周期 使用OSアラームの起動周期.

2.6.3.2 起動オフセット,および周期の満了

RTE/SCHMは,起動オフセット,および周期の満了をOSアラームにより実現する.

RTE/SCHMは,使用OSアラームからの間接的な満了通知を受け取り,周期起動エクスキュータブ

ルの起動に変換する【rte_sws_a_0016】.間接的な満了通知とは,使用OSアラームからのOSタスク 起動,もしくはOSイベント設定である.

周期起動エクスキュータブル2

OSタスク 周期起動エクスキュータブル1

エクスキュータブル-OSアラーム間のタイミング調整

エクスキュータブル起動オフセット/起動周期と使用OSアラーム起動オフセット/起動周期が異な る場合,RTE/SCHMは,エクスキュータブル起動オフセット/起動周期を満たすように調整を行う

【rte_sws_a_0017】.以下に,調整の例を図示する.

周期起動エクスキュータブル2

使用OSアラーム

起動オフセット(3ms) 起動周期(1ms) 起動オフセット(5ms) 起動周期(4ms)

RTE/SCHMがエクス キュータブルの起動オフ セット/起動周期になる よう調整する.

周期起動エクスキュータブル1

起動オフセット(3ms) 起動周期(5ms)

図 2-10 エクスキュータブル-OSアラーム間のタイミング調整

使用上の注意

RTE/SCHMは,周期起動エクスキュータブル間で,動作タイミングを同期する機能を提供しない.

RTE/SCHMは,コンフィギュレーションに従った動作を行うのみであり,OSアラームの同期に対す

る責任は持たない.周期起動のタイミングの同期については,RTE/SCHM,およびOSのコンフィギ ュレーションを行うユーザの責任とする.

ユーザは,以下の方法で周期起動のタイミングの同期を実現できる.

・ 全ての周期起動の実現に,同じOSアラームを使用する.

・ 周期起動の実現に,同じOSカウンタに基づいた異なるOSアラームを使用し,ECUインテグレ ーションコード中でOSアラームの開始時間の絶対オフセットの同期をとる.

・ 周期起動の実現に,同じ設定の異なるOSカウンタ(OSカウンタのインクリメント周期,および 最大値が等しい)に基づいた異なるOSアラームを使用する.そして,ECUインテグレーション コード中でOSアラームの開始時間の絶対オフセットの同期をとる.

2.6.4 エクスキュータブル周期起動の設定

2.6.4.1 周期起動エクスキュータブル

周期起動ランナブルは,周期イベント(TimingEvent)により起動されるランナブル(RunnableEntity) として指定する【nrte_sws_0170】.

周期起動BSWスケジューラブルは,周期イベント(BswTimingEvent)により起動されるBSWスケジ

ューラブル(BswSchedulableEntity)として指定する【nrte_sws_0212】.

2.6.4.2 エクスキュータブル起動オフセット,および起動周期

ランナブル起動オフセット,および起動周期の設定

ランナブル起動オフセットは,周期イベント(TimingEvent)を参照するRTEイベント-OSタスクマ ッピング(RteEventToTaskMapping)の起動オフセット(RteActivationOffset)により指定する

【rte_sws_7000】.

ランナブル起動周期は,周期イベント(TimingEvent)の起動周期(period)により指定する

【rte_sws_a_0019】.

BSWスケジューラブル起動オフセット,および起動周期の設定

BSWスケジューラブル起動オフセットは,周期イベント(BswTimingEvent)を参照するBSWイベン ト-OSタスクマッピング(RteBswEventToTaskMapping)の起動オフセット(RteBswActivationOffset) により指定する【rte_sws_7520】.

BSWスケジューラブル起動周期は,周期イベント(BswTimingEvent)の起動周期(period)により指定 する【rte_sws_a_0060】.

2.6.4.3 使用OSアラーム

ランナブルの使用OSアラームは,周期イベント(TimingEvent)を参照するRTEイベント-OSタスク マッピング(RteEventToTaskMapping)の使用OSアラーム(RteUsedOsAlarmRef)により指定する

【rte_sws_7804】【rte_sws_7806】.

BSWスケジューラブルの使用OSアラームは,周期イベント(BswTimingEvent)を参照するBSWイ ベント-OSタスクマッピング(RteBswEventToTaskMapping)の使用OSアラーム

(RteBswUsedOsAlarmRef)により指定する【nrte_sws_0213】.

使用OSアラーム起動オフセットは,使用OSアラームを参照するOSアクティベーション設定 (RteUsedOsActivation)の起動オフセット期待値(RteExpectedActivationOffset)により指定する

【rte_sws_7805】.

しないよう,SW-C/BSWMを開発するユーザがエクスキュータブルの処理内容を設計/実装するか,

RTE/SCHMのコンフィギュレーションを行うユーザがエクスキュータブル周期起動の設定を行う必要

がある.

周期起動エクスキュータブル2

使用OSアラーム

起動周期(1ms) 起動周期(4ms)

エクスキュータブルの実行時 間が使用OSアラーム起動周 期を超えてしまうと,スケ ジューリングが崩れてしまう.

周期起動エクスキュータブル1

起動周期(5ms)

図 2-11 使用OSアラーム起動周期を周期起動エクスキュータブルの実行時間が超える場合