この項では,ROM化用ロード・モジュールの作成手順について説明します。
ROM化には最適化リンカの-romオプションを使用します。次のように記述します。
また,初期値データセクション,初期化先セクションのアドレスをそれぞれ-startオプションで指定する必要があります。
-start=[(]セクション名[{:|,}セクション名]...[)][{:|,}セクション名]...[/配置先アドレス][,[(]セクション名[{:|,}セクション名]...[)][{:|,}セクション名]...[/配置先アドレス]]... |
たとえば,プログラム中に.text,.data,.zdata,.zbss,.bss,.sdata,.sbssの7つのセクションがあり,それぞれを実行時に.textセクションは0x0番地,r0相対セクションは0xFE000000番地,r4相対セクションは0xFE001000番地に配置したい場合,次のように記述します。
-start=.text,.data,.zdata,.sdata/0 -start=.data.R,.zdata.R,.zbss,.bss/fe000000 -start=.sdata.R,.sbss/fe001000 -rom=.data=.data.R,.zdata=.zdata.R,.sdata=.sdata.R |
このように記述すると,.data,.zdataは0x0番地の.textセクションの次に配置されます。
実行時には,0xFE000000番地の.data.R,.zdata.R,.zbss,.bss,0xFE001000番地の.sdata.R,.bssを初期化して使用します。