ベクターのMICROSAR.RTE(ランタイム環境)は、スケーラブルで高度に最適化されたAUTOSARランタイム環境です。RteはAUTOSARに よって導入されたモジュールの1つで、ソフトウェアコンポーネント間の通信を管理します。情報フロー全体の整合性を確認し、アプリケーションソフ トウェアおよびベーシックソフトウェア、複合デバイスドライバー(Cdd)の間のインターフェイスを提供します。
図 37: AUTOSAR 4.3対応のMICROSAR.RTEモジュール 16.1 機能概要
> 設定が容易でスケーラブル
> AUTOSAR Release 4.xおよび3.xに対応
> 設定の整合性を徹底的にチェック
> インテリジェントな同期メカニズムでコードを最適化
> ソフトウェアコンポーネント用に生成されたコードテンプレートなどが用意されているので、AUTOSAR対応作業がすぐに開始可能
> 移行プロジェクトに最適
> S/Rポート、InterRunnable(ランナブル間で共通に使用できる)変数、PerInstance(インスタンスごとの)メモリーにXCPでアクセスできる
ため、アプリケーションのテストが簡素化
16.2 適用分野
あるECUの機能ソフトウェアをAUTOSAR対応ソフトウェアコンポーネントで実装するときには、ランタイム環境としてRteが必要です。ECUソ フトウェアはモジュール構成になっているため、高い柔軟性があります。つまり、人手を使って開発したソフトウェアコンポーネントや、モデルベース 開発ツールを使って設計したソフトウェアコンポーネントを、複数のECUプロジェクトで使い回すことができます。Rteは、その特定のECUに合わ せて(場合によってはベーシックソフトウェアモジュールにも合わせて)再設定、再生成すればよいだけです。また、ソフトウェアコンポーネントにつ いても、1つのECU上で複数のインスタンスに使用することが可能です。
MICROSAR.RTEを生成する際、ユーザーは2つのモードのどちらかを選ぶことができます。
> 初期段階の個々のソフトウェアコンポーネント開発に適した、コントラクトフェーズ生成。この場合、ジェネレーターからは、Rte全体ではなく、
個々のソフトウェアコンポーネント用のヘッダーファイルだけが生成されます。ソフトウェアコンポーネントは個別にコンパイルして、たとえば、
オブジェクトコードとして開発パートナーに転送するなどできます。
> ECUソフトウェア全体用のRte生成。このモードで生成されたコードは、非常に効率がよく、必要とするメモリースペースもわずかです。ECU
全体の設定に適しており、また、実行時間が短く、割込み禁止時間も最小限なのでシステムリソースもほとんど必要としません。この特性は、
使用するハードウェアのプロパティーに合ったインテリジェントな同期メカニズムなどによるものです。
16.3 モジュールおよびアドオン
> Rte – Runtime Environment
MICROSAR.RTEには、AUTOSAR 4.xと3.xに対応した、下記の機能が含まれています。
> 送信者/受信者間通信、クライアント/サーバー間通信
> モード管理
> ランナブル間で共通に使用される変数と排他エリア
> 送信者/受信者ポートを介した不揮発メモリーブロックソフトウェアコンポーネントへのアクセス
> ランナブルのトリガー
> ソフトウェアコンポーネントのオンライン/オフラインのキャリブレーションだけでなく、XCPプロトコルを使用した、S/Rポート、
InterRunnable変数、Per-Instanceメモリーの測定もサポートされています。
> ソフトウェアコンポーネントの複数インスタンス化、Per-Instance(インスタンスごとの)メモリーのサポート
> Schedule Manager/BSW Scheduler (SchM):AUTOSAR 4.0以来、SchMモジュールの機能はRteが提供しています。以前、これ
はMICROSAR.SYSに含まれていました。SchMモジュールについて詳しくは、「MICROSAR.SYS」の章を参照してください。
> COMXF、SOMEIPXF、E2EXFに対するトランスフォーマーインターフェイスのサポート。詳しくは、「MICROSAR.COM」の章を参照して
ください。
> オプションのSOMEIPXFを通じた外部クライアント/サーバー通信(ECU間)。
AUTOSAR仕様の拡張
このほか、MICROSAR.RTEはAUTOSAR 3.x対応の下記機能も備えています。
> 「SWC Description」に基づいた、ソフトウェアコンポーネント用コードテンプレートの生成。このテンプレートにはRteのAPIがすべて含
まれています。
> AUTOSARオペレーティングシステムに定められた、メモリー保護メカニズムの使用。この機能は、ベクターが提供するAUTOSARオペ
レーティングシステムのMICROSAR.OSを使用している場合に特に適しています。
> AUTOSARのコンセプトである「モード依存ランナブル」のための初期化ランナブルの設定
> Rteのプロパティーを表示するHTMLレポートの生成。レポートには、計算されたRteリソース負荷(RAM+コンスタント)などの情報が含
まれています。
> 既存のキャリブレーションおよび診断基準へ簡単にリンクできる、A2Lファイルの生成
アドオン
> メモリー保護のためのMPUのサポート
> マルチコアのサポート
> Post-build selectable:この機能はMICROSAR製品ファミリー内の「Identity Manager」で利用できます。詳しくは、「MICROSARバ
リアントハンドリング」のセクションをご覧ください。
> BRE - Basic Runtime Environment
Basic Runtime Environment (BRE) を使用することにより、AUTOSARに対応していないアプリケーションと、実績あるMICROSARベ ーシックソフトウェアとの統合が可能になります。BREを使用すれば、AUTOSARで定義されている正式なソフトウェアコンポーネントの設計 は要求されません。既存のアプリケーションアーキテクチャーの使用を可能にするという点で、BREの使用はECUプロジェクトをAUTOSAR アーキテクチャーに移行する最初の一歩となります。
アプリケーションはAUTOSARのソフトウェアコンポーネントを定義しなくても、BREを使用してベーシックソフトウェアの機能に直接アクセス できます。ソフトウェアコンポーネントとベーシックソフトウェアを仲介するミドルウェアのRteの代わりに、アプリケーションコードが使用されま す。
アプリケーションとMICROSARベーシックソフトウェアとの統合を手軽に行えるよう、BREは、通常はRteが実装する以下のような基本機 能を備えています。
> サービスレイヤーのベーシックソフトウェアモジュールのための型定義の生成
> 設定可能なタスクマッピングに基づく、ベーシックソフトウェアのmain関数の呼出し
> ベーシックソフトウェアモジュールの排他エリアの管理
ベーシックソフトウェアはAUTOSARに準拠したインターフェイスを使用します。そのためBREを使用する場合は、通常はRteがベーシック ソフトウェアに提供するインターフェイス機能を、アプリケーションが代わって提供する必要があります。
BREでは機能が足りないという場合は、MICROSAR.RTE を使用するのが適切です。熟練したMICROSARの指導者が、AUTOSAR 互 換アプリケーションとベーシックソフトウェアアーキテクチャーに移行するお客様の作業を支援します。
> SchM – BSW Scheduler
Schedule Manager(スケジュールマネージャー)/BSW Scheduler(ベーシックソフトウェアスケジューラー)は、ベーシックソフトウェアモ ジュールの実行を制御します。ユーザーの設定では、ベーシックソフトウェアモジュールのタスクと周期時間のみならず、各モジュール間の排 他エリアを一元的に定義できます。AUTOSAR 3.xでは、SchMはMICROSAR.SYSの一部です。AUTOSAR 4.xでは、MICROSAR.RTE がSchMの機能を提供しています。
16.4 設定
RTEは、DaVinci Configurator ProオプションRte、もしくはDaVinci Developerで設定することができます。詳しくは、ベクターまでお問い合 わせください。
16.5 製品に含まれるもの
標準の製品コンポーネントに加えて、サンプルプログラムとmakeファイルも同梱されています。
16.6 その他のMICROSAR関連製品
Rteには、MICROSAR.OSやosCANなどのオペレーティングシステムが必要です。