このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
コード生成用にモデルを構成するには,金宝app®编码员™のモデル アドバイザー チェックを使用します。
チェックID:mathworks.codegen.SubsysCodeReuse
コードを再利用していないCodeReuseSubsystemブロックを特定します。
条件 | 推奨アクション |
---|---|
モデル内の1つ以上のCodeReuseSubsystemブロックがコードを再利用していない。 | コードを再利用するようにモデル内のCodeReuseSubsystemブロックを変更します。 |
次のことが可能です。
このチェックはライブラリモデルで実行できます。
マスク内を表示します。
金宝app模型检查™ライセンスをお持ちの場合は、ブロックおよびチャートをこのチェックから除外できます。
モデルアドバイザーの対象外指定の概要(金宝app仿真软件检查)
チェックID:mathworks.codegen.cgsl_0101
1ベースのインデックスを使用するブロックを特定します。
生成されたコードでは 0ベースのインデックスの方が 1.ベースのインデックスよりも効果的です。
0ベースのインデックスによって、生成コードの実行効率性が向上します。
金宝app仿真软件编码器で使用できます。
条件 | 推奨アクション |
---|---|
モデルまたはサブシステムには1ベースのインデックス用に構成されたブロックが含まれています。 | ブロックを0ベースのインデックス用に構成します。サポートするブロックを更新します。 |
次のことが可能です。
このチェックはライブラリモデルで実行できます。
金宝app模拟链路检查ライセンスをお持ちの場合は、ブロックおよびチャートをこのチェックから除外できます。
モデルアドバイザーの対象外指定の概要(金宝app仿真软件检查)
チェックID:mathworks.codegen.SolverCodeGen
モデル ソルバーとサンプル時間コンフィギュレーションの設定をチェックします。
正しくないコンフィギュレーション設定によってコード ジェネレーターのコード生成が停止する可能性があります。サンプル時間のアンダースペックは、予期しない結果をもたらします。データの破損や予期しない動作を生じる可能性のあるコードの生成は避けてください。
金宝app仿真软件编码器で使用できます。
条件 | 推奨アクション |
---|---|
モデルレベルのコード生成のソルバータイプが正しく設定されていません。 | [コンフィギュレーション パラメーター] ダイアログ ボックスの[ソルバー]ペインで,[タイプ]を |
マルチタスク診断オプションが[エラー] に設定されていません。 |
[コンフィギュレーション パラメーター] ダイアログ ボックスの[診断]ペインで,
|
サブシステムからコードを生成するには,ソルバーの設定を変更する必要はありません。サブシステムを右クリックしてサブシステムのコンテキストメニューから[C/C++コード]、(このサブシステムをビルド]または[C/C++コード]、[s函数を生成)を選択すると,ビルドプロセスによって[ソルバータイプ]が[固定ステップ]
に自動的に変更されます。
チェックID:mathworks.codegen.codeGen金宝appSupport
コード生成でサポートされないブロックを特定します。
このチェックで,金宝app仿真软件编码器および嵌入式编码器®の金宝app模拟ブロック サポートテーブルで特定されているコード生成に適していないモデル構成を部分的に特定します。コード生成でサポート ノート付きのブロックを使用する場合は、情報を検討し、次のアドバイスに従ってください。
金宝app仿真软件编码器で使用できます。
条件 | 推奨アクション |
---|---|
モデルまたはサブシステムに,コード生成に使用されるべきではないブロックが含まれています。 | 結果にリストされるブロックを置き換えることを検討してください。状態を特定するには、問題のある項目のリストの要素をクリックします。 |
次のことが可能です。
このチェックはライブラリモデルで実行できます。
ライブラリにリンクされたブロックの内容を解析します。
マスク サブシステムの内容を解析します。
金宝app模拟链路检查ライセンスをお持ちの場合は、ブロックおよびチャートをこのチェックから除外できます。
モデルアドバイザーの対象外指定の概要(金宝app仿真软件检查)
チェックID:mathworks.codegen.toolchainInfoUpgradeAdvisor.check
生成コードをビルドするためにモデルでツールチェーン設定を使用しているかどうかをチェックします。
モデルがテンプレート 生成文件アプローチとツールチェーン アプローチのどちらを使用して生成コードをビルドしているのかをチェックします。
金宝app仿真软件编码器で使用できます。
R2013bより前に作成された、[システム ターゲット ファイル]がert.tlc
、ert_shrlib.tlc
またはgrt.tlc
に設定されているモデルを開くと、ソフトウェアは、テンプレート 生成文件アプローチの使用からツールチェーン アプローチの使用へとモデルのアップグレードを自動的に試みます。
ソフトウェアがモデルをアップグレードしなかった場合,このチェックは原因を特定し,モデルをアップグレードするために実行できるアクションがあれば提示します。
モデルが使用しているアプローチを決定するために,[コンフィギュレーションパラメーター]ダイアログボックスの[コード生成]ペインを確認することもできます。ツールチェーンアプローチは,次のパラメーターを使用して生成コードをビルドします。
テンプレートmakefileアプローチは,次の設定を使用して生成コードをビルドします。
コンパイラ最適化レベル
カスタム コンパイラ最適化フラグ
makefileの生成
テンプレートmakefile
条件 | 推奨アクション | コメント |
---|---|---|
モデルはツールチェーン アプローチを使用するように設定されています。 | アクションなし。 | モデルは自動的にアップグレードされました。 |
モデルはツールチェーンアプローチを使用するように設定されていません。 | モデルはツールチェーンアプローチを使用するように自動的にアップグレードできません。 | システムターゲットファイルがツールチェーン準拠ではありません。[システム ターゲット ファイル]をert.tlc 、ert_shrlib.tlc またはgrt.tlc などのツールチェーン準拠のターゲットに設定してください。 |
モデルはツールチェーンアプローチを使用するように設定されていません(パラメーター値が既定値ではありません)。 | モデルはツールチェーン アプローチを使用するように自動的にアップグレードできます。[モデルの更新)をクリックします。 | パラメーターは、[コンパイラ最適化レベル]が[最適化オン (高速に実行)] に設定されていることを除き,それぞれ既定値に設定されています。[モデルの更新)をクリックすると、[コンパイラ最適化レベル]は既定値の(最適化オフ(高速にビルド)) に設定され、続いてモデルがアップグレードされます。アップグレードされたモデルでは、[ビルド構成)が(更快的构建) に設定されます。モデルを保存すると,これらの変更が永続的なものとなります。 |
モデルはツールチェーンアプローチを使用するように設定されていません(パラメーター値が既定値ではありません)。 | モデルはツールチェーンアプローチを使用するように自動的にアップグレードできません。 | 次のパラメーターの 1.つ以上が既定値に設定されていません。
|
[モデルの更新)をクリックすると,生成コードのビルドにツールチェーンアプローチを使用するようにモデルがアップグレードされます。
チェックID:mathworks.codegen.codertarget.check
ert.tlcシステム ターゲット ファイルを使用する組み込みターゲット モデルのチェックと更新を行います。
[システム ターゲット ファイル]がert.tlc
以外のファイルに設定され、ターゲット ハードウェアが[ert.tlc]
および類似の設定を使用するサポート対象の德州仪器™C2000™プロセッサの1つであるモデルをチェックし,更新します。
金宝app仿真软件编码器で使用できます。
条件 | 推奨アクション |
---|---|
[システム ターゲット ファイル]が[ert.tlc-嵌入式编码器] に設定されています。 |
アクションなし |
[システム ターゲット ファイル]が |
アップグレードアドバイザーで対応するチェックを実行します。
|
(このチェックを実行)をクリックすると[モデルコンフィギュレーションパラメーター]ダイアログボックスの[コード生成]ペインで以下のパラメーターが自動的に設定されます。
[システム ターゲット ファイル]パラメーターはert.tlc
に設定される。
[ツールチェーン]パラメーターは以前のツールチェーンと一致するように設定される。
[ビルド構成)パラメーターはビルド構成と一致するように設定される。
新しいワークフローは、機能強化された 生成文件に依存して生成コードをビルドするツールチェーン アプローチを使用します。これは、前のコンフィギュレーションで(构建格式)パラメーターを(项目)
に設定するのと同等ではありません。そのため,新しいワークフローは,CCS 3.3 IDE内でIDEプロジェクトを自動生成できません。
チェックID:mathworks.codegen.realtime2CoderTargetInfoUpgradeAdvisor.check
MATLAB®の各リリース間で大きく変わった 金宝app模拟ターゲットのあるモデルをチェックおよび更新します。
MATLABの現在のインストールで動作するように更新したモデルを保存します。
金宝app仿真软件编码器で使用できます。
条件 | 推奨アクション |
---|---|
モデルは、最初に保存された MATLABのリリース以降大幅に変更されたターゲットを使用します。 | モデルの保存 |
モデルは、金宝app模拟ターゲットを使用していないか、最新バージョンのターゲットを使用しています。 | アクションなし |
モデルは自動的に更新されます。 | モデルの保存 |
エクスターナル モードの構成が無効です。 | [コンフィギュレーションパラメーター]、[インターフェイス]ペインで,ホストとターゲット間の接続の特性に合うようにエクスターナルモードパラメーター設定を更新します。 |
モデルが破損しています。 |
モデルを閉じて再度開きます。問題が解決しない場合は,[コンフィギュレーションパラメーター]、[ハードウェア実行)、[ハードウェア ボード]をリセットします。 |
[モデルの保存)をクリックすると,MATLABの現在のインストールで動作するようにモデルが更新され,モデルが保存されます。
チェックID:mathworks.codegen.ConstraintsTunableParam
調整可能なパラメーターに制約があるブロックを特定します。
調整可能な場合,查找表ブロックには厳密な制約があります。查找表ブロックの制約に違反した場合、生成コードは正しくない回答を出力します。
金宝app仿真软件编码器で使用できます。
条件 | 推奨アクション |
---|---|
查找表ブロックに調整可能なパラメーターがあります。 | シミュレーション中または生成コードの実行中にパラメーターを調整する場合、以下の操作をしなければなりません。
|
查找表(二维)ブロックに調整可能なパラメーターがあります。 | シミュレーション中または生成コードの実行中にパラメーターを調整する場合、以下の操作をしなければなりません。
|
查找表(一天)ブロックに調整可能なパラメーターがあります。 | シミュレーション中にパラメーターを調整する場合や生成されたコードを実行するときは,テーブルの各次元のブレークポイントの値[ブレークポイントn]が単調増加するように設定しなければなりません。 |
金宝app模拟链路检查ライセンスをお持ちの場合は、ブロックおよびチャートをこのチェックから除外できます。
モデルアドバイザーの対象外指定の概要(金宝app仿真软件检查)
チェックID:mathworks.codegen.MdlrefConfigMismatch
最上位モデルのコンフィギュレーションパラメーター設定に一致しない参照モデルのコンフィギュレーションパラメーター設定を特定します。
最上位モデルが互換性のない異なるコンフィギュレーションパラメーター設定をもつ参照モデルを含んでいる場合,コードジェネレーターは最上位モデルのコードを作成できません。
金宝app仿真软件编码器で使用できます。
条件 | 推奨アクション |
---|---|
最上位モデルと参照モデルのモデルコンフィギュレーションパラメーター設定が一致していません。 | 指定されたモデルコンフィギュレーション設定を変更します。 |
チェックID:mathworks.codegen.SampleTimesTaskingMode
システムのサンプル時間とタスク モードを設定します。
タスク モードが正しくないと、コードの実行効率の低下や正しくないコードの生成を引き起こす可能性があります。
金宝app仿真软件编码器で使用できます。
条件 | 推奨アクション |
---|---|
モデルはマルチレートシステムを表していますが,マルチタスクに対して構成されていません。 | モデルコンフィギュレーションパラメーター[]を選択します。このパラメーターを選択すると、マルチタスク実行がマルチレート モデルに適用されます。詳細については、時間ベースのスケジューリングとコード生成を参照してください。 |
モデルはマルチタスクに対して構成されていますが、マルチタスクはターゲット ハードウェア上では望ましくありません。たとえば、オペレーティング システムがマルチプロセッシンをサポートしない、またはターゲット ハードウェアがベア メタル (オペレーティング システムを実行しない) で、アプリケーションはマルチタスクの実行スキームを提供していません。 | モデルコンフィギュレーションパラメーター[]をオフにします。このパラメーターをオフにすると、シングルタスク実行が適用されます。または、[ハードウェア実行)ペインの設定を変更します。詳細については,時間ベースのスケジューリングとコード生成を参照してください。 |
チェックID:mathworks.codegen.ModelRefRTWConfigCompliance
コード生成によって,識別子の書式を含むコンフィギュレーションパラメーター設定が変更される参照モデルを,モデル参照階層においてチェックします。
参照モデルで,次の[コンフィギュレーションパラメーター]、[コード生成]、[识别码]パラメーターに$R
トークン(参照モデルの名前を表す)を含まない設定が行われている場合,コード生成により$R
トークンが識別子の書式の先頭に付加されます。
グローバル変数
グローバルなタイプ
サブシステムのメソッド
定数のマクロ
金宝app仿真软件编码器で使用できます。
条件 | 推奨アクション |
---|---|
生成コードで動作するスクリプトがコード生成によって変更されるモデル名を使用します。 |
生成された名前(追加された |
チェックID:com.mathworks.sorting.datastoresimrtwcmp
コード生成用にモデルがコンパイルされても,数据存储读取ブロックと数据存储写ブロックの実行順序が変更されないことをチェックします。
実行順序は,数据存储读取ブロックと数据存储写ブロックが数据存储内存ブロックにアクセスする順序を定義します。モデルアドバイザーチェックは,チェック実行前の実行順序(ノーマルシミュレーションモード)をチェックのコンパイル後の実行順序(コード生成モード)と比較します。実行順序が同じ場合,チェックはパスします。差分がある場合,チェックは[警告]を発行し、結果の不一致を特定します。
金宝app仿真软件编码器で使用できます。
コード生成の目的のチェックにより、コードを生成するために使用する 金宝app模拟モデルおよびサブシステムの設計とトラブルシューティングが簡単になります。
コード生成アドバイザーには,各コード生成の目的に応じて,金宝app仿真软件,金宝app仿真软件编码器、および 嵌入式编码器からの次のチェックが含まれます。コード生成アドバイザーに固有の 2.つのチェックが以下のリストに含まれます。
チェック | 実行効率性 (すべてのターゲット) |
罗効率性 (ERTベースのターゲット) |
内存効率性 (ERTベースのターゲット) |
安全対策 (ERTベースのターゲット) |
トレーサビリティ (ERTベースのターゲット) |
デバッグ (すべてのターゲット) |
MISRA C:2012ガイドライン (ERTベースのターゲット) |
Polyspace® (ERTベースのターゲット) |
---|---|---|---|---|---|---|---|---|
コード生成の目的に対するモデルコンフィギュレーションをチェック | 含める | 含める | 含める | 含める | 含める | 含める | 含める(下の[メモ]を参照) | 含める |
最適なバーチャルバスをチェック | 含める | 含める | 含める | N/A | N/A | N/A | N/A | N/A |
指定したシステム内の問題のあるブロックを特定 | 含める | 含める | 含める | N/A | N/A | N/A | N/A | N/A |
ハードウェア実装のチェック(嵌入式编码) | 嵌入式编码器が使用可能な場合は含める | 嵌入式编码器が使用可能な場合は含める | N/A | N/A | N/A | N/A | N/A | N/A |
問題のあるソフトウェア環境仕様の特定(嵌入式编码) | トレーサビリティがより高い優先順位でなく、嵌入式编码器が使用可能な場合は含める | トレーサビリティがより高い優先順位でなく、嵌入式编码器が使用可能な場合は含める | N/A | N/A | N/A | N/A | N/A | N/A |
問題のあるコード計測 (データ 输入/输出)の特定(嵌入式编码) | トレーサビリティまたはデバッグがより高い優先順位でなく、嵌入式编码器が使用可能な場合は含める | トレーサビリティまたはデバッグがより高い優先順位でなく、嵌入式编码器が使用可能な場合は含める | トレーサビリティまたはデバッグがより高い優先順位でなく、嵌入式编码器が使用可能な場合は含める | N/A | N/A | N/A | N/A | N/A |
問題のあるサブシステムの設定の特定(嵌入式编码) | N/A | 嵌入式编码器が使用可能な場合は含める | 嵌入式编码器が使用可能な場合は含める | N/A | N/A | N/A | N/A | N/A |
計算量の多い丸めコードを生成するブロックを特定(嵌入式编码) | 嵌入式编码器が使用可能な場合は含める | 嵌入式编码器が使用可能な場合は含める | N/A | N/A | N/A | N/A | N/A | N/A |
問題のある固定小数点演算の特定(嵌入式编码) | 嵌入式编码器または定点设计师™が使用可能な場合は含める | 嵌入式编码器または 定点设计器が使用可能な場合は含める | N/A | N/A | N/A | N/A | N/A | N/A |
1.ベースのインデックスを使用するブロックを特定 | 含める | 含める | N/A | N/A | N/A | N/A | N/A | N/A |
計算量が多い範囲外のチェック コードを生成する 查找表ブロックの特定(嵌入式编码) | 嵌入式编码器が使用可能な場合は含める | 嵌入式编码器が使用可能な場合は含める | N/A | N/A | N/A | N/A | N/A | N/A |
論理ブロックの出力タイプのチェック(嵌入式编码) | 嵌入式编码器が使用可能な場合は含める | N/A | N/A | N/A | N/A | N/A | N/A | N/A |
N/A | N/A | N/A | 含める | N/A | N/A | N/A | N/A | |
マルチタスク、厳密な型指定、優先順位の低下などの問題について、数据存储存储器ブロックをチェック | N/A | N/A | N/A | 含める | N/A | N/A | N/A | N/A |
連続サンプル時間と浮動小数点でないデータ型をもつブロックの出力信号を特定 | N/A | N/A | N/A | 含める | N/A | N/A | N/A | N/A |
調整可能パラメーターに制約があるブロックをチェック | N/A | N/A | N/A | 含める | N/A | N/A | N/A | N/A |
数据存储ブロックについて読み取り/書き込みの診断が有効であるかどうかをチェック | N/A | N/A | N/A | 含める | N/A | N/A | N/A | N/A |
バス信号を使った構造体パラメーターの使用のチェック | N/A | N/A | N/A | 含める | N/A | N/A | N/A | N/A |
モデリングエラーに対して数据存储ブロックサンプル時間をチェック | N/A | N/A | N/A | 含める | N/A | N/A | N/A | N/A |
データ ストア アクセスに関する順序の問題がないかどうかをチェック | N/A | N/A | N/A | 含める | N/A | N/A | N/A | N/A |
C/C++量産組み込み用コードで推奨されないブロックをチェック(嵌入式编码) | N/A | N/A | N/A | N/A | N/A | N/A | 嵌入式编码器が使用可能な場合は含める | N/A |
MISRA - C: 2012で推奨されないブロックをチェック(嵌入式编码) | N/A | N/A | N/A | N/A | N/A | N/A | 嵌入式编码器が使用可能な場合は含める | N/A |
サポートされていないブロック名のチェック(嵌入式编码) | N/A | N/A | N/A | N/A | N/A | N/A | 嵌入式编码器が使用可能な場合は含める | N/A |
作业ブロックの使用をチェック(嵌入式编码) | N/A | N/A | N/A | N/A | N/A | N/A | 嵌入式编码器が使用可能な場合は含める | N/A |
符号付き整数のビット演算のチェック(嵌入式编码) | N/A | N/A | N/A | N/A | N/A | N/A | 嵌入式编码器が使用可能な場合は含める | N/A |
再帰関数の呼び出しをチェック(嵌入式编码) | N/A | N/A | N/A | N/A | N/A | N/A | 嵌入式编码器が使用可能な場合は含める | N/A |
浮動小数点値の等式演算と不等式演算のチェック(嵌入式编码) | N/A | N/A | N/A | N/A | N/A | N/A | 嵌入式编码器が使用可能な場合は含める | N/A |
默认ケースをもたない切换实例式のチェック(嵌入式编码) | N/A | N/A | N/A | N/A | N/A | N/A | 嵌入式编码器が使用可能な場合は含める | N/A |
非効率的な飽和コードを生成するコンフィギュレーション パラメーターをチェック(嵌入式编码) | 嵌入式编码器が使用可能な場合は含める | 嵌入式编码器が使用可能な場合は含める | N/A | 嵌入式编码器が使用可能な場合は含める | N/A | N/A | N/A | N/A |
メモ
コード生成アドバイザーでは,MISRA - C: 2012ガイドラインの目的に対してモデルをチェックする際に,モデルアドバイザーのMISRA - C: 2012ガイドラインチェックでチェックされたすべてのコンフィギュレーションパラメーター設定をすべて考慮するのではありません。コンフィギュレーションパラメーター設定を完全にチェックするには,次を行います。
モデル アドバイザーを開きます。
[タスク別]、[MISRA - C: 2012のモデリングガイドライン]に移動します。
フォルダー内でチェックを実行します。
モデルアドバイザーの使用方法の詳細については,モデルアドバイザーを使用したモデルのチェックを参照してください。
コード生成でサポートされていないブロック,または配布に推奨されていないブロックを特定します。
コードジェネレーターはサポートしているブロックのコードのみを作成します。量産コード配布には推奨されないブロックもあります。
条件 | 推奨アクション |
---|---|
ブロックがコードジェネレーターでサポートされていません。 | モデルから指定されたブロックを削除するか,推奨されるブロックに置き換えます。 |
ブロックが量産コード配布に推奨されていません。 | モデルから指定されたブロックを削除するか,推奨されるブロックに置き換えます。 |
値が 1.の获得ブロックをチェックします。 | 获得ブロックを信号转换ブロックに置き換えます。 |
次のことが可能です。
このチェックはライブラリモデルで実行できます。
金宝app模拟链路检查ライセンスをお持ちの場合は、ブロックおよびチャートをこのチェックから除外できます。
モデルアドバイザーの対象外指定の概要(金宝app仿真软件检查)
コード生成の目的に対し,モデルのコンフィギュレーションパラメーターの設定をチェックします。
[コンフィギュレーション パラメーター] ダイアログ ボックスの各パラメーターで、目的に応じてコード生成の推奨設定が異なる場合があります。このチェックは、各パラメーターの推奨設定を特定するのに役立ち、目的に応じてコードを最適化できます。
条件 | 推奨アクション |
---|---|
パラメーターが,特定の目的の推奨値以外の値に設定されています。 | パラメーターを推奨値に設定します。 メモ あるパラメーター値を変更すると、他のパラメーターにも影響を及ぼす場合があります。チェックに合格するまでに複数回の反復が必要になる場合があります。 |
[パラメーターの変更]をクリックすると,パラメーター値が推奨値に変わります。
模型配置参数的建议设置摘要(嵌入式编码)
使用代码生成顾问为代码生成目标配置模型(嵌入式编码)