Everything

-ROm


ROMからRAMへマップするセクションを指定します。

[指定形式]

-ROm=ROMsection=RAMsection[,ROMsection=RAMsection]...

 

-

省略時解釈

なし

[詳細説明]

-

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

-

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

-

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

-

ROMsection,RAMsectionには,ワイルドカード記号'*'を使用することができます。【V1.13以降】

-

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

例)

ROM側セクションが.data,.data_1,.sdata,.sdata_1の4つあるとき,-rom=*data*=*data*_Rと指定すると,.data_R,.data_1_R,.sdata_R,.sdata_1_Rの4つのRAM側セクションが生成されます。

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

-

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

例)

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

-

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

[使用例]

-

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

>rlink a.obj b.obj -rom=.data=.data.R -start=.data/100,.data.R/FAF00

[備考]

-

本オプションは,-form={object|relocate|library}オプション,-stripオプション,または-extractオプションを指定した場合は無効となります。