You are here

PIC18-USBブートローダー

Arduinoの様にPC側のブートローダーがIDEと連携できていないため、少し面倒かなと思いましたが。。。

ブートローダをそのものをチップに書き込むとき以外は、PICkit2を全く使わなくなりました。きわめて快適です。:-)


○ 対応ボード

USBインターフェースを内蔵したPIC18を利用した以下のボードのUSBブートローダーのご提供を開始しました。

USBブートローダーを利用するとPICkit2/3などのプログラムライタを利用しなくても、USB接続を通じてPIC18チップへのプログラム書き込みを行うことができる様になります。(ブートローダーそのもののチップへの書き込みにはプログラムライタが必要だけどね。。。X-P)

USBブートローダー:HIDBootLoader.exeの画面

パッケージのはすぐにチップに書き込めるHEXファイルと、ソースファイルが含まれています。


○ USBブートローダー対応プログラミング

一般的には、USBブートローダーを利用するためには、プログラムをUSBブートローダーに対応した方法で作成する必要があります。しかしながら、PICSYS18を利用すれば、ブートローダに対応したプログラムの記述などは、PICSYSフレームワークに組み込まれているため、利用者が特に意識する必要はありません。

なお、PICSYS18を利用せずにブートローダーに対応したプログラムを作成するためには、以下のような配慮が必要です。

  • プログラムをUSBブートローダに対応した構成(割り込みベクタの配置など)で作成する
  • リンク時にUSBブートローダーに対応したリンカースクリプトを利用する

○ USBブートローダーの起動法

USBブートローダーを書き込んだボードでも、電源を立ち上げたりリセットしても通常のプログラムが起動します。ボードのブートローダーを起動するためには、以下の手順を実施します。

  • リセットボタンを押したままにする
  • ブートローダー起動用に割り当てられたスイッチを押したままにする
  • リセットボタンを放す
  • ブートローダー起動用ボタンを放す

ブートローダー起動用のスイッチは、以下の通りです。

  • PICSYS18-SP:ボード右下のSW2
  • PICSYS18-XBEE:ボード右下のSW5
  • PIC18F-MOD-2553:ボード左上のSW2
  • PIC18-DEV-2550URL:ボード右下のSW2

○ プログラムの書き込み

USBブートローダーを利用したプログラムの書き込み法は以下の通りです。

  • ボードとPCをUSBケーブルで接続する
  • 配布パッケージの[PC]フォルダに含まれるプログラム:HIDBootLoader.exeをダブルクリックして起動。
  • ボードのブートローダーを起動する
  • ボードのブートローダーが起動されるとPCの書き込みプログラムのウィンドウにその旨表示され、操作用のボタンが活性化
  • ボードに書き込むHEXファイルを指定
  • プログラムの書き込みを実施
  • ボードをリセット(PCプログラムからリセット可能)して書き込んだプログラムを実行

HIDBootLoader.exeの起動画面

PICSYS18ボードのブートローダを起動するとそれが検知されて、HIDBootLoaderの画面は次のように変わります。

PICSYS18ボードのUSBブートローダーを起動したときの画面

活性化された[Open Hex File]ボタンをクリックすると、ファイルダイアログが出てきますので、ボードに書き込むHEXファイルを選択します。

ボードに書き込むHEXファイルを読み込んだ画面

HEXファイルを読み込むと、[Program/Verify]ボタンが活性化されますので、それをクリックすると、ボードにプログラムの書き込みが行われ、その経過がプログレスバーとウィンドウ下部の表示領域に表示されます。

プログラムの書き込みを行った画面

プログラムの書き込みが成功したならば、[Reset Device]ボタンを押すか、ボードのリセットボタンを直接押すなどしてボードを再スタートさせると、ブートローダーで書き込んだプログラムが実行されます。

ボードをリセットしブートローダーが解除された画面

ボードが通常のプログラムを実行し始めると、ブートローダーの接続は解除され、上記の画面の様にウィンドウ全体が非活性化されます。また、ボードのブートローダーを起動すると、それが検知されて、次のプログラム書き込み作業に移ることができるので、プログラムの開発・テスト時には、実行させっぱなしで利用すると良いでしょう。


○ 開発環境に関して

USBブートローダーの開発に当たっては、Microchip社の以下のツール・ライブラリを利用しています。

  • MPLAB IDE v8.36
  • MPLAB C18 v3.33
  • MCHPFSUSB Framework2.5b (Microchip Application Libraries v2009-08-31)

コードの修正、再コンパイルなどを行う際には、該当のツール・ライブラリ等を入手の上ご利用ください。

開発ソフト: 
チップファミリー: 
技術: 
プログラムライタ: