このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
MISRA C:2012 のコンフィギュレーション パラメーターをチェック
mathworks.misra.CodeGenSettings
依存関係: Embedded Coder® および Simulink® Check™
使用法: C/C++ コード生成 および 高信頼性システムのモデル化
ガイドライン: hisl_0060: MISRA C:2012 準拠性を高めるコンフィギュレーション パラメーター
説明
このチェックを使用して、MISRA C:2012 準拠のコード生成に影響を与える可能性のあるコンフィギュレーション パラメーターを特定します。このチェックの推奨事項に従うと、組み込みアプリケーションに対して MISRA C:2012 準拠コードが生成される可能性が高くなります。
推奨されるアクションと結果
チェックによってフラグが立てられた違反と、問題を修正するために推奨されるアクションを確認します。変更を適用した後、モデルを保存し、チェック解析を再実行します。
[修正] ボタンを使用して、フラグが立てられたすべての違反を モデル アドバイザーで修正できます。このチェックでは、モデル アドバイザーにより、パラメーター値が推奨値に変えられます。
メモ
GRT ベースのターゲットが設定されたモデルでは、モデル アドバイザーは [システム ターゲット ファイル] コンフィギュレーション パラメーターを ERT ベースのシステムに更新しません。
次の表には、[コンフィギュレーション パラメーター] ダイアログ ボックス内の場所に基づいて推奨パラメーター設定がリストされています。
数学とデータ型
| モデル化条件 | 推奨アクション |
|---|---|
モデル コンフィギュレーション パラメーター [固定小数点の正味傾き計算に除算を使用] が | モデル コンフィギュレーション パラメーター [固定小数点の正味傾き計算に除算を使用] を |
モデル コンフィギュレーション パラメーター [Inf または NaN のブロックの出力] が モデル コンフィギュレーション パラメーター [Inf または NaN のブロックの出力] が | [サポート: 非有限数] が [サポート: 非有限数] が |
モデル コンフィギュレーション パラメーター [Model Verification ブロックを有効にする] が [ローカル設定を使用] または [すべて有効] に設定されている。 | モデル コンフィギュレーション パラメーター [Model Verification ブロックを有効にする] を [すべて無効] に設定します。 |
モデル コンフィギュレーション パラメーター [指示のないイベント ブロードキャスト] が [なし] または [警告] に設定されている。 | モデル コンフィギュレーション パラメーター [指示のないイベント ブロードキャスト] を [エラー] に設定します。 |
モデル コンフィギュレーション パラメーター [オーバーフロー時にラップ] が [なし] に設定されている。 | モデル コンフィギュレーション パラメーター [オーバーフロー時にラップ] を [警告] または [エラー] に設定します。 |
ハードウェア実行
| モデル化条件 | 推奨アクション |
|---|---|
モデル コンフィギュレーション パラメーター [符号付き整数の除算の丸め] が [未定義] に設定されている。 | モデル コンフィギュレーション パラメーター [符号付き整数の除算の丸め] を [ゼロ方向] または [負方向] に設定します。 |
| モデル コンフィギュレーション パラメーター [算術シフトとして符号付き整数を右にシフト] が選択されている。 | モデル コンフィギュレーション パラメーター [算術シフトとして符号付き整数を右にシフト] をオフにします。 |
シミュレーション ターゲット
| モデル化条件 | 推奨アクション |
|---|---|
モデル コンフィギュレーション パラメーター [コンパイル時の MATLAB 関数の再帰限界値] が 0 以外の値に設定されている。 | モデル コンフィギュレーション パラメーター [コンパイル時の MATLAB 関数の再帰限界値] を 0 に設定します。 |
| モデル コンフィギュレーション パラメーター [MATLAB 関数での動的メモリ割り当て] が選択されている。 | モデル コンフィギュレーション パラメーター [MATLAB 関数での動的メモリ割り当て] をオフにします。 |
| モデル コンフィギュレーション パラメーター [MATLAB 関数の実行時再帰を有効にする] が選択されている。 | モデル コンフィギュレーション パラメーター [MATLAB 関数の実行時再帰を有効にする] をオフにします。 |
コード生成
| モデル化条件 | 推奨アクション |
|---|---|
次のパラメーターのいずれかが選択されている場合に、モデル コンフィギュレーション パラメーター [ビットフィールド宣言子の型指定子] が
| モデル コンフィギュレーション パラメーター [ビットフィールド宣言子の型指定子] を uint_T に設定します。 |
モデル コンフィギュレーション パラメーター [キャスト モード] が [標準準拠] に設定されていない。 | モデル コンフィギュレーション パラメーター [キャスト モード] を [標準準拠] に設定します。 |
モデル コンフィギュレーション パラメーター [コード置換ライブラリ] が [なし] または [AUTOSAR 4.x] に設定されていない。 | モデル コンフィギュレーション パラメーター [コード置換ライブラリ] を |
| モデル コンフィギュレーション パラメーター [エクスターナル モード] が選択されている。 | モデル コンフィギュレーション パラメーター [エクスターナル モード] をオフにします。 |
| モデル コンフィギュレーション パラメーター [共有定数の生成] が選択されている。 | モデル コンフィギュレーション パラメーター [共有定数の生成] をオフにします。詳細については、モデル コンフィギュレーション パラメーター: コード生成インターフェイスの GenerateSharedConstants を参照してください。 |
モデル コンフィギュレーション パラメーター [コメントを含める] がオフになっている。 | モデル コンフィギュレーション パラメーター [コメントを含める] を選択します。 |
| モデル コンフィギュレーション パラメーター [MAT ファイルのログ] が選択されている。 | モデル コンフィギュレーション パラメーター [MAT ファイルのログ] をオフにします。 |
| ERT ベースのターゲット システムで、コンフィギュレーション パラメーター [MATLAB ユーザー コメント] がオフになっている。 | モデル コンフィギュレーション パラメーター [MATLAB ユーザー コメント] を選択します。 |
| コンフィギュレーション パラメーター [識別子の最大の長さ] の値が指定されていない。 | 実装の制限に基づいて、モデル コンフィギュレーション パラメーター [識別子の最大の長さ] の値を設定します。既定値は 31 です。 |
モデル コンフィギュレーション パラメーター [かっこのレベル] が [標準 (標準準拠のためのかっこ)] または [最大 (かっこで優先度を指定)] に設定されていない。 | モデル コンフィギュレーション パラメーター [かっこのレベル] を [標準 (標準準拠のためのかっこ)] または [最大 (かっこで優先度を指定)] に設定します。 |
ERT ベースのターゲット システムで、[ファイル パッケージ化形式] が | モデル コンフィギュレーション パラメーター [関数宣言に static キーワードを保持] を選択します。 |
| モデル コンフィギュレーション パラメーター [2 のべき乗での乗算を符号付きのビット単位シフトに置換] が選択されている。 | モデル コンフィギュレーション パラメーター [2 のべき乗での乗算を符号付きのビット単位シフトに置換] をオフにします。 |
モデル コンフィギュレーション パラメーター [共有コードの配置] が [自動] に設定されている。 | モデル コンフィギュレーション パラメーター [共有コードの配置] を |
| ERT ベースのターゲット システムで、コンフィギュレーション パラメーター [連続時間のサポート] が選択されている。 | モデル コンフィギュレーション パラメーター [サポート: 連続時間] をオフにします。 |
| ERT ベースのターゲット システムで、コンフィギュレーション パラメーター [インラインでない S-Function のサポート] が選択されている。 | モデル コンフィギュレーション パラメーター [インラインでない S-Function のサポート] をオフにします。 |
| モデル コンフィギュレーション パラメーター [到達不能な場合、switch ステートメントの default ケースを生成しない] がオンである。 | モデル コンフィギュレーション パラメーター [到達不可能な場合、Stateflow switch ステートメントの default ケースを生成しない] をオフにします。 |
モデル コンフィギュレーション パラメーター [システム生成の識別子] が [クラシック] に設定されている。 | モデル コンフィギュレーション パラメーター [システム生成の識別子] を [短縮形] に設定します。 |
| モデル コンフィギュレーション パラメーター [システム ターゲット ファイル] が GRT ベースのターゲットに設定されている。 | モデル コンフィギュレーション パラメーター [システム ターゲット ファイル] を ERT ベースのターゲットに設定します。 |
モデル コンフィギュレーション パラメーター [コード インターフェイスのパッケージ化] が [再利用可能な関数] に設定されている場合に、コンフィギュレーション パラメーター [モデルの初期化に動的メモリ割り当てを使用] が選択されている。 | モデル コンフィギュレーション パラメーター [モデルの初期化に動的メモリ割り当てを使用] をオフにします。 |
パラメーター サブチェックは、結果テーブルで "D" が付いたパラメーターの結果によって異なります。結果のステータスが D-Warning の場合、結果テーブルの [現在の値] 列にはそのサブチェックに対して Prerequisite constraint not met と示されます。パラメーターの変更後、チェックを再実行します。
メモ
一部のサブチェックは ERT ベース システムのコンフィギュレーション パラメーターに固有です。モデルを ERT ベースのシステムに変更しない限り、[修正] ボタンを使用してもこれらのパラメーターは更新されません。
機能および制限事項
チェック結果の追加情報として、次のパラメーターの設定が表示されます。
参照モデルは確認されません。
モデルのコンパイルは必要ありません。
バージョン履歴
R2017b で導入
参考
トピック
- モデル アドバイザーを使用したモデルのチェック
- モデル チェック結果への対処
- モデル アドバイザー チェック レポートの保存と表示
- パフォーマンス アドバイザーを使用したシミュレーション パフォーマンスの改善
- アップグレード アドバイザーを使用したモデルのアップグレード
- モデル アドバイザー構成エディターを使用したモデル アドバイザーのカスタマイズ (Simulink Check)
- モデル アドバイザー チェックの解析対象からのブロックの除外 (Simulink Check)
- Justify Model Advisor Violations from Check Analysis (Simulink Check)
- 編集時チェックを使用したモデルの準拠性のチェック (Simulink Check)
- モデル アドバイザーを使用したモデルの準拠性のチェック (Simulink Check)
- MISRA C:2012 コーディング規約用のモデル アドバイザー チェック (Simulink Check)
- MISRA C
- MISRA C:2012 準拠の考慮事項