PIC16F1459の基本動作から応用プログラムまでを学びます。

ホーム
16F18313
16F18325
16F18346
16F1619
Curiosity
---
---
    
12F1822
16F1455
16F1459
18F14K50
18F26J50
dsPIC
その他
Bootloaderとは

Bootloaderとは、メインのプログラムをメインメモリーに取り込む短い起動プログラムのことで、簡単には、PICkit の代わりをするプログラムと考えてよいでしょう。 Bootloaderは、PCからUSB経由で、本来目的とするユーザーが作成したプログラムのHEXコードを受け取り、をPICのROMエリアに自分自身で書き込んでいきます。

Bootloader を利用するPICのメモリには、右図のようにプログラムが書き込まれます。

つまり、PCで作成した、ユーザープログラムをPICに書き込むときは、SWを押しながらUSBプラグをPCに接続します。

Bootloaderプログラム本体は、PICkitなどのプログラマーであらかじめPICに書き込む必要がありますが、Bootloaderが書き込まれたPICにユーザープログラムを書き込むには、PICkitなどのプログラマーは、不要です。

Bootloaderでのプログラム手順

ブートローダーを使用して、PICにプログラムを書き込むには、以下の手順に従います。

  1. PICの0x0000-0x08FF番地にブートローダープログラムが書き込まれており、MCLR端子(pin4)PICに書込・実行を選択するSWが接続されているのを確認する。
  2. PCに、プログラムを転送する HIDBootloader (Windows).exe をインストールする。
  3. ブートローダーに対応した目的とするユーザーコード(HEX形式)を HIDBootloader (Windows) でPICに書き込む。

A. ブートローダーのPICへの書き込み (初回のみ実施)

ブートローダーを使用して、PICにプログラムを書き込むには、以下の手順に従います。

MPLAB IPE を起動し、Bootloader HEX ファイル「BL16F1459wIntlOsc.hex」を PICkit3 でPICにブートローダー本体のコードを書き込みます。

*注意*
一度、書き込めは、2度目からは、ブートローダを同じICに再書き込みする必要はありません。 ユーザーソフトを何度書きなおしても、ブートローダープログラムは、変更されないため、新規にPIC ICを購入したときに一度たけ、実施する作業です。

 MPLAB IPE は、MPLAB Xのインストール時に同時にインストールされる書き込みツールです。

BL16F1459wIntlOsc.hex

B. PCアプリをインストール (初回のみ実施)

HIDBootloaderWindows.zip を解凍し、PCアプリ HIDBootloader.exe や dll ファイルが入っているフォルダーごとPCのハードディスクに保存します。

PCアプリは、PICに書き込まれたブートローダー本体 (BL16F1459wIntlOsc.hex)とUSB経由で通信しながら、PCに保存されているHEX形式のユーザーコードをPICに送り込む役目をします。PICのROMへの書き込み動作自体は、PICに書き込まれている ブートローダー本体が行います。

プロジェクト HIDBootloaderWindows.zip

C. ユーザ・ソフトウエアの書き込み

PCアプリ HIDBootloader.exe を起動します。
「Device not detected」というメッセージが表示されます。

PICのpin 4に接続されているSWを押しながら、USBケーブルをPCのUSBソケットに挿入します。

ケーブル挿入後にSWを離すと、
「Device attached」と表示されます。

左上の「Import Firmeware Image」ボタンをクリックします。「Open Hex File」ダイアログが開くので、PICに書き込むユーザープログラムのHEXファイルを HIDBootLoaderに読み込みます。
読み込みに成功すると読み込んだファイル名が表示され、「Program/Verify」ボタンがアクティブになります。

ユーザープログラムのHEXファイルは、
Project Folder\dist\default\production
に保存されています

「Program/Verify」ボタンをクリックすると書き込みが開始され,
PICの書き込みに成功すると「Completed Successfully」と表示されます。)

「Reset Device」ボタンをクリックするか、USBケーブルを外すとDevice Detachedと表示されブートローダが切り離されます。