オーバーラン・フェッチに伴う未初期化領域の読み出しを回避します。
各ROMセクションの直後に128バイト以上の空き領域が存在する場合,そのROMセクションを読み出す際に,未初期化のコード・フラッシュ領域をプリフェッチする可能性があるため,空き領域に対して128バイト分のNOP命令を挿入します。 |
128バイトは,マイコンごとのプリフェッチのサイズに依存しない目安の値です。コード・フラッシュ領域の書き込み単位が256バイトであることから,後続するセクションとの間が128バイト未満である場合は未初期化領域が発生しないため,NOP命令の挿入を行いません。 |
NOP命令の挿入は-startオプションの配置に従って挿入し,挿入する直前のセクション名に対して以下のセクション名で出力します。
ROMセクション(実行可能なプログラム・セクション,またはプログラム・セクション以外のROM領域配置セクション)とROMセクション,およびROMセクションとRAMセクション(RAM領域配置セクション)の間に128バイト以上の空き領域が存在する場合にNOP命令を挿入します。 |
ROMセクションとRAMセクションは,ROMセクションより大きいアドレスにRAMセクションが配置された場合に限り,NOP命令を挿入します(ROMセクションより小さいアドレスにRAMセクションが配置された場合はNOP命令を挿入しません)。 |
-start=A,B,E/400,C,D:F:G/8000オプションを指定した場合,オーバーレイ配置指定を含むセクションC,D,F,およびGに対するセクション間,および終端コード・セクションに対して,NOP命令の挿入を行いません。 |