[H8奮闘記 H8/3048FにBootLoaderを焼き込む(その2)]

作成したプログラムを SRAM上にロードして実行するファームウェアを作成しました。

ダウンロード

BIOSフォルダ ... ファームウェアのソースとビルド済み MOTファイル
BIOSTESTフォルダ ... 実際にダウンロードして SRAM上で動作可能なファームウェア

BIOS.MOT を H8/3048F に焼き込みます。SRAMボードに H8/3048F を移し、PCと RS-232Cで
接続します。PC は Tera Term Pro などのターミナルを起動しておいてください。
H8 の電源を入れると、液晶とターミナルに起動メッセージが表示され、コマンド入力待ち
になります。

ここで、M を押してください。液晶に「MOT RECEIVING ...」と表示されます。
次に、ターミナルから biostest.mot を送信してください。液晶に受け取った行数が表示
されます。biostest.mot の場合、行数を 32 までカウントすると、自動的に実行されます。

実行結果は、次のようになります。


BIOS.MOT には、MOTファイルを入力する以外にも次の機能があります。
いずれも、「CMD>」のプロンプトの時に入力を受け付けます。

R ... メモリ1バイト読み込みコマンド
W ... メモリ1バイト書き込みコマンド
D ... メモリ256バイトダンプコマンド

D コマンドのメモリダンプは量が多いので、ターミナルにのみ出力します。

トラブル対策
うまく動かない場合は、配線等に何らかのミスがあると思われます。
ある程度動作する場合は、R, W, D コマンドを駆使すると原因を突き止められる場合が
あります。

実際に、私の場合は A5 が接触不良になっていました。
(これを見つけるために R, W, D を追加したわけです (^^; )
MOT ファイル入力処理は、S7, S8, S9 で始まる行を削除しておけば、メモリへロードする
だけになります。ロード終了後に、ESCを押せば CMD> へ戻ってきますので、そこで D コマ
ンドにて 200000番地以降をダンプしてみます。
すると、200000から 16byte と、200020から 16byte が全く同じ内容。同様に 2000010〜と、
200030〜が同じでした。このアドレスの違いは A5 ビットのみです。
念のため、再度確認のために W コマンドで、200020番地に 12 を書き込むと、200000番地も
12 に書き換わりました。200000番地に 34を書き込むと、200020番地も 34に書き換わりました。
ということで、A5 が接触不良と判断。H8 を取り外し導通テストをすると、A5 が確かに不通に
なっていました。
最初のテスト時にはちゃんと動いていたので、いろいろデバッグなどしているうちに不通に
なったんでしょうね。そのうちちゃんとハンダ付けし直さなければなぁと思いつつ、応急処置
を施して、再度動作確認。今度はうまく動きました。

[前へ][▲上へ][次へ]