Arduinoの様にPC側のブートローダーがIDEと連携できていないため、少し面倒かなと思いましたが。。。
ブートローダをそのものをチップに書き込むとき以外は、PICkit2を全く使わなくなりました。きわめて快適です。:-)
USBインターフェースを内蔵したPIC18を利用した以下のボードのUSBブートローダーのご提供を開始しました。
USBブートローダーを利用するとPICkit2/3などのプログラムライタを利用しなくても、USB接続を通じてPIC18チップへのプログラム書き込みを行うことができる様になります。(ブートローダーそのもののチップへの書き込みにはプログラムライタが必要だけどね。。。X-P)
USBブートローダー:HIDBootLoader.exeの画面
パッケージのはすぐにチップに書き込めるHEXファイルと、ソースファイルが含まれています。
一般的には、USBブートローダーを利用するためには、プログラムをUSBブートローダーに対応した方法で作成する必要があります。しかしながら、PICSYS18を利用すれば、ブートローダに対応したプログラムの記述などは、PICSYSフレームワークに組み込まれているため、利用者が特に意識する必要はありません。
なお、PICSYS18を利用せずにブートローダーに対応したプログラムを作成するためには、以下のような配慮が必要です。
USBブートローダーを書き込んだボードでも、電源を立ち上げたりリセットしても通常のプログラムが起動します。ボードのブートローダーを起動するためには、以下の手順を実施します。
ブートローダー起動用のスイッチは、以下の通りです。
USBブートローダーを利用したプログラムの書き込み法は以下の通りです。
HIDBootLoader.exeの起動画面
PICSYS18ボードのブートローダを起動するとそれが検知されて、HIDBootLoaderの画面は次のように変わります。
PICSYS18ボードのUSBブートローダーを起動したときの画面
活性化された[Open Hex File]ボタンをクリックすると、ファイルダイアログが出てきますので、ボードに書き込むHEXファイルを選択します。
ボードに書き込むHEXファイルを読み込んだ画面
HEXファイルを読み込むと、[Program/Verify]ボタンが活性化されますので、それをクリックすると、ボードにプログラムの書き込みが行われ、その経過がプログレスバーとウィンドウ下部の表示領域に表示されます。
プログラムの書き込みを行った画面
プログラムの書き込みが成功したならば、[Reset Device]ボタンを押すか、ボードのリセットボタンを直接押すなどしてボードを再スタートさせると、ブートローダーで書き込んだプログラムが実行されます。
ボードをリセットしブートローダーが解除された画面
ボードが通常のプログラムを実行し始めると、ブートローダーの接続は解除され、上記の画面の様にウィンドウ全体が非活性化されます。また、ボードのブートローダーを起動すると、それが検知されて、次のプログラム書き込み作業に移ることができるので、プログラムの開発・テスト時には、実行させっぱなしで利用すると良いでしょう。
USBブートローダーの開発に当たっては、Microchip社の以下のツール・ライブラリを利用しています。
コードの修正、再コンパイルなどを行う際には、該当のツール・ライブラリ等を入手の上ご利用ください。