PIC HID Bootloader

last updata : 2018/04/10

HID Bootloader (pic16f145x) 【Microchip製 HID Bootloader互換】

桜

2018年の桜

熊本の八重桜

PIC16FファミリーのUSB通信

16Fファミリー内では、比較的新しく命令数も多少増えてC言語に親和性を高めてます。 ですが、元々小規模回路の置き換え用途のPIC16F。 MPASMで使うことも多いかも。

USB通信

PIC18Fと同等USB(SIE)を搭載しています。 xc8のC言語なら、ほぼ同じ関数が使えます。

MPASMでもほぼ同じ…いやバンク切り替えが面倒ですね。 PIC18Fの[movff]がバンク関係なしにレジスタの転送できるのですが、PIC16Fにはありません。 アクセスバンクもPIC16Fにはありませんし。

互換 HID Bootloader

HID Bootloader (pic18Non-J)をベースに作っています。 上記のようにバンクに悩みながら修正をかけて、pic16f145x_family特有処理を追加したりしました。

ソフトウェア 1.00版 (2018/04/06)

Ver 1.00 初期公開版です。

pic16f145x_familyのUSB PICに対応しました。

  • PIC16(L)F1454
  • PIC16(L)F1455
  • PIC16(L)F1459

注.レビジョンA5(Revision ID:1005)以降 対応です。 詳しくは、エラータを参照してください。

もしローダーとして上手く動作しないとかあったら連絡頂けるとありがたいです。

ダウンロード

pic16f145x_family用 (HID Bootloader Restart Address(Word):0x0504)

bootloaders-145x_family_100.zip

注. MPASMで生成されるコンフィグワードとxc8で生成されるコンフィグワード値が異なっています。 MPASMは 0x3FFF をxc8は 0xFFFF を基準として生成しているようです。 これにより、アプリケーションにブートローダーをつなげる際に問題になることがあります。

各ファイルについて

選択

上記圧縮ファイルには、Hexファイルとソースファイルが入っています。

ソースファイルはMPLAB® X IDEの環境ごと入れてありますので、[PIC16xF145x]を選んでビルドしてください。 (右の図を参照)

各機能に付いて

  • ブートローダースイッチ
  • 初期設定のブートローダースイッチは、MCLRピンに設定し使用できるようにしています。 設定でスイッチを使用しない事もできます。

  • LED
  • 初期設定のLED(1個)は、使用しないにしてあります。 各ボード毎にLEDの配置が違うので、修正してビルドすれば使えるようになります。 (PIC毎に分けていないから使い難いかも。)

  • ブートローダエントリー
  • アドレス "0x001C"に ブートローダの入口が設定してあります。 PICを初期化状態(特にUSBを止める)にして"0x001C"に飛びます。

ホストプログラム

作っていません。 何故ならば、マイクロチップ社製と互換があるのでそっちダウンロードしてね。 「 Microchipアプリケーション用ライブラリ(MLA)」此処です。

[bootloders]-[utilities]-[bin]-[win] に"HIDBootloader.exe"があります。

重要. Ver2.9j 以降を使用すること。それ以前を使用すると新しい機能が使えないだけではなく、ユーザープログラムが起動しません。。

ベンダーID/プロダクトIDに付いて

このブートローダーに使っているベンダーID/プロダクトIDは、マイクロチップ社のHID Bootloaderと同じです。

動作や機能が同じなので、個人的や社内でテスト的に使う分には問題はでないと思います。が、 HID Bootloader を製品(プログラム用開発ボード等含む)に組み込んで販売する事は問題になるかもしれません。

上記の様に販売したい場合は、開発または販売元でベンダーID/プロダクトIDを取得してプログラムを変更してください。 また組み込んだ事に依るデータ喪失や機器損傷等の損害等の保証は一切受けられません。

回路図

サンプル回路図

テストに使っているブートローダーの回路図を載せておきます。

使い方

作成したブートローダのHEXファイル単体をpickit3等のライタで書き込むことでHIDブートローダーの使用が可能になります。

ただしブートローダーを使って起動するアプリケーション は、そのブートローダーの仕様に合わせて変更する必要があります。 HID Bootloaderを使ったアプリケーションの作り方を参照ください。

免 責

情報は出来るだけ正確に書くつもりです。ただこの記事を見て作ると思ったときは、 個人の責任において作業を行なってください。 データの喪失や機器の損傷が有っても、一切の責任は取れません。