MicroBlaze リンカー オプション - 2022.1 日本語

Vitis 統合ソフトウェア プラットフォームの資料: エンベデッド ソフトウェア開発 (UG1400)

Document ID
UG1400
Release Date
2022-04-26
Version
2022.1 日本語

MicroBlaze ソフト プロセッサ用の mb-ld リンカーでは、GNU コンパイラでサポートされているオプションに加え、追加のオプションも導入されています。このセクションでは、これらのオプションについて説明します。

-defsym _TEXT_START_ADDR=value
デフォルトでは、出力コードのテキスト セクションはベース アドレス 0x0 から開始しますが、このオプションを使用すると、このデフォルトを変更できます。-defsym _TEXT_START_ADDR mb-gcc コンパイラの実行時にこのオプションを指定すると、出力コードのテキスト セクションは value で指定したアドレスから開始するようになります。

デフォルトの開始アドレスを使用する場合は、-defsym _TEXT_START_ADDR を設定する必要はありません。

これはリンカー オプションであり、リンカーを個別に実行する場合に使用します。リンカーを mb-gcc フローの一部として実行する場合は、次のオプションを使用してください。

-Wl,-defsym -Wl,_TEXT_START_ADDR=value
-relax
アセンブラーで生成された不要な imm 命令を削除するリンカー オプションです。アセンブラーでは、即値を算出できない命令があると、imm 命令が生成されます。ほとんどの場合、imm 命令は必要ありません。-relax オプションを使用すると、リンカーにより不要な imm 命令が削除されます。

このオプションは、リンカーを個別に実行した場合にのみ必要です。リンカーを mb-gcc の一部として実行する場合は、このオプションは自動的に指定されます。

-N
テキストおよびデータ セクションを読み出し/書き込み可能にします。データ セグメントはページ揃えされません。このオプションは、MicroBlaze プログラムにのみ必要です。リンカーを GCC コンパイラの一部として実行する場合は、このオプションが自動的に指定されます。リンカーを個別に実行する場合は、このオプションを指定する必要があります。

MicroBlaze リンカーでは、セクションをメモリに割り当てるためにリンカー スクリプトが使用されます。これらについては、次のセクションで説明します。