よくある質問(FAQ)

【IARコンパイラ】OMF変換で「入力ファイルをオープンできませんでした」エラーが発生します。

OMF変換について

質問

【IARコンパイラ 固有】
IAR社製コンパイラを使用しています。作成したオブジェクトファイルをOMF変換すると「入力ファイルをオープンできませんでした」エラーが発生してOMF変換できません。考えられる原因を教えてください。

変換を始めます。
初期化中...
Error!! [init] 入力ファイルをオープンできませんでした。 ( *****.out )
処理を終了しています...
変換できませんでした。

回答

本エラーは、オブジェクトファイル内の「デバッグ情報」が未対応のフォーマットであるために発生しています。カバレッジマスターwinAMSがサポートしているデバッグ情報のフォーマットについては、下記ページ内の「オブジェクト形式」の欄をご参照ください。

■回避策
コンパイラの設定等で「デバッグ情報」の出力を切り替えられる場合は、カバレッジマスターwinAMSが対応しているフォーマットへ変更のうえ、再度コンパイル(オブジェクトファイルの作成)を行ってください。※対応するフォーマットへの切り替えができない場合は、カバレッジマスターwinAMSでご利用いただけません。

■ IARコンパイラ (V8.*) の事例
IARコンパイラ(V8.*)のデフォルト設定では、「DWARF4 (Dwarf Ver.4)」 のデバッグ情報が生成されるため、そのままではOMF変換に失敗します。このエラーを回避するには、下図のようにコンパイラオプションへ「--no_dwarf4」を追加し、リビルドを行ってください。

★注意事項

(1) ビルド時にライブラリをリンクされている場合
ライブラリに未対応フォーマットのデバッグ情報が付加されている場合、生成されるオブジェクトファイルも非対応になってしまいますのでご注意ください。
多くのライブラリはデバッグ情報なしで提供されていますが、念のため、ご利用中のライブラリのマニュアル等をご確認いただけますようお願いいたします。

(2)「--no_dwarf4」オプション未対応のケース
RL78用のコンパイラにおいては、特定のバージョン以降「--no_dwarf4」オプションに対応していないことが確認されております。
この場合、回避策としては下記のいずれかの方法となります。

・「--no_dwarf4」オプションに対応しているコンパイラバージョンにバージョンダウンする。
・「カバレッジマスターゼネラル」をご利用いただく。