テクノロジー遊び

マイクロチップのデバッガーヘッダー

PICなどのマイクロプロセッサーはデバッグ機能をもっているものが多いです。

私がしばしば(いやいつも)使っているわずか8pinのpic12f629はかなり特殊なデバッグ方法を使います。

端的にいえば、このプロセッサー自体にはデバッグ機能はありません。

この場合、Microchip Technology社から”デバッグ・ヘッダー”という製品を購入します。

なにをするものかといえば、PIC12f629のフリをしてくれるものです。(製品番号:AC162050)


右側に金色の8pinが見えていると思いますが、これをマイコンの回路に差し込んでCPUとして使い、デバッグをするわけです。

このデバッガーを12f629とするには、ジャンパーピンを見えているように、Pin2-Pin3を繋いでください。
これでADコンバーターがオフになり、類似のPIC12F675ではなく12f629対応になるそうです。

PIC12F629のデバッガーを実際にやっている記事を日本語で読んだことがないので、かなり珍しい機器かもしれません。

この装置とPICKIT3をアダプター(製品番号:AC164110)を介してつなぎます。
この接続方法が曲者で、下の写真のとおり!

左からRJ-11ケーブル, AC164110、6ピン端子、PICKIT3です。

AC164110が裏返っていますが、これで正しいです。Pickit3の説明書は間違ってます。

RJ-11ケーブルとは電話で使っているケーブルですが、このデバッガーで使っているケーブルは6芯すべてとおっているものなので、なかなか入手は難しいかもしれませんが、売ってます。

デバッグについてはPickit3のユーザーズガイド(英語)を読むわけですが、35ページにある「デバッグできない理由のTOP10」がメチャクチャ参考になりました。これなかったらまだデバッグできてなかったかも。

訳しながら私のひっかっかったところを太字で。

1. The oscillator is not working. Check your Configuration bits setting for the oscillator.

1. クロックが動いていない。クロック関係のコンフィグレーションビットを確認する。
(MCLRをアップすることと内部クロックを使うことの両方は選べないようです。MPLABXが警告をあげてきます)

2. The target board is not powered. Check the power cable connection.

2. ボードにパワーがきていない。(基本的にPICKIT3のパワーは30mAまでなので、ボードのパワーでチェックすることが推奨されている)

3. The debugger has become physically disconnected from the PC and/or the target board. Check the communications cables’ connections

3.PCとデバッガーが正しくつながっていない。(それで写真の接続間違いに気づきました)

4. The device is code-protected. Check your Configuration bit’s setting for code protection.

4. デバイスがCode-Protectになっている。コンフィグレーションビットのCPをオフにすること。

5. You are trying to rebuild the project while in Release mode. Select Debug in the Build Configuration drop-down list on the project toolbar, then rebuild the project.

5.リリースモードでビルドされている。ビルドコンフィグレーションでDebugを選んでリビルドする。

(このミスでもconnection failになります。)

6. The debugger is selected as a programmer, and not as a debugger, in MPLAB IDE.

6. デバッガーを接続しているのにMPLAB IDE上ではプログラマーとしている。

7. The debugger to PC communications has been interrupted. Reconnect to the debugger in MPLAB IDE.

7.デバッガーとPCの接続がとまっている。MPLAbIDEと再接続する。
(どうもリカバリー機能が弱いようで、反応がかわらない時はUSBケーブルを一度抜いてください。)

8. The target application has become corrupted or contains errors.Try rebuilding and reprogramming the target application. Then initiate a Power-on Reset of the target.

8. ターゲットのアプリケーションがそもそもエラーを含んでいるか、壊れている。リビルドし、パワーオンリセットからやりなおす。

9. Other configuration settings are interfering with debugging. Any configuration setting that would prevent the target from executing code will also prevent the debugger from putting the code into debug mode.

9. 他のコンフィグレーション設定がデバッグをはばんでいる。コードの実行をターゲット上で妨げている設定はデバッグモードにいれることを妨げる。

10. The debugger cannot always perform the action requested. For example, the debugger cannot set a breakpoint if the target application is currently running.

10. デバッガーはいつも要求に答えるわけではない。例えばデバッガーはターゲットのアプリケーションが実行中にブレークポイントは作れない。
(ここまでできればもうOKなんだけど。)

PIC12F629のデバッガーを使った人っているのかな? とりあえず動いた!

デバッガーのデバッグしてたようなもんなので、デバッグ作業はこれからですが。

関連記事

  1. スマホから機器をBluetoothでオン・オフ

  2. CodeIgniterの知られざる基本

  3. CodeIgniterこそを使いたい

  4. How to toggle on/off momentary push…

  5. CodeIgniterでのユーザー認証2(MY_Controller)…

  6. 「プロトタイピング」に嗤う

  7. 人感センサー

  8. PICでwaitのループを簡単に作る方法

記事をプリント