ICD (In-Circuit Debugger) について解説します。
MPLAB ICD2は現在では非推奨となっており、2010/09以降にリリースされたPICマイコンはサポートされていません。
USB接続する場合について、ドライバをインストールする手順について解説します。なおシリアル接続の場合には、この手順は不要です。
Windows Vista/7の64bit版では、USB接続できるのは型番が「P/N 10-00397」のものに限られます。「P/N 10-00319」は64bitをサポートしないため使用できません。Windows 7, 64-bit support - Microchip Forum
なおPICkit3ならば、64bit環境でも使用できます。
ドライバのインストールについての解説は、MPLAB IDEをインストールしたディレクトリ/Microchip/MPLAB IDE/ICD2/Drivers/ddicd2.htmにもあります。
MPLAB ICD2をパソコンに接続すると、2つのドライバのインストールを求められます。
同名のドライバが2つ表示されますが、[場所]の項目を見てicd2w2kl.infというファイルを選択します。
icd2w2kl.sysファイルのパスを問われたならば、次のパスを指定します。
/Microchip/MPLAB IDE/ICD2/Drivers (既定の場合)
Firmware Loaderのインストール後に、さらに新しいハードウェアが検出されます。
[場所]の項目がicd2w2kl.infというファイルを選択します。
パスの場所を問われたならば、先のFirmware Loaderと同様のパスを指定します。
デバイスマネージャで、Microchip MPLAB ICD2 Firmware Clientの存在を確認します。
MPLAB IDEのメニュー【Programmer → MPLAB ICD2 Setup Wizard】から、ウィザード形式で設定できます。設定するのは以下の項目です。
接続成功
エラーメッセージは、
ICD0019: Communications: Failed to open port (USB): (Windows::GetLastError() = 0x2, '指定されたファイルが見つかりません。') ICD0021: Unable to connect with MPLAB ICD 2 (USB)
のように表示されます。
デバイスマネージャで正常に認識されていることが確認されていても、MPLAB IDEから接続に失敗することがあります。この場合は、ICD2のUSBケーブルを接続し直すことで解決されます。なおUSBを接続し直すときには、MPLAB IDEを終了させておく必要があります。
エラーメッセージは、
ICDWarn0020: Invalid target device id (expected=0x100, read=0x0) ...Failed Self Test. See ICD2 Settings (Programmer->Settings) (status tab) for details.
のように表示されます。
ICD2に電源が供給されていないと、セルフテストに失敗しエラーが表示されます。この場合、接続には成功していますので、ICD2に電源を接続すれば解決されます。
メニューの【Programmer → Settings】から、接続の状態を確認できます。
セルフテスト
電圧確認
書き込み対象のデバイスにAVDD、AVSS端子がある場合、ターゲットボード上でそれらの端子が接続されている必要があります。必要はないかもしれません。
書き込みに成功すると、OutputウィンドウのMPLAB ICD2タブに、
Programming Target... ...Validating configuration fields ...Erasing Part ...Programming Programming Executive ...Verifying Programming Executive ...Programming Program Memory (0x0 - 0x1FF) Verifying... ...Program Memory ...Verify Succeeded ...Programming Configuration Bits .. Config Memory Verifying configuration memory... ...Programming succeeded 15-Sep-2009, 00:15:30 MPLAB ICD 2 ready for next operation
のように表示されます。
書き込み対象の電源が入っていないと、
Programming Target... ICDWarn0021: No Vdd voltage detected at Target. Continue with operation? ICD0200: Operation Aborted (Warning 21). ICD0275: Programming failed.
のようなエラーが表示され、書き込みに失敗します。
ファームウェアの更新が必要なときには、ICD2接続時にそれを促すダイアログが表示されます。またはメニューの【Programmer → Download ICD2 Operating System】から、明示的に更新することもできます。
なお更新が必要とされるのは、ファームウェアの新しいバージョンがあるか、使用するデバイスの種類を変更した場合です。
ところでICD2へデータを送信することをダウンロードと呼称していますが、これはICD2がパソコンに対して下位のシステムであるためです。
ファームウェアの更新中に、ハングアップしているかのような状態になることがあると警告が表示されます。
更新中は、ステータスバーにその状態が表示されます。