Main Content

AUTOSAR Adaptive コード生成の構成

AUTOSAR Adaptive Platform 用に構成されたモデルから AUTOSAR 準拠 C++ コードと ARXML コンポーネント記述を生成するには、次のようにします。

  1. [コンフィギュレーション パラメーター] ダイアログ ボックスの [コード生成][AUTOSAR コード生成オプション] ペインで AUTOSAR コード生成パラメーターを設定します。

  2. AUTOSAR ディクショナリまたは AUTOSAR プロパティ関数を使用して AUTOSAR XML エクスポート オプションを設定します。

  3. オプションで、Adaptive モデルに対して生成された C++ クラス名と名前空間をカスタマイズします。

  4. オプションで、Adaptive アプリケーションの実行時ログの動作を変更します。

  5. モデルを作成します。

メモ

AUTOSAR Adaptive コード生成には Version 3.12 以降の CMake が必要です。

AUTOSAR Adaptive スキーマの選択

ARXML ファイルのインポートとエクスポートおよび AUTOSAR 準拠 C++ コードの生成の場合、AUTOSAR Blockset は次の AUTOSAR Adaptive Platform スキーマ バージョンをサポートします。

  • 00048 (R19-11)

  • 00047 (R19-03)

  • 00046 (R18-10)

モデルの AUTOSAR Adaptive システム ターゲット ファイルをはじめて選択したときに、スキーマ バージョン パラメーターは既定値の [00048 (R19-11)] に設定されます。

ARXML ファイルを Simulink® にインポートすると、ARXML インポーターはスキーマ バージョンを検出して使用します。これにより、モデルのスキーマ バージョン パラメーターが設定されます。たとえば、スキーマ 00048 (R19-11) に基づく ARXML ファイルをインポートすると、インポーターはモデル内の一致するスキーマ バージョンを設定します。

AUTOSAR Adaptive モデルをビルドすると、コード ジェネレーターは ARXML 記述をエクスポートし、現在の AUTOSAR スキーマ バージョン値に準拠する C++ コードを生成します。

AUTOSAR ソフトウェア コンポーネントをエクスポートする前に、選択したスキーマ バージョンを確認します。選択したスキーマ バージョンを変更する必要がある場合、モデル コンフィギュレーション パラメーター [スキーマ バージョンの XML ファイルの生成] (Embedded Coder) を使用します。

メモ

AUTOSAR モデル コンフィギュレーション パラメーターを最上位モデルおよび参照モデルと同じ値に設定します。このガイドラインは [スキーマ バージョンの XML ファイルの生成] (Embedded Coder)[SHORT-NAME の最大長] (Embedded Coder)[トランスポート層] (Embedded Coder)[IP アドレス] (Embedded Coder)[ポート] (Embedded Coder)[詳細] (Embedded Coder) および [カスタム XCP スレーブの使用] (Embedded Coder) に適用されます。

省略名の最大長の指定

AUTOSAR 規格では、SHORT-NAME XML 要素の最大の長さは 128 文字に指定されています。

コード ジェネレーターによってエクスポートされた SHORT-NAME 要素の最大の長さを指定するには、モデル コンフィギュレーション パラメーター [SHORT-NAME の最大長] (Embedded Coder) を 32 から 128 までの整数値に設定します。既定の設定は 128 文字です。

XCP スレーブ トランスポート層の指定

XCP は、キャリブレーション システムを電子コントロール ユニットに接続するために、ASAM から発生するネットワーク プロトコルです。これにより、変数およびマイクロ コントローラーのメモリの内容に対する実行時の読み取りおよび書き込みアクセスが有効になります。XCP は 2 階層のプロトコルであるため、プロトコルとトランスポート層を分離し、シングルマスター/マルチスレーブの概念に従います。トランスポート層の選択は、XCP プロトコル層に影響しません。

現在、次のトランスポート層は ASAM によって標準として定義されています。

  • XCP on CAN

  • XCP on Sxl

  • XCP on Ethernet (TCP/IP または UDP/IP)

  • XCP on USB

  • XCP on Flex Ray

AUTOSAR Adaptive アプリケーション (XCP スレーブ) が使用するトランスポート層を選択するには、モデル コンフィギュレーション パラメーター [トランスポート層] (Embedded Coder) を使用します。XCP トランスポート層を選択すると、その他の XCP パラメーターが有効になります。

詳細については、実行時キャリブレーションと測定用の AUTOSAR Adaptive データの設定を参照してください。

XCP スレーブの IP アドレスの指定

インターネット プロトコル (IP) は、ネットワーク境界全体にデータグラムをリレーするための主要な通信プロトコルです。インターネット プロトコルは、ホスト インターフェイスのアドレス指定、データのデータグラムへのカプセル化、1 つ以上の IP ネットワーク全体でのソース ホスト インターフェイスから宛先ホスト インターフェイスへのデータグラムのルーティングを行います。

各データグラムには、ヘッダーとペイロードの 2 つのコンポーネントがあります。IP ヘッダーには、ソース IP アドレス、宛先 IP アドレスおよびデータグラムのルーティングと送信に必要なその他のメタデータが含まれます。ペイロードは、伝達されたデータです。

AUTOSAR Adaptive アプリケーション (XCP スレーブ) が実行されているマシンの IP アドレスを指定するには、モデル コンフィギュレーション パラメーター [IP アドレス] (Embedded Coder) を使用します。[トランスポート層] (Embedded Coder) の値を選択すると、[IP アドレス] パラメーターが有効になります。

詳細については、実行時キャリブレーションと測定用の AUTOSAR Adaptive データの設定を参照してください。

XCP スレーブのポートの指定

ポート番号は、ネットワークまたはインターネットを使用して通信を行う各アプリケーションまたはプロセスの論理アドレスです。ポート番号は主に、ネットワークとアプリケーション間のデータを送信するのに役立ちます。ポート番号はネットワーキング プロトコルと連携して、これを実現します。

ポート番号は、コンピューター上のネットワークベースのアプリケーションを一意に特定します。各アプリケーションには 16 ビット整数のポート番号が割り当てられます。この番号はオペレーティング システムによって割り当てられるか、ユーザーによって手動で設定されるか、既定値として設定されます。

AUTOSAR Adaptive アプリケーション (XCP スレーブ) が XCP マスター コマンドを実行するネットワーク ポートを指定するには、モデル コンフィギュレーション パラメーター [ポート] (Embedded Coder) を使用します。[トランスポート層] (Embedded Coder) の値を選択すると、[ポート] パラメーターが有効になります。

詳細については、実行時キャリブレーションと測定用の AUTOSAR Adaptive データの設定を参照してください。

XCP スレーブの詳細メッセージの有効化

詳細とは、ソフトウェア メッセージに含まれる技術上の詳細度のレベルです。詳細メッセージは、XCP 通信のデバッグと理解に役立ちます。

AUTOSAR Adaptive アプリケーション (XCP スレーブ) の詳細メッセージを有効にするには、モデル コンフィギュレーション パラメーター [詳細] (Embedded Coder) を選択します。[トランスポート層] (Embedded Coder) の値を選択すると、[詳細] パラメーターが有効になります。

詳細については、実行時キャリブレーションと測定用の AUTOSAR Adaptive データの設定を参照してください。

カスタム XCP スレーブの使用

既定では、MathWorks® XCP スレーブが通信に使用されます。イーサネット (TCP/IP) トランスポート層にはカスタム XCP スレーブを使用できます。インターフェイスの確立には、カスタム XCP スレーブの実装が必要です。フォルダー matlabroot/toolbox/coder/autosar/adaptive のヘッダー ファイル xcp_slave.h で実装を定義します。

カスタム XCP スレーブの使用を有効にするには、モデル コンフィギュレーション パラメーター [カスタム XCP スレーブの使用] (Embedded Coder) を選択します。[トランスポート層] (Embedded Coder) の値を選択すると、[カスタム XCP スレーブの使用] パラメーターが有効になります。

詳細については、実行時キャリブレーションと測定用の AUTOSAR Adaptive データの設定を参照してください。

AUTOSAR Adaptive XML オプションの検証

AUTOSAR ディクショナリを使用して設定した XML オプションを確認します。まだオプションを設定していない場合は、AUTOSAR Adaptive XML オプションの設定を参照してください。

生成コード内のクラス名と名前空間のカスタマイズ

生成コードをカスタマイズする場合、AUTOSAR アプリケーションの生成された C++ クラス名と名前空間を対話的に、またはプログラムで制御できます。

生成コードのこうした特性を対話的に構成するには、開いているモデルの [AUTOSAR] タブで [コード インターフェイス] をクリックし、[クラス名と名前空間] を選択し、開かれたコンフィギュレーション ダイアログ ボックスで名前をカスタマイズします。

プログラムで名前と名前空間を設定するには、AUTOSAR 関数 getClassNamesetClassNamegetClassNamespacesetClassNamespace を使用します。

実行時ログの動作の設定

オプションで、AUTOSAR Adaptive アプリケーションの ara::log に基づく実行時ログの動作を変更します。

AUTOSAR Specification of Diagnostic Log and Trace で定義されているように、Adaptive アプリケーションはイベント ログ情報をコンソール、ファイル、またはネットワークに転送できます。これにより、複数のアプリケーションからログ データを照合、解析できるようになります。既定では、ローカル コンソールへのイベント メッセージのログが記録されます。

Adaptive モデルの実行時ログの既定動作を変更するには、set などの AUTOSAR プロパティ関数を使用します。コード生成では、指定されたログ プロパティを ARXML 実行マニフェスト ファイルにエクスポートします。Adaptive モデルから Linux® 実行可能ファイルをビルドする場合、実行可能ファイルに対する既定のログ動作を変更する JSON 実行マニフェスト ファイルを生成できます。詳細については、AUTOSAR Adaptive 実行可能ファイルの実行時ログの設定を参照してください。

AUTOSAR Adaptive C++ と XML ファイルの生成

AUTOSAR コード生成オプションと XML オプションを設定したら、コードを生成します。C++ コードを生成して XML 記述をエクスポートするには、Adaptive コンポーネント モデルをビルドします。

ビルド プロセスにより、AUTOSAR 準拠 C++ コードと AUTOSAR XML 記述がモデル ビルド フォルダーに生成されます。エクスポートされた XML ファイルには次のものが含まれます。

  • [エクスポートされた XML ファイルのパッケージ化][単一のファイル] または [モジュラー] のどちらに設定するかに基づく、1 つ以上の modelname*.arxml ファイル。

  • AUTOSAR 実行可能ファイルとサービス インスタンスのマニフェスト。

  • ARXML ファイルを Simulink にインポートした場合は、これらのファイルの更新されたバージョン。

AUTOSAR ディクショナリで設定された [エクスポートされた XML ファイルのパッケージ化] オプションの値に基づいて生成される modelname*.arxml ファイルを次の表に示します。

[エクスポートされた XML ファイルのパッケージ化] の値エクスポートされるファイル名既定のコンテンツ
単一のファイルmodelname.arxmlAdaptive ソフトウェア コンポーネント、データ型、インターフェイスの AUTOSAR 要素。
modelname_ExecutionManifest.arxml実行可能ファイル、プロセスからマシンへのマッピング セット、プロセスを含む Adaptive アプリケーションの展開関連の情報。
modelname_ServiceInstanceManifest.arxmlサービス インターフェイスの展開、サービス インスタンス、サービス インスタンスからポートへのマッピングを含むサービス指向の通信の構成。
モジュラーmodelname_component.arxml

要求側のポートと提供側のポートを含む Adaptive ソフトウェア コンポーネント。

これは Simulink モデルに対してエクスポートされるメイン ARXML ファイルです。ソフトウェア コンポーネントに加え、コンポーネント ファイルには、エクスポーターで AUTOSAR 要素カテゴリに基づいてデータ型またはインターフェイス ファイルに移動されないパッケージ化可能な要素が含まれています。

modelname_datatype.arxml

以下を含むデータ型と関連付けられている要素:

  • アプリケーション データ型

  • 標準 Cpp 実装データ型

  • 定数指定

  • 物理データの制約

  • 単位と単位グループ

  • ソフトウェア レコード レイアウト

modelname_interface.arxml名前空間とイベントをもつ要求側サービス インターフェイスと提供側サービス インターフェイスを含む Adaptive インターフェイス。
modelname_ExecutionManifest.arxml実行可能ファイル、プロセスからマシンへのマッピング セット、プロセスを含む Adaptive アプリケーションの展開関連の情報。
modelname_ServiceInstanceManifest.arxmlサービス インターフェイスの展開、サービス インスタンス、サービス インスタンスからポートへのマッピングを含むサービス指向の通信の構成。

AUTOSAR Adaptive XML コンポーネント記述は AUTOSAR オーサリング ツールにマージできます。AUTOSAR コンポーネント情報は、マージを容易にするために個別のファイルに分割されます。分割は必要なマージ数が最小になるように行われます。データ型ファイルはオーサリング ツールにマージする必要はありません。データ型は、設計プロセスの初期段階で定義されるからです。内部動作ファイルについては、その情報がモデル実装の一部となるので、マージしなければなりません。

AUTOSAR オーサリング ツール (AAT) と Simulink モデルベース デザイン環境の間において AUTOSAR 要素のラウンドトリップをサポートするために、コード ジェネレーターは ARXML インポートおよびエクスポートの全体において AUTOSAR 要素とその汎用一意識別子 (UUID) を保持します。詳細については、AUTOSAR XML ファイル構造と要素情報のラウンド トリップの保存を参照してください。

Simulink モデルから AUTOSAR 準拠 C++ コードを生成して AUTOSAR XML コンポーネント記述をエクスポートする方法の例については、AUTOSAR Adaptive C++ コードと XML 記述の生成を参照してください。

参考

| | | | | (Embedded Coder) | (Embedded Coder) | (Embedded Coder) | (Embedded Coder) | (Embedded Coder) | (Embedded Coder) | (Embedded Coder)

関連する例

詳細