ram0にユーザーアプリをシリアル等で転送して、実行! 070204 再更新

メーリングリストにUPされましたローダープログラム(H8/3069F専用)を試させていただきました。

手順
1.H8転送プログラム (fload.elf と命名)を再コンパイルしておきます。
2.フリーウェアのTeraTermProとマクロファイルを用意します。 
  floadおよびマクロファイル(mes_1.ttl)はココ
.マクロファイル(mes_1.ttl)はTERATERMPROのフォルダにコピーしておきます。
4.H8マイコンへの実装方法でap1.elfの替わりにfload.elfを入れて、フラッシュROMに書き込みます


ここまでで準備完了。(以降、5,6の繰り返しで転送と実行ができるようになります。)

5.TeraTermProを起動します。設定メモ

6.手打ちで以下のようにすると、ap1.elfファイルが転送されて、test.elfとして起動できます。

MES>fload.elf test.elf    fload.elfがxmodemで送られてくるファイルをtest.elfというファイル名で保存する。

Teratermproのメニューより、ファイル転送−xmodem(バイナリファイル)で自前のap1.elfを転送する。(手早くやらないと通信が途中で止まりますので、始めの一回は手でやるのは難しいかも)

MES>test.elf 実行


・転送ファイルはelfでなくても、テキストでもデータファイルでも良さそうです。
・送ったファイルはカレントディレクトリに保存されるので、SDカードにカレントディレクトリを移動していれば、SDカードに転送することも出来ました。SDカードにfload.elfを入れておいて、転送しても良いでしょう。


作業を自動化するためにマクロ(mes_1.ttl)を用意しました。TeraTermProから起動します。
マクロの文法はTeraTermProのヘルプを見てください。
このファイルの赤字部分を編集して使うのが楽です、

; MES XMODEM filesend & execute
;
send 'fload.elf '
pause 1
sendln 'test.elf'
pause 1
xmodemsend 'C:\wingcc\app\h8\project\project1.elf' 1
pause 1
sendln 'test.elf'




sh7709,sh7706でもソースを変更して、使っています。
SH3のSCIFは16バイトまでのFIFOを持っていますが、ANK17文字以上をsendマクロで送るとコケます(*_*)
pause 1などを入れて、工夫しましょ!061212

AlphaProject SH7709SボードでもMES2が起動しています。