Main Content

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

コード生成技術

MathWorks® コード生成技術によって、アルゴリズムに対する C または C++ コードと実行可能プログラムが生成されます。MATLAB® を使用したプログラミング的方法または Simulink® 環境での視覚的な方法でアルゴリズムを記述できます。リアルタイムおよび組み込みアプリケーションに役立つ、MATLAB 関数と Simulink ブロック用のコードを生成できます。浮動小数点アルゴリズム用に生成されたソース コードと実行可能プログラムは、MATLAB コード実行と Simulink シミュレーションの機能動作と高い忠実度で一致します。Fixed-Point Designer 製品を使用すると、モデルのシミュレーション結果とビット単位で一致する固定小数点コードを生成できます。このような広範なサポートと高い正確性が可能になるのは、コード生成が MATLAB および Simulink の実行エンジンとシミュレーション エンジンに緊密に統合されているためです。Simulink に組み込まれているアクセラレータ シミュレーション モードでは、コード生成技術が使用されています。

Simulink 環境でコンポーネントまたは完全なアプリケーションを設計する場合、Simulink Coder™ または Embedded Coder® を使用してモデルからコードを生成できます。

  • Simulink Coder を使用すると、リアルタイムと非リアルタイムのアプリケーションのラピッド プロトタイピングおよびハードウェアインザループ (HIL) テスト用コードを生成できます。Simulink を使用して生成コードの調整やモニターを行ったり、MATLAB と Simulink の環境外でコードを実行し、対話的に使用したりできます。

  • Embedded Coder を使用すると、本番環境で使用される組み込みプロセッサ向けに、読みやすい、コンパクトで高速な C コードまたは C++ コードを生成できます。生成コードの効率性と外観を管理するために、カスタマイズを適用できます。たとえば、データと関数コード インターフェイス、およびファイルへのコードのパッケージ化の方法を構成することでシンプルに統合することができます。Embedded Coder には、パラメーターの調整、コード パフォーマンスの解析、数値的等価性のテスト、コード カバレッジとトレーサビリティ解析の実行のためのツールが用意されています。

コード生成技術と関連製品には、システム開発用に V モデルに適用できるツールが用意されています。V モデルとは、システム開発の表現で、開発プロセスでの検証ステップに注目したものです。詳細については、システム開発用の検証および確認を参照してください。

Embedded Coder を使用したコード生成ワークフロー

Embedded Coder 製品は MATLAB CoderSimulink Coder 製品を "拡張" し、組み込みソフトウェアの開発に使用できる機能を提供します。Embedded Coder 製品では、ユーザーが記述したコードのような明確さと効率性をもつコードを生成できます。たとえば、次のようなことができます。

  • リアルタイム シミュレーター、ラピッド プロトタイピング ボード、量産で使用されるマイクロプロセッサ、および組み込みシステムにとって欠かせないコンパクトで高速なコードを生成する。

  • 既存のアプリケーション、関数およびデータを統合する。

  • 生成コードの外観をカスタマイズする。

  • 特定のターゲット環境向けに生成コードを最適化する。

  • コード検証を容易にするトレース、レポート、およびテストの各オプションを有効にする。

Simulink モデルまたは MATLAB コードから生成された C または C++ コードを設計、実装、検証できます。

Stateflow® ソフトウェアなど、コード生成をサポートするその他の製品が使用可能です。

Simulink モデルからのコード生成

Embedded Coder を使用して Simulink モデルから C または C++ コードを生成するには、次の製品が必要です。

  • MATLAB

  • MATLAB Coder

  • Simulink

  • Simulink Coder

  • Embedded Coder

アルゴリズムを Simulink ブロックおよび Stateflow チャートとして Simulink モデルに実装することができます。Embedded Coder には、C または C++ コード生成用のモデルを設計、構成、検証する機能が用意されています。

MATLAB コードで記述されたアルゴリズムがある場合は、MATLAB Function ブロックを使用することで MATLAB コードを Simulink モデルやサブシステムに含めることができます。モデルの C または C++ コードを生成すると、MATLAB Function ブロック内の MATLAB コードが、C または C++ ソース コードとして生成されたコードに同梱されます。

Embedded Coder を使用して Simulink モデルからコード生成を開始するには、Simulink モデルからの C コードの生成を参照してください。

MATLAB コードからのコード生成

Embedded Coder を使用して MATLAB コードから C または C++ コードを生成するには、次の製品が必要です。

  • MATLAB

  • MATLAB Coder

  • Embedded Coder

MATLAB Coder では、プログラム制御構造、関数、行列演算などの主要な MATLAB 言語機能のサブセットがサポートされています。C または C++ コードを生成するには、MATLAB Coder プロジェクトを使用するか MATLAB コマンド ウィンドウに関数 codegen を入力します。Embedded Coder では生成コードの関数、ファイル、データを細かく調整するための追加のオプションと高度な最適化機能を提供します。これらのオプションと最適化機能の詳細については、MATLAB コードからのコード生成のための Embedded Coder 機能を参照してください。

MATLAB コードからのコード生成方法の詳細については、コード生成のワークフローを参照してください。

Embedded Coder を使用して MATLAB コードからコード生成を開始するには、MATLAB コードからのコード生成のための Embedded Coder 機能を参照してください。