Everything
 

-rom


最適化リンケージエディタ(rlink)・オプション / 出力オプション

[指定形式]

-rom = <サブオプション>[,…]
       <サブオプション> : <ROMセクション名>=<RAMセクション名>

 

[詳細説明]

-

初期化データ領域のROM用、RAM用領域を確保し、ROMセクション内定義シンボルをRAMセクション内アドレスになるようリロケーションします。

-

ROMセクションには初期値のあるリロケータブルセクションを指定します。

-

RAMセクションには存在しないセクションまたはサイズ0のリロケータブルセクションを指定します。

-

ROMセクション名、RAMセクション名には、ワイルドカード記号'*'を使用することができます。【V3.06.00以降】

-

初期値のあるリロケータブル・セクション(ROM側セクション)の名前が、ROMセクション名のワイルドカード表現と一致する場合、RAMセクション名内のワイルドカード記号'*'の部分を、ROM側セクション名の中のワイルドカード記号'*'に一致する部分と置き換えて、RAM側セクションの名前として処理します。

例)

ROM側セクションがD、D_1、D_2の3つあるとき、-rom=D*=R*と指定すると、R、R_1、R_2の3つのRAM側セクションが生成されます。

置換後のRAM側セクション名は、-startオプションなどで適切に対応する必要があります。

-

ワイルドカード記号'*'は複数個指定できますが、ROMsectionRAMsectionで個数が一致している必要があります。

例)

-rom=D*=R*       # 問題なし
-rom=D*=*R*      # RAMsection側のワイルドカード記号が多すぎるのでエラー

-

置換によってできたセクション名と同名のセクションがすでにあった場合は、エラーになります。

[例]

rom=D=R
start=D/100,R/8000

-

Dセクションと同サイズのRセクションを確保し、Dセクション内定義シンボルをRセクション上のアドレスでリロケーションします。

[備考]

-

form={object | relocate | library}またはstrip指定時、本オプションは無効です。