ささのです。
組み込みOS本にあったH8/3069向けKOZOSを、H8/3664向けに移植してみました。
H8/3069よりもROM, RAMの容量が小さいため、載るかどうかの調査が目的です。
以下のような修正をオリジナルに対して加えています。
詳細は、diffで比較して見てください。
- ブートローダ無し、OS本体のみ
- 割り込みエントリ(vector.c, intr.S)をブートローダから移植
- メモリ配置、シリアルドライバはH8/3664向けに変更
- 変数はlong型を使用せず、全てint(16bit)に修正
- ディスパッチャ等はH8/300向けに修正
- メモリの使用量を抑えるため、THREAD_NUM, kzmem_poolおよび
main.cから呼び出すkz_run()のスタックサイズを修正
- テスト用に、RAM(2kbyte)の全内容を表示するためのdumpコマンドを追加
- テスト用に、メモリ全域を0xdeadで埋めるコードを追加
- その他いろいろ
H8/3664はH8/300Hシリーズのプロセッサですが、この実験ではH8/300として
使用しています(ただし、TRAPA命令だけはしっかり使います)。
32bitレジスタの使用により、コードサイズ及び消費メモリ量が増えるので
敢えて16bit縛りにするというのが理由です。
コードは以下のURLに一時的に置いておきます。
そのうち別の場所に移すかもしれません。
http://www.uaa.org.uk/temp/kozos-h83664-20100912.tar.gz
採取したメモリのダンプも置いておきます。
http://www.uaa.org.uk/temp/memory.log
遊んでいただければ幸いです。
----
SASANO Takayoshi (JG1UAA/@uaa) [
http://www.uaa.org.uk]
<
u...@uaa.org.uk>