2016年5月16日月曜日

REVIVE USBを自作してみた。その2

前回はREVIVE USB自作の基板の方を作成したけど、今回はREVIVE USBとして動かすためにブートローダの書込みとファームウェアの書込みをやってみる。

まずはブートローダの書き込み。PIC18F14K50にプログラムを書き込むのにはPickit等のPICライタが必要なんだけど、ブートローダを書き込んでおけば、Pickit無しでもUSB経由でファームウェアを更新できるようになる。
でも結局はブートローダ書き込むのに1回はPICライタが必要なんだけども…
というわけで今回はPickit3を借りて書き込んできた。
書き込むブートローダは"Microchip Libraries for Applications"に含まれてる
"USB Device - HID - HID Bootloader - C18 - PIC18F4550.hex"
を書き込んでみた。

書込みが終わったらBootボタン(本家ではジャンパだけど)を押しながらUSBに接続するとUSB HID Bootloaderとして認識されるはず。
ブートローダしか入ってない状態でボタンを押さずにUSBに挿してもファームウェアが入ってないので何も起こらない。


お次はファームウェアの書き込み。
うまくBootloaderが書き込めたらお次はREVIVE USBのファームウェアを書き込む。
ファームウェアの書き込みにはAssembly DeskのREVIVE USBのところで公開されている"ファームウェア書き込みソフト"を使用する。

REVIVE USBを接続しない状態でHIDBootLoader.exeを起動する。
この状態でBootボタンを押しながらREVIVE USBを差し込むとデバイスが認識される。
この状態になったらファームウェアを書き込むだけ。
REVIVE USBのファームウェアは何種類か有るみたいだけど、今回は標準のファームウェアを書き込んでみた。
Assembly DeskからファームウェアのHEXファイルをダウンロード。
書き込みソフトのOpen Hex Fileを押してダウンロードしたファイルを読み込む。
Program/Verifyボタンを押すと書き込み&チェックをしてくれる。

あとはReset Deviseを押すか、デバイスをさしなおす(Bootボタンは押さずに)とREVIVE USBとして認識されるようになってるはず。

これで自作のREVIVE USBクローン完成!

あとは設定ツールから設定して普通にREVIVE USBとして使える。

友達に上げた本家REVIVE USBと交換してこようかな…

REVIVE USBはDIPサイズなのでゲームパッドとかだと組み込み場所に困るけど、SSOP20とかSOP20サイズのマイコンを使って自作すればかなり小さくできるかもしれない。
Arduino LeonardoとかDigisparkでもREVIVE USBみたいに使えるけど、やはりポーリングレート1000Hzはすごいかも。

0 件のコメント:

コメントを投稿