このプログラムは京大機械研究会内で開発された H8/3069用のモニタです。
パソコンからユーザープログラムをRAM上に取り込んで実行する基本機能の他に、主にロボコンでのロボット製作を支援する様々な機能があります。
このプログラムは現在テスト段階です。まだ多くのバグが残っている可能性がありますが御了承下さい。
News
- 外部EEPROM使用時に、EEPROM操作ルーチンがP4DDRの値を出力方向に書き換える危険な挙動があったので、デフォルトの使用ポートを害の少ないPORT9に変更しました。(2004/5/3)
- 秋月のH8/3069ボードについてくる開発環境に含まれるリンカが、サンプルプログラムのリンク中にSignal 11で死ぬそうです。binutils-2.14をコンパイルしてリンカを差し替えると解決するとのことです。(2004/2/4)
Features
- 標準関数用のスタブを持つので、ユーザープログラムで殆んど全ての標準関数(printf,scanf,sin,cos,asin,acos,strcmp,etc.)が使えます。入出力はシリアルポートに対して行なわれます。ただしファイル関連の関数(fopen等)は常にエラーを返します。またrand()はリンク時にエラーを出します。(これはH8用のlibgccがlong long intの演算をサポートしていない為な気がします。)
- 使用頻度が高いと思われる標準関数が予めモニタにリンクされるので、ユーザープログラムで標準関数が使われてもユーザープログラムのサイズは殆んど変化しません。
- sbrkは大容量のDRAMからメモリを確保するように実装されているので、標準関数が十分に動作します。
- printf/scanf等の他にhprintf,hgetstr,hputc,hgetcなどのより単純で高速な入出力関数を備えています。
- ログ機能があるので、物理的に端末に接続できないロボットのデバッグに重宝します。
- NMIを利用したリセット/GOスイッチがあります。
- 外部接続されたシリアルEEPROM(24C1024)をサポートし、以下のような機能が利用できます。
- 書き込み・読み出しをする為の関数群
- パソコンから転送したプログラムを圧縮して書き込む機能
- 起動時に、EEPROMに書き込まれたプログラムを自動的に展開してRAM上に展開し実行可能な状態にする機能。
Screenshot
Download
- monitor-1.2.1-3069.tar.gz(H8monitorのソースファイル)
コンパイルには別途ルネサスから3069S.Hを入手し、若干改造する必要があります。詳しくは別ドキュメントを参照。
- samples-0.1.tar.gz(ユーザープログラムのサンプル)
秋月のH8/3069ボードについてくる開発環境に含まれるリンカが、サンプルプログラムのリンク中にSignal 11で死ぬそうです。binutils-2.14をコンパイルしてリンカを差し替えると解決するとのことです。(2004/2/4)
Documents
結構不親切なドキュメントがたくさんあります。まだモニタ本体の変更が激しいので、現状に即していない情報がある可能性があります。
Responsibility
このプログラムを使用は自己責任でお願いします。このプログラムによって生じたいかなる損害についても責任を負うことは出来ません。
Contact
このプログラムの開発は京大機械研内の有志によって行なわれています。
現在(2003/12)、主に開発を行なっているのは丸田一郎<yacc03ff@yahoo.co.jp>です。
何らかの理由で製作者と連絡を取りたい場合は、京大機械研究会のホームページの掲示板、もしくはメールを御利用下さい。
バグレポートは大歓迎ですが、バグが修正される保証は出来ません(^^;
本人の忙しさ加減によっては返信が来なかったりするかも知れませんが御了承下さい。