090126

|



昨日のロムモニタに戻ってこなかったのは、ユーザ側でかけた割り込みが入りっ
ぱなしになるからでした。NMIは今迄の感蝕、ユーザ側でいじれらた方がよさそ
うなので、ロムモニタに戻ってくるのはやめにしました。戻ってこれるように
するには割り込み要因をクリアするハンドラを用意しておかないといけない。

割り込みベクタのジャンプテーブルのオーバーライドのポリシーを決めるのも 無用な複雑になりそうだし。
オーバーレイのテストをはじめました。まずはフォントデータをロムモニタの .rodataを参照するようにしました。

ロムモニタは--retain-symbols-fileで指定したシンボルだけ外部参照できるよ
うにしておきます。

${LD} -T ${LDSCRIPT_ROM} --retain-symbols-file export_symbols \
	-o $@.elf ${OBJS} ${LIBS}

export_symbolsの中身はリーディングアンダースコアで。

_font_clR8x8_data

RAMに乗せるターゲットは

${LD} -T ${LDSCRIPT_RAM} -R ../ud01_monitor/ud01_monitor.rom.elf -o \
$@.elf ${OBJS} ${LIBS}

でロムモニタのシンボルを参照してコンパイル。

これで
00004416 A _font_clR8x8_data
00080000 W _ad_end
00080000 W _dmac0_a
のように参照される。
ただ、.dataに書き込むような関数は参照できないので、よく吟味しないとだめ ね。結構難しい。