:MISRA:揮発性オブジェクトへのポインタと整数型の間をキャストしますか?私は、コードセクションを以下している
----------header---------------------
typedef volatile struct REG_Base{
a;
b;
}REG_t
#define address (0xFFF45556)
------------------------------------
--------Source-----------------------
LOCAL REG_t *pToREG;
pToREG= (REG_t *) address;
-------------------------------------
私は最後の行に「揮発性オブジェクトへのポインタと整数型間キャスト」MISRAメッセージが表示されました。
このメッセージを避けるにはどうすればよいですか?
Thx!
volateオブジェクトへのポインタと整数型の間にキャストしないでください。私はMISRAにあまり慣れていませんが、おそらくあなたはそれが許さないものをやっています。 –
注:1) 'LOCAL'の定義を後にします。2)' typedef'の 'volatile'、IMOを削除します。そして、必要に応じて明示的に 'volatile'を使います。おそらく 'pToREG =(揮発性のREG_t *)アドレス;'が動作します。 – chux
この構造体は、有効なCのようには見えません。 'a;'と 'b;'、醜いマクロとは何ですか? – Lundin