Simulink モデルから生成されたコードの置換
この例では、コード置換ライブラリを使用して生成コードを置換する方法を示します。コード置換とは、アプリケーション コードの要件を満たすためにコード ジェネレーターが生成するコードの関数と演算子を変更するために使用できる手法です。たとえば、生成コードを置き換えて次のような要件を満たすことができます。
特定のターゲット ハードウェアを含むがこれに限定されない、特定の実行時環境向けの最適化
既存のアプリケーション コードとの統合
AUTOSAR などの規格への準拠
非有限数またはインラインのサポートを有効または無効にするなどのコードの動作の変更
math.h
、システム ヘッダー ファイル、memcpy
やmemset
の呼び出しの消去または BLAS の使用などの、アプリケーションまたはプロジェクト固有のコード要件
コード置換の準備
1. MATLAB®、Simulink®、Simulink Coder™ および C コンパイラがシステムにインストールされていることを確認してください。開発環境で利用できるコード置換ライブラリの一部には、Embedded Coder® も必要になる場合があります。
MathWorks® 製品をインストールするには、MATLAB のインストール ドキュメンテーションを参照してください。MATLAB がインストールされており、他にインストールされている MathWorks 製品を確認する場合は、コマンド ウィンドウで ver
と入力します。
2. コード ジェネレーターにコードを置換させる、既存の Simulink モデルを特定するか、新しいモデルを作成します。
コード置換ライブラリの選択
既定では、コード ジェネレーターはコード置換ライブラリを適用しません。MathWorks® が提供するライブラリおよび Embedded Coder® 製品を使用して作成および登録するライブラリから選択できます。使用可能なライブラリのリストは以下に応じて変わります。
インストールされているサポート パッケージ。
システム ターゲット ファイル、言語、標準数学ライブラリおよびデバイス ベンダー構成。
Embedded Coder® 製品を使用してライブラリを作成および登録したかどうか。
GNU99 拡張を含むライブラリは、GCC コンパイラと共に使用するためのものです。これらのライブラリのいずれかを別のコンパイラと共に使用すると、生成コードがコンパイルされない場合があります。
所有している製品ライセンスによって、他のライブラリが使用可能になることがあります。Embedded Coder ライセンスをお持ちの場合は、その他のライブラリを表示し選択することでカスタム コード置換ライブラリを作成できます。
コード置換ライブラリを使用するようにコード ジェネレーターを構成
1. コード ジェネレーターを構成して、モデルのコード生成中にコード置換ライブラリを適用します。次のいずれかを行います。
[コンフィギュレーション パラメーター] ダイアログ ボックスの [コード生成]、[インターフェイス] ペインで、コード置換ライブラリパラメーターのライブラリを選択します。
コマンド ラインでまたはプログラムで
CodeReplacementLibrary
パラメーターを設定します。
2. コード ジェネレーターを構成して (実行可能プログラムをビルドせずに) コードのみを生成するため、実行可能プログラムをビルドする前にコード置換を検証できます。次のいずれかを行います。
[コンフィギュレーション パラメーター] ダイアログ ボックスの [コード生成] ペインでGenerate code onlyを選択します。
コマンド ラインでまたはプログラムで
GenCodeOnly
パラメーターを設定します。
コード生成レポートにコード置換情報を含める
Embedded Coder ライセンスをお持ちの場合は、コード ジェネレーターを構成して、コード生成レポートにコード置換セクションを含めることができます。詳細情報によりコード置換を検証しやすくなります。
1. レポートを生成するようにコード ジェネレーターを構成します。[コンフィギュレーション パラメーター] ダイアログ ボックスの [コード生成]、[レポート] ペインで、Create code generation reportを選択します。レポートを自動で開くようにすることを検討します。[レポートを自動的に開く] を選択します。
2. レポートにコード置換セクションを含めます。Summarize which blocks triggered code replacements (Embedded Coder)を選択します。
置換コードの生成
モデルから C/C++ コードを生成して、それに応じてコード ジェネレーターを構成する場合は、コード生成レポートを生成します。たとえば、モデル ウィンドウで Ctrl+B を押します。
コード ジェネレーターはコードを生成してレポートを表示します。
コード置換の検証
生成されたコードを調べることでコード置換を検証します。コード置換が想定と異なるように動作することがあり得ます。たとえば、コード ジェネレーター入力にみられるデータ型は、コード ジェネレーターが動作中に中間データ型として使用するものと一致しない場合があります。