ROM 化

ROM 化するプログラムでは、コードやデータの位置を自由に制御したい場合があります。この場合は、コードやデータが所属するセグメントの位置を指定するリンカ オプション /S を使用します。必要ならば、-segn#pragma segment を使って個々のデータの所属先セグメントを変更できます。

リンカ オプション /S で DGROUP 所属セグメント (dseg、kseg、sseg、bseg) の位置を指定する場合は、DGROUP の範囲が 64 KB を超えないように注意してください (超えるとリンク時に警告されます)。

「kseg を ROM 領域に、その他を RAM 領域に配置したいが、ROM 領域と RAM 領域が離れている」場合は、kseg も RAM 領域に配置しておき、スタートアップ ルーチンで最初に必要なデータを ROM から RAM に転送する方法があります。