AUTOSAR勉強6 RTE,パーティション
# RTE
- SW-CからAUTOSARプラットフォームを使用するためのAPIを提供するコンポーネント
- VFBのインターフェースを実現したもの
RTEの機能は主に2つ
RTE,SW-Cと他SW-Cとの通信処理や排他制御を行う
- RTEより下位層は、SW-Cからは隠蔽(抽象化)される→どのECUで実行されるかも見えない
- SW-Cは、ECUに依存せず開発できるので再利用性が向上する
RTE
- コンフィグレーションの情報に従って母きを実施する
RTEの状態遷移
RTEの状態
- 起動前状態、動作状態、停止状態が存在する
RTE起動
- 起動前状態から動作状態に遷移する
- Rte_Start(void)
- RTEで使用するシステムと通信リソースの割り当て、及び初期化を行う
- ECU上のSW-Cが動作する各コア上で呼び出して、SW-Cから直接呼び出してはいけない
- RTE_Main.hで定義され、関数、もしくはマクロで実装される
RTE停止
- 動作状態から停止状態に遷移する
- Rte_Stop(void)
- 呼び出されたコア上のRTEを終了する
- Rte_Main.hで定義され、関数もしくはマクロで実装される
パーティション
- ECUを機能単位に分割する論理的な保護境界
ランナブルの周期実行
- まず周期を設定したタイミングイベントを定義
- ランナブルの起動周期に、タイミングイベントを設定する
- ベットランナブルに対して、起動オフセットを設定できる
- 実際の起動周期の実現はOSタスク、OSアラーム機能を使用する
- ECUのインテグレータが設定する
周期起動の実現方法
- ECUインテグレータは、以下を決定する
- 周期起動が必要なランナブルを起動するOSタスク
- OSタスクを起動するOSオブジェクト
- OSアラーム
- 1つの周期で1つのタスクのみ起動可能
- OSスケジュールテーブル
- 複数のOSタスクを同時に起動可能
- 自由なタイムテーブルを定義し、指定した各タイミングでOSタスクを起動可能
- OSアラーム
- RTEジェネレータに決定した情報を入力して、ランナブルを起動するOSタスクのコードを生成する