ホーム > ユーザーサポート > FAQ カバレッジマスターwinAMS

FAQ / カバレッジマスターwinAMS

マイコン固有の問題

114-03 : ARM リンカ(armlink)を使用している場合に、入出力変数に表示されない変数があります。どうすれば、表示されるようになりますか?

【質問】
マイコンが 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(未使用入力セクションを削除する) です。

 

関連サポート情報検索

【サポート情報サイト内Google検索】

検索キーワード: Cortex | ARMリンカ | スキャッタファイル

他のキーワード検索

 

参考情報・リンク