请教一个PICkit3的问题

[复制链接]
 楼主| laibour 发表于 2011-8-13 15:31 | 显示全部楼层 |阅读模式
我用PICkit3将程序下载到片子,然后擦除重新返回Debug模式进行调试,编译时一直会出现一个错误:PK3Err0040: The target device is not ready for debugging.Please check your configuration bit settings and program
the device before proceeding。请问一下,要怎么解决?谢谢!
headwolf_83 发表于 2011-8-13 15:34 | 显示全部楼层
程序都擦掉了,还DEBUG什么,在DEBUG模式下再下载一次。注意配置位,能关的都关掉,设置好振荡。
 楼主| laibour 发表于 2011-8-14 21:50 | 显示全部楼层
2# headwolf_83
擦除是在release模式下擦除的,然后返回debug模式重新编译时出现上述错误。
yewuyi 发表于 2011-8-15 08:20 | 显示全部楼层
DEBUG时,应该在DEBUG的设置下烧录代码到芯片,然后才能调试,这主要是ICD方式需要植入一段监控代码到你的应用代码中,而普通的烧录芯片时,这一段代码是不需要的,另外:DEBUG时,看门狗、低压复位等配置位都需要关掉,否则在调试的工作发生这些动作,调试就不能进行了。

评分

参与人数 1威望 +1 收起 理由
蓦然回首; + 1 很给力!

查看全部评分

 楼主| laibour 发表于 2011-8-15 09:21 | 显示全部楼层
4# yewuyi
我知道debug的时候会加入一段调试代码下载到片子中,但我是先把程序到片子里面,因为可能还要对程序作修改、调试,此时如果我把芯片里面的程序擦除,重新将修改的程序debug时,编译完成时就会出现这个错误:PK3Err0040: The target device is not ready for debugging.Please check your configuration bit settings and program the device before proceeding。但这个时候程序还是能正常进行调试,只是每次这样操作时,都会出现这样一个错误。
再请教一个问题,PIC18F45K20的内部EEPROM是不是每次固化程序时会自动擦除之前的数据?网上搜到一个帖子说是:
固化程序时有是否清除EEPROM内容的选项,取消该选项即可。

http://bbs.21ic.com/viewthread.php?tid=183230&highlight=PIC%2Beeprom
找了很久也没有找到这个选项在哪,能否告知一下,谢谢!
yewuyi 发表于 2011-8-15 12:27 | 显示全部楼层
1、EEPROM的问题,请下载版本新一点的MPLAB,例如在MPLAB 8.63版本中,在DEBUG菜单中选择PICKIT3,然后点setting,然后在program memory中选择擦除和烧写的区域。
2、The target device is not ready for debugging.Please check your configuration bit settings and program the device before proceeding
重新修改程序后DEBUG前,需要将新的编译后的HEX文件烧入芯片中,否则调试的应该是前一次的HEX。

评分

参与人数 1威望 +1 收起 理由
laibour + 1

查看全部评分

yewuyi 发表于 2011-8-15 12:28 | 显示全部楼层
1、EEPROM的问题,请下载版本新一点的MPLAB,例如在MPLAB 8.63版本中,在DEBUG菜单中选择PICKIT3,然后点setting,然后在program memory中选择擦除和烧写的区域。
2、The target device is not ready for debugging.Please check your configuration bit settings and program the device before proceeding
重新修改程序后DEBUG前,需要将新的编译后的HEX文件烧入芯片中,否则调试的应该是前一次的HEX。
 楼主| laibour 发表于 2011-8-15 14:45 | 显示全部楼层
6# yewuyi
是这个界面是吧
但设置之后,好像还是会擦除刚刚写入的EEPROM的数据啊

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
yewuyi 发表于 2011-8-16 08:55 | 显示全部楼层
直接填入烧写起始地址,填入的地址避开EEPROM空间试试。
 楼主| laibour 发表于 2011-8-17 08:43 | 显示全部楼层
9# yewuyi
数据手册上说的是,数据 EEPROM 是非易失性的存储器阵列,独立于数据RAM和程序存储器,用于程序数据的长期存储。它并不直接映射到寄存器文件或程序存储空间,而是通过特殊功能寄存器(SFR)来间接寻址。在整个 VDD 范围内的正常运行期间,EEPROM是可读写的。也可能本身的性能就是这样吧
headwolf_83 发表于 2011-8-18 09:27 | 显示全部楼层
DEBUG之前,编译,点DEBUG菜单下的PROGRAM,下载一次,有的时候第一次会提示0040,第2次再下一下就OK了。连续3次以上出现0040,请检查你的配置位,能关的都关掉。
star0323 发表于 2013-10-8 13:12 | 显示全部楼层
你好,我也用的PICkit3,program只有将引导段写保护开启才能下载,但是点DEBUG菜单下的PROGRAM,会提示只有将写保护关闭才能DEBUG,我关闭后又不能program,说是要我检查Configuration Memory,请问这个是什么情况?
star0323 发表于 2013-10-8 13:18 | 显示全部楼层
headwolf_83 发表于 2011-8-18 09:27
DEBUG之前,编译,点DEBUG菜单下的PROGRAM,下载一次,有的时候第一次会提示0040,第2次再下一下就OK了。连 ...

你好,我也用的PICkit3,program只有将引导段写保护开启才能下载,但是点DEBUG菜单下的PROGRAM,会提示只有将写保护关闭才能DEBUG,我关闭后又不能program,说是要我检查Configuration Memory,请问这个是什么情况?
Super_ 发表于 2013-10-30 19:18 | 显示全部楼层
要先进入调试状态,然后可以再下载一次程序到单片机。
jihesong 发表于 2017-2-3 13:17 | 显示全部楼层
配置字错了,把不重要的禁用,这种低端芯片,需要详细看pdf,st根本不需要看手册,只要看懂C程序包,在设计硬件时候再看看手册里IO的电器特性就行了。
JLennon 发表于 2017-12-22 11:33 | 显示全部楼层
谢谢解决办法。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

22

主题

81

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

22

主题

81

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部