共2条
1/1 1 跳转至页
,icd2,12f629 用icd2给12f629编程,提示如下,何故?
问
Connecting to MPLAB ICD 2
...Connected
Setting Vdd source to MPLAB ICD 2
ICDWarn0020: Invalid target device id (expected=0x7C, read=0x0)
ICDWarn0044: Target has an invalid calibration memory value (0x0). Continue?
...Reading ICD Product ID
Running ICD Self Test
...Passed
MPLAB ICD 2 Ready
Programming Target...
ICDWarn0052: MPLAB ICD 2 CANnot validate a target device. Please make sure that the target device is connected and properly powered. Select "OK" to continue, or "CANCEL" to abort the operation
ICD0200: Operation Aborted (Warning 51).
ICD0275: Programming failed.
MPLAB ICD 2 Ready
为12F629编程,同时开了内部振荡和内部复位,编程时提示说不能同时开,但因为我以前是这样用过的,点继续,编程提示CONFIG校验出错,再次连接ICD2就出现上面的提示,换了新的片子刚插上去的时候正常,一点编程就出错,然后此芯片就再也没法识别。无法识别的片子上原来的旧程序还是可以运行的。
答 1: 刚查到原因:12F629自锁了:(4.ICD2编程时提示编程成功但校验失败
先检查PGC/PGD 有无外电路干扰吧!
再看看Vdd有没有达到4.5V以上(PIC18J/dsPIC33F/PIC24系列除外),ICD2对芯片编程时首先要全擦, 对大部分PIC来说执行“Bulk Erase”时Vdd最小电压是4.5V。 这就要求即使是LF版的PIC在用ICD2编程时Vdd至少是4.5V, 当然编完程后还是可以在低电压下(3V)使用ICD2调试的。
如果芯片有AVdd和AVss脚, 请在ICSP编程时分别接到Vdd和Vss, 否则也会出现这样的错误。
有些芯片使用时用到了内部晶振和内部复位,如PIC16F630/690等,用ICD2编程时一旦使能内部晶振和内部复位会有警告信息:
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一旦和目标板相连,目标芯片即已工作,ICD2对ICSPCLK和ICSPDAT的控制被目标芯片对这两脚的操作打乱,故而进不了编程模式。 这时该考虑其他编程工具, 或者在程序开头加2ms以上延时, 保证芯片在真正执行程序前进入编程模式。
...Connected
Setting Vdd source to MPLAB ICD 2
ICDWarn0020: Invalid target device id (expected=0x7C, read=0x0)
ICDWarn0044: Target has an invalid calibration memory value (0x0). Continue?
...Reading ICD Product ID
Running ICD Self Test
...Passed
MPLAB ICD 2 Ready
Programming Target...
ICDWarn0052: MPLAB ICD 2 CANnot validate a target device. Please make sure that the target device is connected and properly powered. Select "OK" to continue, or "CANCEL" to abort the operation
ICD0200: Operation Aborted (Warning 51).
ICD0275: Programming failed.
MPLAB ICD 2 Ready
为12F629编程,同时开了内部振荡和内部复位,编程时提示说不能同时开,但因为我以前是这样用过的,点继续,编程提示CONFIG校验出错,再次连接ICD2就出现上面的提示,换了新的片子刚插上去的时候正常,一点编程就出错,然后此芯片就再也没法识别。无法识别的片子上原来的旧程序还是可以运行的。
答 1: 刚查到原因:12F629自锁了:(4.ICD2编程时提示编程成功但校验失败
先检查PGC/PGD 有无外电路干扰吧!
再看看Vdd有没有达到4.5V以上(PIC18J/dsPIC33F/PIC24系列除外),ICD2对芯片编程时首先要全擦, 对大部分PIC来说执行“Bulk Erase”时Vdd最小电压是4.5V。 这就要求即使是LF版的PIC在用ICD2编程时Vdd至少是4.5V, 当然编完程后还是可以在低电压下(3V)使用ICD2调试的。
如果芯片有AVdd和AVss脚, 请在ICSP编程时分别接到Vdd和Vss, 否则也会出现这样的错误。
有些芯片使用时用到了内部晶振和内部复位,如PIC16F630/690等,用ICD2编程时一旦使能内部晶振和内部复位会有警告信息:
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一旦和目标板相连,目标芯片即已工作,ICD2对ICSPCLK和ICSPDAT的控制被目标芯片对这两脚的操作打乱,故而进不了编程模式。 这时该考虑其他编程工具, 或者在程序开头加2ms以上延时, 保证芯片在真正执行程序前进入编程模式。
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
vscode+cmake搭建雅特力AT32L021开发环境被打赏30分 | |
【换取逻辑分析仪】自制底板并驱动ArduinoNanoRP2040ConnectLCD扩展板被打赏47分 | |
【分享评测,赢取加热台】RISC-V GCC 内嵌汇编使用被打赏38分 | |
【换取逻辑分析仪】-基于ADI单片机MAX78000的简易MP3音乐播放器被打赏48分 | |
我想要一部加热台+树莓派PICO驱动AHT10被打赏38分 | |
【换取逻辑分析仪】-硬件SPI驱动OLED屏幕被打赏36分 | |
换逻辑分析仪+上下拉与多路选择器被打赏29分 | |
Let'sdo第3期任务合集被打赏50分 | |
换逻辑分析仪+Verilog三态门被打赏27分 | |
换逻辑分析仪+Verilog多输出门被打赏24分 |