PIC_coloをアップデートする方法を見つけた
PIC_coloのアップデートは、連携して動作する二つのプログラム(PIC_colo_ConsoleとPIC_colo_Debugger)の更新を意味します。PIC_colo_ConsoleはJAVAプログラムなので新しいプログラムファイル(jarファイル)を所定のフォルダに配置すればアップデート完了ですが、PIC_colo_Debuggerの方は新しいプログラムファイル(hexファイル)をPICに書き込む必要があります。PICkit3やPICプログラマがあれば、簡単な作業ですが・・・
PIC_coloは『PICkit3やPICプログラマを必要としない開発環境』を提供しようとしているのに、そのアップデートには『他の書き込み装置が必要』というのは、大変残念です。なんとか出来ないか?
つらつら考えて・・・ん!
『hexファイルを書き込む機能を持つユーザ・プログラムで0x0番地から0x0fff番地(PIC_colo_Debuggerが書き込まれている領域)を書き換える』という方法にたどり着きました。
PIC_colo_UpdateプログラムにPIC_colo_Debuggerが備える機能(シリアル通信やコマンド応答、プログラム書き込み機能等)を一通り組み込んで、PIC_colo_Updateプログラムが走っている間は割り込みを禁止して、PIC_colo_Debuggerのコードは実行しないようにして・・・
<PIC_colo_Debuggerの更新手順>
(1)PIC_colo_Debuggerを起動する(リセットが解除されれば起動する)
(2)PIC_colo_UpdateプログラムをLoadして走らせる
(3)新しいPIC_colo_Debuggerのhexファイルとelfファイルを指定する。
(再度Setupを完了する)
(4)新しいPIC_colo_DebuggerプログラムをLoadする
(0x0番地から0x0fff番地に書き込まれる)
(5)”Reset”コマンドを実行する
(新しいPIC_colo_Debuggerが走り出す)
0x1000番地以降にはPIC_colo_Updateプログラムが残っていますが、別のユーザ・プログラムをLoadしたときに上書きされるので、問題ありません。
どうやら上手く行きそうです。PIC_coloのリリースに向けて、大きなハードルを一つ飛び越えました。
パチパチパチ~