IAR EWARM 7.4 を使用しています
ここの指示に従いました: http://www.safetycritical.info/library/static/pc-lint/ewb-pclint-v2.pdf
--predef_macros コンパイラ オプションを使用して、コンパイラ定義でいっぱいのヘッダーを作成しました。
--predef_macros C:\lint\lnt\iar-ewarm-predefined_macros_for_PC-lint.h
iar-co-arm-v6.lnt に以下を追加しました。
//
// EWARM extended defines
//
-header(C:/lint/lnt/iar-ewarm-predefined_macros_for_PC-lint.h)
そのファイル内から大量の MISRA 違反について不満を漏らします。
編集:行を追加してみました
+libh(C:/lint/lnt/iar-ewarm-predefined_macros_for_PC-lint.h)
これにより、多くの MISRA 違反の多くが削減されますが、まだいくつかの違反が発生しています。
#define __CODE_MEMORY_LIST1__() __CODE_MEM_HELPER1__(__code, 0)
^
"LINT: C:\lint\lnt\iar-ewarm-predefined_macros_for_PC-lint.h (150, 9) Note 9026: Function-like macro, '__CODE_MEMORY_LIST1__', defined [MISRA 2012
Directive 4.9, advisory]"
#define __CODE_MEMORY_LIST2__(_P1) __CODE_MEM_HELPER2__(__code, 0, _P1)
^
"LINT: C:\lint\lnt\iar-ewarm-predefined_macros_for_PC-lint.h (151, 9) Note 9026: Function-like macro, '__CODE_MEMORY_LIST2__', defined [MISRA 2012
Directive 4.9, advisory]"