denshikobo’s blog

PICプログラミングやPCの操作で感じた日々の由無し事を綴ります

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のリリースに向けて、大きなハードルを一つ飛び越えました。

パチパチパチ~