Main Content

MATLAB コードからのコード生成のための Embedded Coder 機能

Embedded Coder® 製品は、組み込みソフトウェアの開発に使用できる機能によって MATLAB® Coder™ 製品を拡張します。プロフェッショナルな手書きのコードの明確さと効率性をもつコードを生成できます。たとえば、次のようなことができます。

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

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

  • アプリケーション固有の要件に合わせて生成コードを最適化する。

  • 生成コードの確認に役立つトレース オプションを有効にする。

C/C++ コードの生成に対応する次のオプションと最適化機能を備えた Embedded Coder 製品は、MATLAB Coder 製品を拡張します。

目的プロジェクトの設定コード構成オブジェクトのプロパティ詳細
実行時間
浮動小数点データおよび演算の生成を制御する純粋な整数のみをサポートPurelyIntegerCodeN/A
生成されたコードでループ内の配列のインデックスを簡略化する配列のインデックスを簡略化するEnableStrengthReductionSimplify Multiply Operations for Array Indexing in Loops
アプリケーション固有のコード要件を満たすように、生成コードにおいて関数と演算子を置き換える[カスタム コード] タブの [コード置換ライブラリ]CodeReplacementLibraryEmbedded Coder は追加のライブラリを提供し、カスタム コードの作成と使用を可能にする。コード置換のカスタマイズを参照してください。
関数と演算子のアプリケーション固有の実装の作成と登録N/AN/Aコード置換のカスタマイズ
コードの外観
生成コードにおける単一行または複数行のコメントの使用を指定するコメント スタイルCommentStyleSpecify Comment Style for C/C++ Code
トレーサビリティ タグを含むコメントとして MATLAB ソース コードを含める。コード生成レポートでは、トレーサビリティ タグが対応する MATLAB ソース コードにリンクしています。コメントとして MATLAB ソース コードを含めるMATLABSourceComments生成される C/C++ コードにコメントを含める
関数バナーで MATLAB 関数のヘルプ テキストを生成する MATLAB 関数のヘルプ テキストMATLABFcnDesc生成される C/C++ コードにコメントを含める
MATLAB コードにリンクされている要件の概要を含むコメントを生成コードに含める。コード生成レポートでは、コメントが要件エディターの要件へのハイパーリンクになっています。コメントとしての要件の概要ReqsInCodeRequirements Traceability for Code Generated from MATLAB Code (Requirements Toolbox)
if-elseif-else のパターンを switch-case ステートメントに変換するif-elseif-else のパターンを switch-case ステートメントに変換するConvertIfToSwitchC コードのスタイルの制御
生成された外部関数の宣言に extern キーワードが含まれるように指定する関数の宣言で extern キーワードを保持するPreserveExternInFcnDeclsN/A
生成コード内のかっこのレベルを指定するかっこParenthesesLevelN/A
生成コードで 2 のべき乗の乗算を符号付きビット単位左シフトに置換するかどうかを指定する固定小数点の演算および 2 のべき乗の乗算には符号付き左シフトを使用してくださいEnableSignedLeftShiftsControl Signed Left Shifts in Generated Code
生成コードで符号付きビット単位右シフトを認めるかどうかを指定する符号付き整数の右シフトを許可EnableSignedRightShiftsN/A
生成コードのデータ型のキャストを制御する[すべての設定] タブの [キャスト モード]CastingModeControl Data Type Casts in Generated Code
生成コードのインデント スタイルを指定する[すべての設定] タブの [インデント スタイル]
[すべての設定] タブの [インデント サイズ]
IndentStyle
IndentSize
Specify Indent Style for C/C++ Code
生成されたコード内で改行の前の最大列数を指定する[すべての設定] タブの [列の制限]ColumnLimitN/A
生成されたコード内で MATLAB データ型のカスタム名を指定するカスタム データ型の置換を有効化EnableCustomReplacementTypes
ReplacementTypes
データ型置換のカスタマイズ
外部ヘッダー ファイルからカスタム データ型の定義をインポートする 外部ヘッダー ファイルからカスタムの型をインポートIsExtern
HeaderFiles
Import Custom Data Type Definitions from External Header Files
生成された C/C++ ファイル名をカスタマイズする生成されるソース ファイルおよびヘッダー ファイルの名前の形式CustomFileNameStrCustomize C/C++ File Names Generated from MATLAB Code
生成されたグローバル変数の識別子をカスタマイズする グローバル変数CustomSymbolStrGlobalVarCustomize Generated Identifiers
生成されたグローバルなタイプの識別子をカスタマイズするグローバルなタイプCustomSymbolStrTypeCustomize Generated Identifiers
生成されたグローバルなタイプの識別子のフィールド名をカスタマイズするグローバルなタイプのフィールド名CustomSymbolStrFieldCustomize Generated Identifiers
生成されたローカル関数の識別子をカスタマイズするローカル関数CustomSymbolStrFcnCustomize Generated Identifiers
生成されたローカルな一時変数の識別子をカスタマイズするローカルな一時変数CustomSymbolStrTmpVarCustomize Generated Identifiers
生成された定数のマクロの識別子をカスタマイズする定数のマクロCustomSymbolStrMacroCustomize Generated Identifiers
生成された組み込み可能 mxArray タイプ (EMX 配列タイプ) の識別子をカスタマイズするEMX 配列タイプCustomSymbolStrEMXArrayCustomize Generated Identifiers
生成された EMX 配列 (組み込み可能 mxArray) ユーティリティ関数の識別子をカスタマイズするEMX 配列ユーティリティ関数CustomSymbolStrEMXArrayFcnCustomize Generated Identifiers
生成コードの関数インターフェイスをカスタマイズする[すべての設定] タブの [初期化関数が必要]
[すべての設定] タブの [終了関数が必要]
IncludeInitializeFcn
IncludeTerminateFcn
N/A
ファイル バナーおよび関数バナーをカスタマイズするN/ACodeTemplate
生成コード内のグローバル変数の宣言と定義を制御するN/AN/A
MISRA™ C/C++ および AUTOSAR C++ のガイドラインに準拠するコードの生成[MISRA 準拠] ペインcoder.setupMISRAConfigのリファレンス ページ参照Generate C/C++ Code with Improved MISRA and AUTOSAR Compliance
デバッグ
生成されたファイルの情報、行数およびメモリ使用量などの静的コード メトリクス レポートを生成する静的コード メトリクスGenerateCodeMetricsReportGenerating a Static Code Metrics Report for Code Generated from MATLAB Code
選択したコード置換ライブラリから使用された置換を表示するコード置換レポートを生成するコード置換GenerateCodeReplacementReport
コード生成レポートで、単精度浮動小数点や倍精度浮動小数点、計算量の多い固定小数点演算を行う箇所を強調表示する潜在的なデータ型の問題を強調表示HighlightPotentialDataTypeIssuesHighlight Potential Data Type Issues in a Report
カスタム コード
アプリケーション固有のコード要件を満たすように、生成コードにおいて関数と演算子を置き換えるコード置換ライブラリCodeReplacementLibraryEmbedded Coder は追加のライブラリを提供し、カスタム コードの作成と使用を可能にする。コード置換のカスタマイズを参照してください。
関数と演算子のアプリケーション固有の実装の作成と登録N/AN/Aコード置換のカスタマイズ
検証
MATLAB ソース コードと生成された C/C++ コード間で対話形式でトレースするコードのトレーサビリティを有効にするEnableTraceabilityInteractively Trace Between MATLAB Code and Generated C/C++ Code
ソフトウェアインザループおよびプロセッサインザループの実行を使用して生成コードを検証するN/AVerificationModeCode Verification Through Software-in-the-Loop and Processor-in-the-Loop Execution
ソフトウェアインザループまたはプロセッサインザループの実行中にコードをデバッグする[デバッグ] ペインの [SIL または PIL でソースレベル デバッグを有効にする]SILPILDebuggingSIL または PIL の実行中における生成コードのデバッグ
ソフトウェアインザループおよびプロセッサインザループの実行中に実行時間をプロファイルする[デバッグ] ペインの [SIL/PIL のエントリ ポイント実行プロファイリングを有効にする]CodeExecutionProfilingSIL および PIL の実行時間プロファイリング
ARM に最適化されたコードの検証とプロファイルを行う [ハードウェア] ペインの [ハードウェア ボード]Hardware
生成された C/C++ コードの Polyspace® 検証を統合されたワークフローを使用して実行するN/AN/AMATLAB Coder によって生成された C/C++ コードの Polyspace 検証
生成された C/C++ コードとカスタム C/C++ コードのカバレッジ データを抽出する[すべての設定] タブの [C/C++ コード カバレッジを有効にする]CodeCoveragegetCodeCoverageData