メインコンテンツ

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

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 のブロックの出力][なし] に設定され、[非有限数のサポート][オフ] に設定されている。

[サポート: 非有限数][オン] に設定されている場合、[Inf または NaN のブロックの出力][警告] に設定します。

[サポート: 非有限数][オフ] に設定されている場合、[Inf または NaN のブロックの出力][警告] または [エラー] に設定します。

モデル コンフィギュレーション パラメーター [Model Verification ブロックを有効にする][ローカル設定を使用] または [すべて有効] に設定されている。モデル コンフィギュレーション パラメーター [Model Verification ブロックを有効にする][すべて無効] に設定します。
モデル コンフィギュレーション パラメーター [指示のないイベント ブロードキャスト][なし] または [警告] に設定されている。モデル コンフィギュレーション パラメーター [指示のないイベント ブロードキャスト][エラー] に設定します。
モデル コンフィギュレーション パラメーター [オーバーフロー時にラップ][なし] に設定されている。モデル コンフィギュレーション パラメーター [オーバーフロー時にラップ][警告] または [エラー] に設定します。

ハードウェア実行

モデル化条件推奨アクション
モデル コンフィギュレーション パラメーター [符号付き整数の除算の丸め][未定義] に設定されている。モデル コンフィギュレーション パラメーター [符号付き整数の除算の丸め][ゼロ方向] または [負方向] に設定します。
モデル コンフィギュレーション パラメーター [算術シフトとして符号付き整数を右にシフト] が選択されている。モデル コンフィギュレーション パラメーター [算術シフトとして符号付き整数を右にシフト] をオフにします。

シミュレーション ターゲット

モデル化条件推奨アクション
モデル コンフィギュレーション パラメーター [コンパイル時の MATLAB 関数の再帰限界値]0 以外の値に設定されている。モデル コンフィギュレーション パラメーター [コンパイル時の MATLAB 関数の再帰限界値]0 に設定します。
モデル コンフィギュレーション パラメーター [MATLAB 関数での動的メモリ割り当て] が選択されている。モデル コンフィギュレーション パラメーター [MATLAB 関数での動的メモリ割り当て] をオフにします。
モデル コンフィギュレーション パラメーター [MATLAB 関数の実行時再帰を有効にする] が選択されている。モデル コンフィギュレーション パラメーター [MATLAB 関数の実行時再帰を有効にする] をオフにします。

コード生成

モデル化条件推奨アクション

次のパラメーターのいずれかが選択されている場合に、モデル コンフィギュレーション パラメーター [ビットフィールド宣言子の型指定子]uchar_T に設定されている:

  • boolean データをビットフィールドにパッキング

  • ステート構成を保存するためにビットセットを使用

  • boolean データを保存するためにビットセットを使用

モデル コンフィギュレーション パラメーター [ビットフィールド宣言子の型指定子]uint_T に設定します。
モデル コンフィギュレーション パラメーター [キャスト モード][標準準拠] に設定されていない。モデル コンフィギュレーション パラメーター [キャスト モード][標準準拠] に設定します。
モデル コンフィギュレーション パラメーター [コード置換ライブラリ][なし] または [AUTOSAR 4.x] に設定されていない。

モデル コンフィギュレーション パラメーター [コード置換ライブラリ][なし] または [AUTOSAR 4.x] に設定します。

モデル コンフィギュレーション パラメーター [エクスターナル モード] が選択されている。モデル コンフィギュレーション パラメーター [エクスターナル モード] をオフにします。
モデル コンフィギュレーション パラメーター [共有定数の生成] が選択されている。モデル コンフィギュレーション パラメーター [共有定数の生成] をオフにします。詳細については、モデル コンフィギュレーション パラメーター: コード生成インターフェイスGenerateSharedConstants を参照してください。

モデル コンフィギュレーション パラメーター [コメントを含める] がオフになっている。

モデル コンフィギュレーション パラメーター [コメントを含める] を選択します。
モデル コンフィギュレーション パラメーター [MAT ファイルのログ] が選択されている。

モデル コンフィギュレーション パラメーター [MAT ファイルのログ] をオフにします。

ERT ベースのターゲット システムで、コンフィギュレーション パラメーター [MATLAB ユーザー コメント] がオフになっている。モデル コンフィギュレーション パラメーター [MATLAB ユーザー コメント] を選択します。
コンフィギュレーション パラメーター [識別子の最大の長さ] の値が指定されていない。実装の制限に基づいて、モデル コンフィギュレーション パラメーター [識別子の最大の長さ] の値を設定します。既定値は 31 です。
モデル コンフィギュレーション パラメーター [かっこのレベル][標準 (標準準拠のためのかっこ)] または [最大 (かっこで優先度を指定)] に設定されていない。モデル コンフィギュレーション パラメーター [かっこのレベル][標準 (標準準拠のためのかっこ)] または [最大 (かっこで優先度を指定)] に設定します。

ERT ベースのターゲット システムで、[ファイル パッケージ化形式][コンパクト] または [コンパクト (別々のデータ ファイル)] に設定されている場合に、コンフィギュレーション パラメーター [関数宣言に static キーワードを保持] がオフになっている。

モデル コンフィギュレーション パラメーター [関数宣言に 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 で導入