Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

金宝appモデルのカスタム C/C++ コードのカバレッジ

サポートされている C/C++ S-Function、外部 C/C++ コードを呼び出すMATLAB Functionブロック、C/C++ コードをもつC Callerブロック、またはシミュレーション用のカスタム C/C++ コードを実装する Stateflow®チャートを含むモデルのカバレッジを記録する場合、C/C++ S-Function、MATLAB Functionブロック、または Stateflow チャート内の C/C++ コードのカバレッジが記録されます。カスタム コードのカバレッジ結果は、モデルの他の部分と同じレポート上で参照できます。レポート内の各S-Functionブロック、各MATLAB Functionブロック、または各 Stateflow チャートは、ブロック内の C/C++ コードの詳細なカバレッジ レポートにリンクされます。

MATLAB Functionブロック、C Callerブロック、およびStateflowチャート内のカスタム C/C++ コードのコード カバレッジの有効化

金宝app®モデル内のカスタム C/C++ コードのコード カバレッジを有効にするには、次を行います。

  1. [コンフィギュレーション パラメーター] の[シミュレーション ターゲット]ペインで、[カスタム コードのインポート]を選択します。

  2. [コンフィギュレーション パラメーター] の[シミュレーション ターゲット]ペインで、[カスタム コード解析を有効にする]を選択します。

Simulink Coverage™は、MATLAB Functionブロック、C Callerブロック、および Stateflow チャート内のカスタム C/C++ コードのコード カバレッジを記録します。

S-Function のコード カバレッジ

S-Function をモデル カバレッジ互換にする

関数legacy_codeS-Function Builderブロックまたは関数mexを使用して S-Function を作成する場合、適切な方法で S-Function をモデル カバレッジに互換させます。

これらの 3 つの方法の詳細については、C/C++ S-Function の実装を参照してください。

関数legacy_codeを使用するS -Function

  1. レガシ コード ツールのプロパティを表すフィールドで、MATLAB®構造体を初期化します。

    def= legacy_code('initialize')

  2. オプションdef.Options.supportCoverageをオンにしてモデル カバレッジを有効にします。

    def.Options.supportCoverageAndDesignVerifier = true;
  3. 構造体defを使用し、通常の方法で S-Function を生成します。例については、S-Function のカバレッジを参照してください。

S-Function Builder を使用する S-Function

  1. ライブラリ ブラウザー内のUser-Defined FunctionsライブラリからS-Function Builderブロックのインスタンスをモデルにコピーします。

  2. ブロックをダブルクリックして [S-Function Builder] ダイアログ ボックスを開きます。

  3. [ビルド情報]タブで[カバレッジのサポートを有効にする]を選択します。

関数mexを使用するS -Function-関数mexを使用してソースファイルをコンパイルしてリンクする場合,代わりに関数slcovmexを使用します。関数slcovmexはソース コードをコンパイルし、カバレッジとも互換させます。

この関数は関数mexと同じ構文で、同じオプションを取ります。さらに、モデル カバレッジに関連するいくつかのオプションを指定できます。詳細については、slcovmexを参照してください。

S-Function のカバレッジ レポートの生成

  1. Simulink エディターの[モデル化]タブで[モデル設定]を選択します。

  2. [コンフィギュレーション パラメーター] ダイアログ ボックスの[カバレッジ]ペインで、[C/C++ S-Function]を選択します。

シミュレーションを実行すると、カバレッジ レポートにはモデル内の C/C++ S-Function ブロックのカバレッジ メトリクスが記載されます。レポート内の各S-Functionブロックは、ブロック内の C/C++ コードの詳細なカバレッジ レポートにリンクされます。

関連する例

詳細