PICkit 3 でPICに書き込む際に以下のエラーが出ることがある。
The target circuit may require more power than the debug tool can provide. An external power supply might be necessary.
Connection Failed.
ちょっと、字面の通りの理由とは思えない状況なので覚え書きしておくことにする。
以下の手順で再現する。
PC起動(Windows 7 Pro 64BIT)
MPLAB X IDE v3.00.02-beta 起動
プロジェクトを読み込む
PICkit 3 接続
PICkit 3 とPICの載ったブレッド・ボードを接続(回路図は以下の通りだが、9VとSound Outは未接続、5VとGNDはPICkit 3と接続)
プロジェクトのPropertiesのHardware ToolからPICkit 3を選んで[OK]
Make and Program Device
Programming/Verify completeと表示されて問題なく書き込み完了
USBee Suite 起動(ハードは未接続)
Make and Program Device
エラーとなる(上に書いたエラー・メッセージが出る)
USBee Suite を閉じる(ハードは未接続)
Make and Program Device
Programming/Verify complete(問題なく書き込み完了)
※USBee Suiteが関連していることは確かだが、ハードは接続して無いのでいまひとつピンと来ない。
PICkit 3を取り外す
回路に5V、9Vを接続し、Sound Outをオシロスコープ(LHT00SU1※)に接続
オシロスコープをUSBでPCに接続
USBee Suiteを起動してデータを取る
以下のように予期した通りの出力が得られる
PICkit 3を接続する
Make and Program Device
エラーとなる(上に書いたエラー・メッセージが出る)
USBee Suite を閉じる(ハードは接続したまま)
Unable to connect to the target device.
Failed to get Device ID
外部5Vを取り外しPICkit 3からの5Vのみとする(9VとSound Outは接続したまま)
Make and Program Device
Programming/Verify complete と表示されて問題なく書き込み完了
ちなみに、うまくいったときのメッセージ全文は以下のとおり。
Connecting to MPLAB PICkit 3…
Currently loaded firmware on PICkit 3
Firmware Suite Version…..01.36.10
Firmware type…………..Enhanced MidrangeProgrammer to target power is enabled – VDD = 5.000000 volts.
Target device PIC12F1822 found.
Device ID Revision = 8The following memory area(s) will be programmed:
program memory: start address = 0x0, end address = 0x7ff
configuration memoryDevice Erased…
Programming…
Programming/Verify complete
さて、原因は何でしょう。
※「LHT00SU1 + PulseView by Zadig of sigrok」
Tweet