調べて分かる事については一切記載致しません。
logo

マイコン「PIC16F1455」にOSR-CDIのファームウェアを書き込む方法は複数ありますが、その一つの方法である、MPLAB IPEを使った方法を記載します。

2019年5月時点でMPLAB IPEで書き込んだ場合、Config部分が正しく書き込まれない状況を確認しました。MPLAB X IDEを使ってインストールしてください。

MPLAB X IDEをダウンロードし、インストールすると、同時にMPLAB IPEもインストールされます。
startmanu

MPLAB X IDEはこちらからダウンロードできます。
https://www.microchip.com/mplab/mplab-x-ide


まず完成したOSR-CDI基板とPC、PICkit3とPCをそれぞれUSBで接続します。
更にOSR-CDI基板にPICkit3に接続します。
絵にするとこんな感じになると思います。
usbconnect
PCとOSR-CDI基板を接続するのは、OSR-CDIに電源供給する為です。
昔のパソコンだと十分な電源供給が出来ないので、その際はOSR-CDIはUSB充電器等で電源を供給しても構いません。

MPLAB IPEを起動します。
今回はMPLAB IPEv5.1で説明しますが、その他のバージョンもほぼ同様です。
Device欄に「PIC16F1455」を選択します。
Hex FileにOSR-CDIのファームウェアを設定します。
ファームウェアは、ダウンロードしたOSR-CDIのZIPファイルの中にあります。
解凍したフォルダの中のfirmwareフォルダの直下に、拡張子が「.hex」のファイルがあります。

ipe001

次にPickit3と接続します。
Toolに接続されたPICkit3が表示されているはずですので、Connectボタンを押下します。
ipe002

ワーニングダイアログが表示されますが、OKを押してダイアログを消します。

ウィンドウ下のOutput - IPEの欄に以下の様なメッセージが表示されます。
Connecting to MPLAB PICkit 3...

Currently loaded firmware on PICkit 3
Firmware Suite Version.....01.54.00
Firmware type..............Enhanced Midrange
Target voltage detected
Target device PIC16F1455 found.
Device Revision ID = 1006
このメッセージが出ればファームウェアを書き込む準備が出来ました。
Programボタンを押下すると、ファームウェアの書き込みが始まります。
ipe003
以下のメッセージが表示されます。
Device Erased...

Programming...

The following memory area(s) will be programmed:
program memory: start address = 0x0, end address = 0x1fff
configuration memory
Programming/Verify complete
2018-12-29 17:49:02 +0900 - Programming complete
これでファームウェアの書き込みは完了です。
PCにOSR-CDIのデバイスをUSBケーブルで接続したら、USBデバイスとして認識されるようになります。

【注意書き】
■Pickit3が上手く認識できない事があります。
大抵USBを挿抜しなおせば復帰します。
PICkit3は接続されたPCからの要求に伴い自動的にスリープ状態になるようで、一旦スリープ状態に入るとMPLAB X IDEからの接続要求が失敗する様です。


■MPLAB X IDEで、ファームウェアを書き込む度にコーション(警告)ダイアログが表示される。
IPEでは無く、MPLAB X IDEからファームウェアを書き込むことができますが、その際に以下の様なコーションダイアログが表示されます。
cautionpickit3

PICkit3は、PICkit3自身が基板に電源を供給してファームウェアを書き込む機能があります。
例えば3.3Vで電源設計された基板に対して、PICkit3から5Vを供給すれば基板が損傷する可能性があります。
そういう危険性がある事について書いてあります。
デフォルトではPICkit3から電源を供給するオプションはオフになっています。
「プロジェクトのプロパティ」-「PICkit3」-「Power」 の項目からオンオフ、供給電源について設定できる様になっていますので確認してみてください。
projectprop