※ ChatGPTを利用し、要約された質問です(原文:PICのデバックに関して)
PICのデバックに関して
PICのデバックモードで悩んでいます。
デバック環境
●MPLAB Ver.8.53
●ICD2 及び PicKit3 で評価
●CPU PIC18F452、PIC18F45k20、PIC16F688、PIC16F690 のそれぞれのCPUで評価
回路仕様
●1個のLEDをCPUのポートに接続し、ON/OFFさせるテスト基板を用いて、
それそれのCPUで、テストしました(CPUだけ変えてその他の回路は変更無し)。
●PIC16F、PIC18Fとも内部クロックを使用しています。
●CPUの電源は、ICD2 または PicKit3から供給しています。
PIC18Fシリーズでは、C言語やアセンブラで書いたプログラムは、MPLABを用いて、実機デバッグテストが可能なのですが、
同じ内容のプログラム(CONFIG記述のみ変更)で、PIC16F688 またはPIC16F690 を実機デバッグテストすると、
(1)ICD2の場合:ICD0083: Debug: Unable to enter debug mode. Please double click this message for more information.
(2)PicKit3の場合:pk3err0040: the target device is not ready for debugging.
といったエラーが表示され、デバックモードに入ることが出来ません。
本エラーは、コンフィグの設定、配線の間違い、クロックが入っていない場合等に起こるエラーとありましたが、これではないと考えています。
<確かめたこと>
(1)Programモードで、コンパイル、リンクは問題なく実行でき、CPUにプログラムを書き込むことも出来ます。
シュミレーションモードに入ることも出来ます。この点では16Fも18Fも問題がありません。
しかし、実機デバッグモードに入ろうとすると、16F(PIC16F688、PIC16F690)では、入ることができません。
実機デバッグモードでは、コンパイル、リンクはエラー無く実行可能です。「RUN」でスタートを掛けると上記(1)、(2)のエラーメッセージが表示されます。
(2)MPLABのCPUの選択は、各々間違ってはいません。
(3)配線も間違っていませんでした。回路自体にも問題があるとは思えません。
(4)PIC16Fでは、CコンパイラはCCS または Hi-TECHを使用しましたが、結果は同じでした。
CCSでは、
#INCLUDE <16F690.h>
#DEVICE ICD=TRUE ;ICD2を使用する場合に、NOP命令を入れる様に記載がありましたが、だめです。
また、
アセンブラで、
#INCLUDE <p16F690.inc>
__CONFIG _INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF & _BOR_OFF & _IESO_OFF & _FCMEN_OFF
ORG 0
nop と入れましたが、だめでした。
コンパイラには無関係(Cやアセンプラの言語に関係がない)で起きているようです。
MPLABの設定で、デバイスの選択以外に、16Fと18Fで設定が異なる部分があるのでしょうか?
お礼
ご回答有難う御座いました。 これが原因でしょうね! デバイス自体が、デバック機能をもっていないから、別途別バーツが必要ってことでしょう。多分。 大変有難う御座いました。