Main Content

製品間でのシステム ターゲット ファイルのサポートの比較

システム ターゲット ファイル (grt.tlc など) を選択すると、選択内容によってランタイム環境とコード生成機能が定義されます。コード生成ワークフローの目的に合致するシステム ターゲット ファイル機能を特定します。

コード ジェネレーターはシステム ターゲット ファイルを使用して、特定のターゲット ハードウェアや特定のオペレーティング システムでの実行を目的としたコードを生成します。システム ターゲット ファイルは他のランタイム環境固有のファイルを呼び出します。ターゲット ハードウェア用にモデルのコード生成パラメーターを構成する方法の詳細については、ランタイム環境オプションの構成を参照してください。

システム ターゲット ファイルの種類によって特定の生成コードの機能がサポートされます。システム ターゲット ファイルの TLC 変数 CodeFormat の値と対応するフィールド値 rtwgensettings.DerivedFrom によって、システム ターゲット ファイルの種類と生成コードの機能を指定します。これらの選択は、コード生成プロセスの過程で下されるコード生成制御の決定に適用されます。選択には、モデルのビルドによって以下を生成するかどうか、およびその生成方法が含まれます。

  • 特定のデータ構造 (SimStructrtModel など)

  • 静的または動的メモリ割り当てコード

  • 生成されるモデル関数の呼び出しインターフェイス

カスタム システム ターゲット ファイルの開発の場合、CodeFormat 値は、コード生成ターゲット間で異なります。

  • システム ターゲット ファイルが TLC 変数 CodeFormat の値を含まない場合、汎用リアルタイム ターゲット (GRT) の既定値は RealTime です。対応する rtwgensettings.DerivedFrom フィールドの値は grt.tlc (既定値) です。

  • カスタム システム ターゲット ファイルを開発していて Embedded Coder ソフトウェアをお持ちの場合、組み込みリアルタイム ターゲット (ERT) 用に TLC 変数 CodeFormat の値を Embedded-C に設定することを検討します。対応する rtwgensettings.DerivedFrom フィールドの値は ert.tlc です。ERT システム ターゲット ファイルは GRT システム ターゲット ファイルよりも多くの生成コードの機能をサポートします。

この例は、TLC 変数 CodeFormat の値を設定する方法および対応する rtwgensettings.DerivedFrom フィールドの値を ert.tlc に設定する方法について示しています。

%assign CodeFormat = "Embedded-C"

/%
  BEGIN_RTW_OPTIONS
  rtwgensettings.DerivedFrom = 'ert.tlc';
  END_RTW_OPTIONS
%/

メモ

モデルのコードを生成するために TLC 変数 CodeFormat の値を、対応する rtwgensettings.DerivedFrom フィールドの値と一緒に使用します。値を明示的に選択していない場合は、既定値が適用されます。rtwgensettings.DerivedFrom フィールドに対しては、'ert.tlc' または 'grt.tlc' を使用します。詳細については、システム ターゲット ファイル構造体を参照してください。

GRT および ERT システム ターゲット ファイル用に既定で生成される最適化された呼び出しインターフェイスの詳細については、生成された C 関数インターフェイスをモデルのエントリポイント関数用に構成を参照してください。

GRT および ERT システム ターゲット ファイルを使用したコード生成では、リアルタイム モデル データ構造体 (rtModel) が使用されます。この構造体は、シミュレーション構造体 SimStruct よりずっとコンパクトな形式でモデル固有の情報をカプセル化します。生成コードの効率的な機能の多くは、SimStruct よりも rtModel の生成に依存します。これには次が含まれます。

  • 整数の絶対値および経過時間サービス

  • 非同期のタスク用の独立タイマー

  • 信号、状態、およびパラメーターの監視用の改善された C API コードの生成

  • サイズを最小化するためのデータ構造の枝刈り (ERT から派生したシステム ターゲット ファイルのみ)

rtModel のデータ構造の詳細については、リアルタイム モデル データ構造体を参照してください。

製品のシステム ターゲット ファイルの比較

システム ターゲット ファイル ブラウザーを使用して、多くのシステム ターゲット ファイルから選択できます。この選択によって、コンフィギュレーション オプションを試し、モデルを異なるコンフィギュレーションで保存できます。

必要なソフトウェアがシステムにない場合、非 GRT システム ターゲット ファイル用のコードをビルドしたり、生成したりすることはできません。たとえば、ERT システム ターゲット ファイルには Embedded Coder®、SLDRT システム ターゲット ファイルには Simulink® Desktop Real-Time™ が必要となります。

モデルのシステム ターゲット ファイルを選択すると、ビルド プロセス制御としてツールチェーン アプローチまたはテンプレート makefile アプローチのいずれかが選択されます。これらのアプローチの詳細については、Simulink モデルから生成されたコードのビルドに使用するアプローチを参照してください。

システム ターゲット ファイル ブラウザーから使用できるシステム ターゲット ファイル

サポートされるシステム ターゲット ファイル

ファイル名

リファレンス

Embedded Coder (PC または UNIX® プラットフォーム用)

ert.tlc
ert_shrlib.tlc

システム ターゲット ファイルの構成

Embedded Coder の Visual C++® ソリューション ファイルを作成

ert.tlc

(CMake ツールチェーンが必要です。メモを参照してください)

システム ターゲット ファイルの構成

AUTOSAR 用の Embedded Coder

autosar.tlc

AUTOSAR 規格に準拠したモデルの開発

汎用リアルタイム (PC または UNIX プラットフォーム用)

grt.tlc

STF 別の生成コードの機能比較

Visual C++ ソリューション ファイルを作成

grt.tlc

(CMake ツールチェーンが必要です。メモを参照してください)

STF 別の生成コードの機能比較

ラピッド シミュレーション (PC または UNIX プラットフォームの既定)

rsim.tlc

RSim システム ターゲット ファイルを使用したホスト コンピューターでのハイブリッド動的システムの高速化、調整およびテスト

UNIX プラットフォーム用のラピッド シミュレーション

rsim.tlc

RSim システム ターゲット ファイルを使用したホスト コンピューターでのハイブリッド動的システムの高速化、調整およびテスト

Visual C++ コンパイラ用のラピッド シミュレーション

rsim.tlc

RSim システム ターゲット ファイルを使用したホスト コンピューターでのハイブリッド動的システムの高速化、調整およびテスト

PC または UNIX プラットフォーム用の S-Function

rtwsfcn.tlc (削除予定)

モデルまたはサブシステムの S-Function ターゲットの使用

UNIX プラットフォーム用の S-Function

rtwsfcn.tlc (削除予定)

モデルまたはサブシステムの S-Function ターゲットの使用

Visual C++ コンパイラ用の S-Function

rtwsfcn.tlc (削除予定)

モデルまたはサブシステムの S-Function ターゲットの使用

ASAM-ASAP2 データ定義

asap2.tlc

(将来のリリースで削除される予定です。A2L ファイルを生成する方法の詳細については、ASAP2 ファイルおよび CDF キャリブレーション ファイルの生成を参照してください)。

ASAP2 ファイルおよび CDF キャリブレーション ファイルの生成

Simulink Desktop Real-Time

sldrt.tlc
sldrtert.tlc

Set Run in Kernel Mode Code Generation Parameters (Simulink Desktop Real-Time)

Simulink Real-Time™

speedgoat.tlc

Simulink Real-Time Options Pane (Simulink Real-Time)

メモ

デバッグ構成をもつ Visual C++ ソリューション (.sln) ファイルを作成するには、ツールチェーンフィールドに CMake ツールチェーンを指定します。たとえば、[Microsoft Visual Studio Project 2019 | CMake (64-bit Windows)][Microsoft Visual Studio Project 2017 | CMake (64-bit Windows)] です。CMake ツールチェーンの詳細については、CMake ビルド プロセスの構成を参照してください。

コード スタイルおよび STF サポートの比較

コード ジェネレーターは 2 つのスタイルのコードを生成します。そのひとつは、ラピッド プロトタイピング (および、コード生成を使用したシミュレーション) に適します。もうひとつは組み込みアプリケーションに適します。この表は、システム ターゲット ファイルと対応するコード スタイルを示します。

システム ターゲット ファイル別のコード スタイル一覧

システム ターゲット ファイル

コード スタイル

目的

Embedded Coder 組み込みリアルタイム (ERT)

組み込み

C/C++ 生成コードの組み込みアプリケーション開発の開始点

Simulink Coder™ 汎用リアルタイム (GRT)

ラピッド プロトタイピング

リアルタイム オペレーティング システム作業プリミティブを使用しないラピッド プロトタイピング ターゲット ハードウェアを作成するための開始点、および生成された C/C++ コードをデスクトップ コンピューター上で確認するための開始点

ラピッド シミュレーション (RSim)

ラピッド プロトタイピング

デスクトップ コンピューター上でのリアルタイム シミュレーションの提供、および高速シミュレーション ツールまたはバッチ シミュレーション ツールの提供。

S-Function

ラピッド プロトタイピング

別の Simulink モデル内でシミュレーションを行うための C MEX S-Function の作成。

Simulink Desktop Real-Time

ラピッド プロトタイピング

デスクトップ コンピューターがバックグラウンドで Microsoft® Windows® を実行しているときに、割り込みレベルでリアルタイムでモデルを実行。

Simulink Real-Time

ラピッド プロトタイピング

Simulink Real-Time カーネルを実行しているデスクトップ コンピューター上でリアルタイムでモデルを実行。

サードパーティ ベンダーでは、自社製品のコード生成をサポートするためのシステム ターゲット ファイルを追加提供しています。サードパーティ製品の詳細については、ベンダーの Web ページまたは MathWorks® Connections Program の Web ページ (https://www.mathworks.com/products/connections) を参照してください。

製品別の生成コードの機能比較

リアルタイム システム ターゲット ファイル (GRT など) のコード生成プロセスは、多くの組み込みコードの最適化を提供します。ERT ベースのシステム ターゲット ファイルを選択すると、GRT より多くの拡張機能が提供されます。システム ターゲット ファイルの選択によってコード生成製品の利用可能な機能が決まります。開発プロセスと一致するコード生成ターゲットを選択するため、この表を使用して Simulink Coder で利用可能なコード生成機能および Embedded Coder で利用可能なコード生成機能を比較します。

Simulink CoderEmbedded Coder のコード生成機能の比較

機能

Simulink Coder

Embedded Coder

rtModel データ構造体

  • 生成されるフル rtModel 構造体

  • GRT 変数宣言: rtModel_model model_M_;

  • rtModel はモデル用に最適化されます

  • エラー ステータス フィールドとデータ ロギング フィールドのオプションの抑圧

  • ERT 変数宣言: RT_MODEL_model model_M_;

カスタム ストレージ クラス (CSC)

コード生成は CSC を無視します。オブジェクトには既定の Auto ストレージ クラスである CSC が割り当てられます。

CSC をもつコード生成はサポートされます

HTML コード生成レポート

基本 HTML コード生成レポート

モデルへの追加の詳細とハイパーリンクをもつ強化レポート

シンボル形式

シンボル (信号やパラメーター用など) はハードコード化された既定値に従って生成されます

生成シンボルに関する詳細なコントロールです。

生成シンボル用のユーザー定義識別子の最大長

サポートあり

サポートあり

終了関数の生成

生成物

終了関数を抑制するオプション

組み合わせた出力/更新関数

別個の出力/更新関数が生成されます

組み合わせた出力/更新関数を生成するオプション

最適化されたデータ初期化

使用できません

0 値のメモリや I/O 端子など、不要な初期化コードの生成を抑制するオプション

コメント生成

コメント生成を含むか抑制する基本オプション

オプションは、コメント内の Simulink ブロック説明、Stateflow® オブジェクト説明、Simulink データ オブジェクト説明を含みます

モジュール パッケージ化機能 (MPF)

サポートなし

さまざまなコード カスタマイズ機能。Manage Replacement of Simulink Data Types in Generated CodeおよびMPT Data Object Propertiesを参照。

システム ターゲット ファイル用に最適化されたデータ型のヘッダー ファイル

フル tmwtypes.h ヘッダー ファイルを必要とします

システム ターゲット ファイルに必要な定義を含む最適化された rtwtypes.h ヘッダー ファイルを生成します

ユーザー定義型

ユーザー定義型はコード生成の既定の基本型に設定されます

ユーザー定義のデータ型エイリアスがコード生成でサポートされます

レート グループ

サポートなし

サポートあり

メインのプログラム モジュールの自動生成

サポートされません。静的なメインのプログラム モジュールが与えられます。

メインのプログラム モジュールの自動生成とカスタマイズ可能生成はサポートされます (静的なメインのプログラムも使用可能)

再利用可能な (マルチ インスタンス) コード生成

動的メモリ割り当てをもつ再利用可能なコードを生成するオプション

静的または動的メモリ割り当てをもつ再利用可能なコードを生成するオプション

ソフトウェア制約オプション

浮動小数点、複素数、非有限数のサポートは有効です

浮動小数点、複素数、非有限数のサポートを有効/無効にするオプション

アプリケーションのライフ スパン

既定の設定は inf です。

ユーザー指定。整数タイマー用に最も効率的なワード サイズを決めます。

ANSI®-C/C++ コード生成

サポートあり

サポートあり

ISO®-C/C++ コード生成

サポートあり

サポートあり

GNU®-C/C++ コード生成

サポートあり

サポートあり

#DEFINE ステートメントとしてスカラーのインライン パラメーターを生成

サポートなし

サポートあり

MAT ファイルの変数名の修飾子

サポートあり

サポートあり

データ交換:C API、ASAP2、エクスターナル モード

サポートあり

サポートあり

STF 別の生成コードの機能比較

コード ジェネレーターは異なる種類のシステム ターゲット ファイルに対して決められた生成コードの機能をサポートします。各システム ターゲット ファイルの中で、TLC 変数 CodeFormat の値が機能セットを特定します。

この表は、さまざまなシステム ターゲット ファイルによるアプリケーションのサポート状況をまとめています。

アプリケーション

システム ターゲット ファイル (STF)

固定ステップまたは可変ステップの加速

RSIM、S-Function、モデル参照

固定ステップのリアルタイムの展開

GRT、ERT、Simulink Real-TimeSimulink Desktop Real-Time、...

この表は、[システム ターゲット ファイル] のそれぞれの選択に対して使用できるさまざまなオプションを例外の注意とともにまとめています。

システム ターゲット ファイル (STF) で生成されるコードでサポートされる機能

 システム ターゲット ファイル (STF)

機能

grt.tlc

(メモ 1 を参照)

ert.tlc

(メモ 1 を参照)

ert_shrlib.tlc

(メモ 1 を参照)

rtwsfcn.tlc

(メモ 1 を参照)

rsim.tlc

(メモ 1 を参照)

sldrt.tlc

(メモ 1 を参照)

speedgoat.tlc

(メモ 1 を参照)

その他

(メモ 1 を参照)

静的なメモリ割り当て

X

X

 

X

X

X

動的メモリ割り当て

X

(メモ 4、5 を参照)

X

(メモ 4、5 を参照)

X

X

X

連続時間

X

X

X

X

X

X

C/C++ MEX S-Function
(非インライン化)

X

X

X

X

X

X

S-Function (インライン化)

X

X

X

X

X

X

X

RAM/ROM の使用量を最小化

X

X2

X

エクスターナル モードをサポートします

X

X

X

X

X

ラピッド プロトタイピング

X

X

X

X

量産コード

X

X2

X

(メモ 3 を参照)

バッチ パラメーター調整とモンテカルロ法

X

X

システムレベルのシミュレーター

X

ハード リアルタイムで実行します

X

(メモ 3 を参照)

X

(メモ 3 を参照)

X

X

X5

含まれる非リアルタイム実行可能プログラム

X

X

X

モデルの複数のインスタンス

X

(メモ 4、5 を参照)

X

(メモ 4、5 を参照)

X4

X

(メモ 4、5 を参照)

X

(メモ 4、5 を参照)

可変ステップ ソルバーをサポートします

X

X

SIL/PIL をサポートします

X

X

X

メモ

  1. システム ターゲット ファイル:

    • grt.tlc — 汎用リアルタイム ターゲット

    • ert.tlc — 組み込みリアルタイム ターゲット

    • ert_shrlib.tlc — 組み込みリアルタイム ターゲットの共有ライブラリ

    • rtwsfcn.tlc (削除予定) — S-Function ターゲット

    • rsim.tlc — ラピッド シミュレーション ターゲット

    • sldrt.tlcSimulink Desktop Real-Time ターゲット

    • speedgoat.tlcSimulink Real-Time ターゲット

    • その他 — Simulink Coder の組み込みリアルタイム機能がサポートするその他のシステム ターゲット ファイル

  2. GRT ベースのシステム ターゲット ファイルには適用されません。ERT ベースのシステム ターゲット ファイルのみに適用されます。

  3. 既定の GRT および ERT rt_main ファイルはハード リアルタイムの実行をエミュレートします。明示的にリアルタイム クロックに接続されているときはハード リアルタイムで実行します。

  4. Stateflow チャートまたはチャートを含むサブシステムの複数のインスタンスについて、コードを生成することができます。ただし、エクスポートされたグラフィカル関数がチャートに含まれる場合を除きます。

  5. [コンフィギュレーション パラメーター] ダイアログ ボックスの [コード インターフェイスのパッケージ化] フィールドで、[再利用可能な関数] を選択します。

関連するトピック