090209

|


3664Tips。
  • 外部割り込み(IRQ0-3)など、PMR(ポートモードレジスタ)を設定する場合、 PMRを設定して、最低でも一命令(nopでいい)経ってから割り込みステータスを クリアしないと迷い込み割込み(spurious)が入る時がある。
  • 16MHzの場合なんとか57600bpsまでいける。115200bpsはどうあがいても無理。

3664用のモニタ(SRECローダ)まで書きました。モニタはスタックに128byte,デー タセクションとBSSに128byteまでで。RAMの一番てっぺんに配置。スレッドは使 えない。
ここからロードされるプログラムはオーバーレイで。割り込みは使えない。ス タックはモニタの.dataの真下から。使い方的にはシェルコマンドをモニタに登 録したらそのままモニタにリターン。そのコマンドをモニタから起動する。
これでprintfとシェルをモニタに押しこめたので、そこそこ使えそう。

$ tip hmon57600
connected
stack_start: 0xff80
ROM data: 0x12a8-0x12c4
RAM data: 0xfe00-0xfe1c 28byte
bss: 0xfe1c-0xfe7a 94byte
NMI return address|CCR: 80000130
H8/3664 Monitor Build Feb  9 2009 23:02:08
>> test 34 ohayo
>> l
~>Local file name? tiny_process.mot
84 lines transferred in 1 second 
!
Read 1717 byte. success
Start address: 0xf844
stack_start: 0xfe00
ROM data: 0xfa1c-0xfa22
RAM data: 0xfa1c-0xfa22 6byte
bss: 0xfa22-0xfa22 0byte
NMI return address|CCR: f85c
Process mode.
board_main
done.
>>   ここで元のモニタのシェルに戻ってきています。
>> test 19 ohayo   これはロードしたプログラムから登録されたコマンド。
0: test
1: 19
2: ohayo
>> 
これでH8/Tiny開発環境もかなり整ってきた。