エクスポートされた関数を使用した AUTOSAR ランナブルのモデル化
エクスポートされた Simulink® 関数を使用して AUTOSAR ランナブルをモデル化します。
関数のエクスポート用に設定された複数の周期的なランナブル
モデル例 autosar_swc_expfcns.slx
を開きます。
open_system('autosar_swc_expfcns')
モデルは、エクスポート関数モデリングを使用した AUTOSAR アトミック ソフトウェア コンポーネント (ASWC) の実装を示します。エクスポート関数モデルは独立した関数のコードを生成する Simulink モデルです。独立した関数のコードを外部環境およびスケジューラと統合できます。関数は通常、Function-Call Subsystem ブロックと Simulink Function ブロックを使用して定義されます。
このモデルは周期レートをもつ Function-Call Subsystem ブロックを使用して AUTOSAR の 3 つの周期的なランナブルを実装します。ランナブルのサンプルレートはそれぞれ 1 秒、1 秒、10 秒です。注釈と凡例付きの色分けされたサンプルレートを表示するには、[デバッグ] タブで、[診断]、[情報のオーバーレイ]、[色] を選択します。
Simulink の信号線はランナブルを接続する AUTOSAR インターランナブル変数 (IRV) をモデル化します。
AUTOSAR コンポーネント コードと XML 記述 (Embedded Coder) の生成
Simulink Coder および Embedded Coder ソフトウェアをお持ちの場合、アルゴリズム C コードと AUTOSAR XML (ARXML) コンポーネント記述を生成することができます。生成されたコードを Simulink でテストするか、コードと記述を AUTOSAR ランタイム環境に統合できます。
たとえば、autosar_swc_expfcns
コンポーネント モデルをビルドするには、モデルを開きます。Ctrl+B キーを押すか、MATLAB コマンド slbuild('autosar_swc_expfcns')
を入力します。ビルドが完了すると、コード生成レポートが開きます。
コード生成レポートで、[コード インターフェイス レポート] セクションを選択し、[エントリポイント関数] テーブルを調べます。
生成コードで、各ルートレベルの関数呼び出し Inport ブロックは void-void 関数を生成します。生成されたファイル autosar_swc_expfcns.c
から、Runnable1
の生成されたコードは次のようになります。