ホーム > ユーザーサポート > FAQ カバレッジマスターwinAMS
【質問】
IAR社製コンパイラを利用している開発環境のソースをCasePlayer2で解析しています。
FAQ[D01_01]を参照して、Cオプションパラメータなどの設定をしていますが、解析エラーが解決しません。
コンパイラの設定情報を利用して、効率的にCasePlayer2の設定を行う方法について教えてください。
【回答】
CasePlayer2で詳細解析するには、「言語仕様の選択」「プリプロセッサの設定」「Cオプションパラメータの設定」が必要になります。
IAR社製コンパイラの設定や定義済みマクロを利用する事で、効率的にCasePlayer2の解析設定を行う事が可能です。
下記の設定を行っても解決しないエラーに関しては、手動で設定する必要があります。
■CasePlayer2の「Cの言語仕様」設定について
CasePlayer2の解析言語設定は、「ANSI-C」「GNU-C」「C99」があります。IAR Embedded Workbench(※)の設定を参考にして下さい。
※「プロジェクト」-「オプション」-「C/C++コンパイラ」-「言語1」タブの「Cの派生言語」を参照して下さい。
1.「Cの派生言語」がC89の場合は、CasePlayer2の「Cの言語仕様」には、「ANSI-C」を設定して下さい。
2.「Cの派生言語」がC99の場合は、CasePlayer2の「Cの言語仕様」には、「GNU-C」を設定して下さい。
■IAR社製コンパイラの定義済みマクロの取り込みについて
1.IAR Embedded Workbenchでオプション設定後に再ビルドして「定義済みマクロ一覧」を出力します。
「プロジェクト」- 「オプション」-「C/C++コンパイラ」-「追加オプション」タブを開き、コマンドラインオプションの使用にチェックを入れ、コマンドラインオプションのところに、
--predef_macros gaio_macro
※"gaio_macro"は、任意の名称で問題ありません。
と入力してOKをクリックした後、ビルドを実施する事で、Outputフォルダにgaio_macro.predefが出力されます。
★注意★ 上記再ビルドの際に「エラー[Ms003]: could not open file "gaio_macro.predef" for writing」というエラーメッセージが出力されることがあります。これはIAR Embedded Workbenchが複数のソースファイルを別スレッドで並行してコンパイルするために、ファイルへの書き込みの競合が発生していることによるものです。この場合下図のように、1個のソースファイルのみを「コンパイル」することによって回避可能です(単一ソースのコンパイルで"gaio_macro.predef"は生成されます)。
2.上記の「定義済みマクロ一覧」をCasePlayer2の「設定」タブの「プリプロセッサ」の設定にて、下図のように「プレインクルード」に指定して下さい。ソースコードに#include記述を追加する必要はありません。プレインクルードに設定したヘッダファイルは、全てのソースの解析時に最初に読み込まれ、解析に使用されます。
【補足情報】
CasePlayer2の詳細解析を行う為には、ご利用のコンパイラの設定内容と同等の設定を行う必要があります。
詳細は下記のFAQをご覧ください。