ホーム > ユーザーサポート > FAQ カバレッジマスターwinAMS
【質問】
マイコンが Cortex-A5/A7/A8/A9/A12/A15、Cortex-R4/R4F/R5/R5F、Cortex-M0/M0+/M1、Cortex-M3、Cortex-M4で、ARM リンカ(armlink)を使用している場合に、カバレッジマスターの変数一覧、入力・出力変数に一部の変数が表示されない事があります。どうすれば、表示されるようになりますか?
【回答】
ARM リンカ(armlink)で、スキャッタファイル(*.sct/*.scat)を利用している場合、ARM リンカのデフォルト仕様により、R/Wデータ領域が圧縮されます。カバレッジマスターでは、この圧縮された初期値データ/デバック情報は扱えない為に、変数が表示されません。
回避方法は以下の通りです。
(1)スキャッタファイルを利用している場合(--scatter=file)、スキャッタファイルに非圧縮設定(NOCOMPRESS)をして、再度コンパイル・リンクしたオブジェクトを利用してください。
※スキャッタファイルを未使用にしても対応可能です
(参考:ARM社WEBページ) ARM コンパイラツールチェーン リンカリファレンス
■スキャッタファイルイメージ SDRAM 0x00000000 NOCOMPRESS { APP_CODE +0 { * (VECTORS, +FIRST) * (+RO-CODE) * (+RO-DATA) } APP_DATA +0 { * (+RW, +ZI) } }
(2)上記が該当しない場合は、リンカーオプションに「--datacompressor=off」を指定してください。
※デフォルトは --datacompressor=on です。
※「--datacompressor=off」とNOCOMPRESSを指定していないスキャッタファイルを併用している場合、スキャッタファイルの設定が優先されます。
(3)上記が該当しない場合は、リンカーオプションの「--compress_debug」を解除してください。
※デフォルトは --no_compress_debug です。
(4)上記が該当しない場合は、リンカーオプションに「--no_remove」を指定してください。
※デフォルトは --remove(未使用入力セクションを削除する) です。