メインコンテンツ

TargetLink で生成されたコードに対する既定の Polyspace オプション

TargetLink のサポート

Polyspace® の Windows® バージョンは、dSPACE® データ ディクショナリおよび TargetLink® コード ジェネレーターと互換性があります。

Polyspace は CTO 生成コードをサポートします。ただし、より適切な結果を得るため、MathWorks® では、コード生成前に TargetLink で CTO オプションを無効にすることを推奨しています。詳細は、dSPACE ドキュメンテーションを参照してください。

Polyspace により dSPACE データ ディクショナリから情報が抽出されるため、解析の実行前にコードを再生成しなければなりません。

既定のオプション

Polyspace により、以下のオプションが既定で設定されます。

-sources path_to_source_code
-results-dir results_folder_name
-I path_to_source_code
-D PST_ERRNO
-I dspaceroot\matlab\TL\SimFiles\Generic 
-I dspaceroot\matlab\TL\srcfiles\Generic 
-I matlabroot\polyspace\include 
-I matlabroot\extern\include
-I matlabroot\rtw\c\libsrc 
-I matlabroot\simulink\include 
-functions-to-stub=[rtIsNaN,rtIsInf,rtIsNaNF,rtIsInfF]
-scalar-overflows-behavior wrap-around
-boolean-types Bool

メモ

dspaceroot および matlabroot は、それぞれ dSPACE および MATLAB® ツールのインストール ディレクトリです。

ルックアップ テーブル

既定では、Polyspace ではルックアップ テーブル関数にスタブが提供されます。サポートされているルックアップ テーブルのタイプには、TL_Lookup1DTL_Lookup2DTL_IndexSearch、および TL_Interpolation があります。dSPACE データ ディクショナリは、ルックアップ テーブル関数の戻り値の範囲を定義するために使用されます。外挿を使用して、指定された入力値を超える出力値を計算するルックアップ テーブル関数の場合、戻り値の範囲は、返される変数の型の全範囲です。この動作は、Polyspace の構成メニューから無効にできます。

データ範囲指定

入力、パラメーターおよび出力を指定されたデータ範囲内に制約できます。ブロックの信号範囲の操作 (Simulink)を参照してください。

ソフトウェアは各グローバル変数の dSPACE データ ディクショナリを使用して、Polyspace 制約ファイルを自動的に作成します。制約の情報は、データ ディクショナリの min..max の情報で定義される有効な値の範囲に各グローバル変数を初期化するために使用されます。この情報により、Polyspace ソフトウェアでは解析中にシステムの実数値をモデル化できます。モデルで最小~最大の情報を注意深く定義すると、実数値の範囲のみが解析されるため、より正確な解析を実行できます。

メモ

boolean 型は最小値 0 および最大値 1 でモデル化されます。

また、Polyspace ユーザー インターフェイスで制約ファイルを手動で定義することもできます。Polyspace 解析の外的制約の指定を参照してください。制約ファイルを定義すると、自動的に生成された情報が、作成する制約ファイルに追加されます。手動で定義した制約情報は、すべての変数について、自動的に生成された情報をオーバーライドします。

制約は静的変数に適用できません。このため、コンパイル フラグ -D static= が自動的に設定されます。これによりコードから静的キーワードが取り除かれます。グローバル名前空間に名前の競合の問題がある場合、変数の名前を変更するか、Polyspace の構成でこのオプションを無効にします。

コード生成オプション

TargetLink メイン ダイアログでは、以下が推奨されます。

  • オプション Clean code を設定する

  • オプション Enable sections/pragmas/inline/ISR/user attributes の設定を解除する

  • (CTO) 生成をオーバーフローさせる計算をオフにする。Polyspace では CTO によって生成されたコードを解析できますが、結果の正確性は低くなる可能性があります。

Polyspace をインストールするときに、変数 tlcgOptions'PolyspaceSupport', 'on' に更新されます ('C:\dSPACE\Matlab\Tl\config\codegen\tl_pre_codegen_hook.m' ファイルの変数を参照)。

参考

トピック

外部の Web サイト