メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

Stateflow ブロックからの C または C++ コードの生成

Stateflow® チャートを含む Simulink® モデルから C または C++ のコードを生成するには、Simulink Coder™ を使用しなければなりません。Simulink Coder に加え、Embedded Coder® を使用して、さらに読みやすくコンパクトで高速に実行できるコードにすることができます。

Simulink Coder を使用したコードの生成

Simulink Coder を使用すると、Stateflow チャートを含むモデルから C および C++ のコードを生成することができます。その後、生成されたコードを次のようなリアルタイムや非リアルタイムのアプリケーションに使用できます。

  • シミュレーションの高速化

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

  • ハードウェアインザループ (HIL) テスト

Simulink Coder を使用すると、アクセラレータ モードとラピッド アクセラレータ モードにもアクセスできます。アクセラレータ モードは、後で実行に使用されるターゲット コードを生成することによって機能します。これらのモードの詳細については、アクセラレータ モードの動作 (Simulink)を参照してください。

HIL テストでは、コントローラー設計をテストして物理システム モデルが有効かどうかを判定できます。

詳細については、Simulink Coder を使用したコード生成 (Simulink Coder)を参照してください。

Embedded Coder を使用したコードの生成

Embedded Coder を追加すると、さらにコンパクトで読み取りやすく、高速に実行できる C や C++ のコードを生成できます。また、Embedded Coder は、生成された関数、ファイル、データの制御を可能にすることにより、Simulink Coder の機能を拡張します。さらに、Embedded Coder を使用すると、レガシ コードやデータ型、キャリブレーション パラメーターとの統合が簡単になります。Embedded Coder は AUTOSAR、MISRA C、および ASAP 2 のソフトウェア標準に対応しています。

Embedded Coder は、特定のハードウェア向けの高度な最適化とデバイス ドライバーを備えたサポート パッケージも提供します。

詳細については、Embedded Coder を使用したコード生成 (Embedded Coder)を参照してください。

Stateflow に対して生成されたコードの最適化

Stateflow オブジェクトから生成されたコードを最適化するための設計のヒントについては、コード生成に向けて Stateflow オブジェクトを最適化する設計手法 (Embedded Coder)を参照してください。

ラピッド プロトタイピングおよび量産展開用のコードの生成

目的

Simulink Coder ドキュメンテーション

Embedded Coder ドキュメンテーション

C/C++ ソース コードの生成

ソース コードの生成 (Simulink Coder)

ソース コードの生成 (Embedded Coder)

C/C++ ソース コードの生成と実行可能ファイルのビルド

生成されたコードのコンパイル (Simulink Coder)

生成されたコードのコンパイル (Embedded Coder)

外部コードの統合

外部コードのインポート (Simulink Coder)

外部コードのインポート (Embedded Coder)

複数モデルでの使用を目的とした、移植可能な内蔵型ライブラリ内のライブラリ チャートのみを対象とする外部コードのインクルード

Integrate External Code with Library Charts (Simulink Coder)

Integrate External Code with Library Charts (Embedded Coder)

生成コードの最適化

コードの効率性 (Simulink Coder)

コードの効率性 (Embedded Coder)

生成コード内の Stateflow オブジェクトのトレーサビリティ

トレーサビリティ コメントにより次が得られます。

  • 生成されたコードの検証。コードの行に対応する Stateflow オブジェクトの識別に加え、レビューの実施/未実施を問わず、さまざまなオブジェクトのコードの追跡が可能です。

  • 大規模モデル用に生成されたコード内へのコメントのインクルード。生成コード内のオブジェクトの識別に加え、コメントや説明の手動入力の回避が可能です。

トレーサビリティ コメントを有効にするには、Embedded Coder または HDL Coder™ ソフトウェアがなければなりません。詳細については、Trace Stateflow Elements in Generated Code (Embedded Coder)トレーサビリティを使用した Simulink モデルと HDL コード間の移動 (HDL Coder)を参照してください。

メモ

いずれかのデータがエイリアス型を使用していて可変サイズである場合、Stateflow ブロックではコード生成はサポートされません。この制限は、チャートレベルの入力データ、出力データ、またはローカル データには適用されません。可変サイズ データの定義の詳細については、Stateflow チャートでの可変サイズ データの宣言を参照してください。

参考

トピック