ICD2 调试时出现“ICD0083: Debug: Unable to enter debug mode. Please double click this message for more information.”
通常这说明ICD2或MCD2不能和调试执行程序通讯,这有可能是目标时钟或电源问题使得ICD2或MCD2不能和调试执行程序通讯,保证晶振的管脚和OSCKI/OSCKO充分接近,4MHz以上晶
振推荐使用HS模式,如果是外部32K低频晶振,重新“connect”一下可执行调试指令,也有可能内部或外部晶振使能了PLL 功能而进不了Debug模式的,关掉PLL即可;再还有可能
是配置位设置不当引起的,查看Config>Configuration Bits,确保看门狗被禁止,代码保护、掉电检测等被关闭
---------------------------------------------------------------------------------------------------------------------------------
连接ICD2时显示“ICD0021: Unable to connect with MPLAB ICD 2”?
请检查一下ICD2或MCD2与电脑连接的通讯口是否设置正确(USB or COM)。
---------------------------------------------------------------------------------------------------------------------------------
连接ICD2时显示“ICD0286: Unable to communicate with ICD
ICD0082: FaiLED MPLAB ICD 2 operation”
这可能是操作系统有误,此时手动下载操作系统即可。
---------------------------------------------------------------------------------------------------------------------------------
连接ICD2或MCD2时显示“ICD0019: Communications: Failed to open port: (
Windows::GetLastError() = 0x2, ’系统找不到指定的文件。’) ICD0021: Unable to connect with MCU.”
通常是ICD2或MCD2驱动找不到,需重装。如果MPLAB IDE V7.0以上版本,重装前要先运行C:\Program Files\MicroChip\MPLAB IDE\Utilities\MPUsbClean下的MPUsbClean.exe 彻
底删除
---------------------------------------------------------------------------------------------------------------------------------
ICD2或MCD2自检不通过提示“... Failed Self Test. See ICD2 Settings (status tab) for details”
ICD2或MCD2 自检主要是对Target Vdd、Target Vpp、MCLR GND、MCLR Vdd MCLR Vpp六个管脚电压进行检测,任何的一项不正常都会通不过。出错具体情况可在ICD2 的status栏进
行查看,找出出错的项,再检查该项的相关硬件连接。若是PIC18J、PIC24、DSPIC30、dsPIC33系列的器件,是无法从ICD2或MCD2供电给它们的,要求目标板外接电源,且要注意它
们的电压范围。
注:可能有些芯片会提示Vpp High 从而导致自检通不过,这是ICD2的固件中检测Vpp电压时所设的上限阈值偏小所致,通常可忽略,ICD2还是能正常编程和调试的
当使用USB连接MCD2主机与PC时需要注意:此时MCD2主机不能给目标板提供电源,必须把随产品附带的电源接到目标板上或者MCD2主机上(确保使能了目标板从MCD2主机上获取电源),建议把电源直接接到目标上。
---------------------------------------------------------------------------------------------------------------------------------
ICD2或MCD2自检通过,但提示没找到目标ID,读到的ID是‘0’,显示“ICDWarn0020: Invalid target device id (expected=0x89, read=0)”
此时首要任务是检查硬件连接,PGC/PGD有无接错,或PGD/PGC上有容性负载或感性负载。若是PIC18J器件,请确认vddcore是使能且该脚接了0.1-10uF的低ESR电容。注:ICD2到目
标板的连接线如果是一端水晶头,一端插针的,要注意蓝色才是第一根,白色一般是不用的。
Microchip原厂生产的ICD,线的顺序应该是:白色--VPP、 黑色-- VCC 、红色--GND 、绿色--PGD 、黄色--PGC 、蓝色--不用,MCD2也沿用这种排列方式。然而,白色是VPP还是
蓝色是VPP,不必太关心,只要六根线不交叉就可以了。
---------------------------------------------------------------------------------------------------------------------------------
ICD2自检通过,但提示没找到目标ID,读到的ID不是‘0’,但和期望的不符合,显示“ICDWarn0020: Invalid target device id (expected=0x89, read=0x71)”
首先检查芯片型号选择是否正确;如果是Debug模式下出现该提示,要先确认所选的MCU是否需要header才可通过ICD2或MCD2调试。如果用了header 出现该提示,那么检查header上
用来设置ADC的enable/dISAble的跳线,这个跳线也会影响目标device的ID。
---------------------------------------------------------------------------------------------------------------------------------
ICD2编程时提示编程成功但校验失败
首先检查PGC/PGD有无外电路干扰,再看看Vdd有没有达到4.5V以上(PIC18J/PIC24/dsPIC33F系列除外),ICD2或MCD2对芯片编程时首先要全擦,对大部分PIC来说执行“Bulk
Erase”时Vdd最小电压是4.5V。这就要求即使是LF版的PIC在用ICD2编程时Vdd至少是4.5V,当然编完程后还是可以在低电压下(3V)使用ICD2调试的。
如果芯片有AVdd和AVss脚, 请在ICSP编程时分别接到Vdd和Vss, 否则也会出现这样的错误。
有些芯片使用时用到了内部晶振和内部复位,如PIC16F630/690等,用ICD2或MCD2编程时一旦使能内部晶振和内部复位会有警告信息:
ICDWarn0033: You have selected Internal MCLR and Internal Oscillator in your configuration settings. If your code makes use of port PINs that correspond to
CLOCk and Data pins in programming mode, you may not be able to reprogram your device. See on-line help for this warning for more information. (OK/CANcel)
忽略该信息,初次ICD2可以成功编程该芯片。但如果芯片中已有配置字是内部晶振和内部复位的程序,且程序中有对ICSPCLK和ICSPDAT管脚的操作,再次编程就会有校验失败的错
误提示。这是因为当使用内部晶振和内部复位时, ICD2或MCD2一旦和目标板相连,目标芯片即已工作,ICD2对ICSPCLK和ICSPDAT的控制被目标芯片对这两脚的操作打乱,故而进不
了编程模式。这时该考虑其他编程工具,或者在程序开头加2ms以上延时,保证芯片在真正执行程序前进入编程模式。 也有可能是ICD2占用了部分资源引起的。
即将推出的MCD2烧写模块(购买MCD2时赠送产品)有专门为解决这个问题做精心设计。
---------------------------------------------------------------------------------------------------------------------------------
用ICD2 调试或烧写PIC16F630/676,PIC12F629/675等带内部RC的器件,连接ICD2时警告“ICDwarn0044:Target has an invalid calibration memory value (Value). Continue? ”
这是这些器件的程序存储器最后一个单元上的内部RC校准值(retlw xx)被修改了,可用PICkit 1重新生成一个值;也可在MPLAB IDE的Programmer--settings--calibration
memory选项卡里把Allow ICD2 to program calibration memory 前的勾打上再填一个新的值,烧写后再次连接就没问题了。
---------------------------------------------------------------------------------------------------------------------------------
为什么在配置锁相环(PLL)振荡器时有问题,ICD2被挂起?
这是PICmicro 单片机 所要求的。在对PLL振荡器的配置位编程后,电源需要断开然后再加到目标板上。如果没有这样做,目标PICmicro单片机将没有时钟。没有时钟,调试模式将不
能工作。同样,如果在切换到PLL模式时,电源没有被断开再连接,器件可能会运行,但没有使用PLL。
---------------------------------------------------------------------------------------------------------------------------------
[1] [2] 下一页
本文关键字:暂无联系方式PIC单片机,单片机-工控设备 - PIC单片机