ICD2或MCD2在调试PIC12F629/675或PIC16F630/676时,为什么会有Invalid target device id警告?
在使用MPLAB ICD2和ICD2或MCD2仿真头调试这些器件过程中,这些器件的GP1/RA1 引脚不能被拉高,否则会警告Invalid target device id。参见MPLAB ICD 2 Header文档。
---------------------------------------------------------------------------------------------------------------------------------
ICD2或MCD2单步执行时,定时器为什么运行不正常?
这是使用在线调试器的缺点之一。由于代码实际上是在调试执行程序中运行,在调试执行程序运行期间,即使用户的应用程序被中止,定时器也会继续运行。
---------------------------------------------------------------------------------------------------------------------------------
ICD2通过RETFIE 指令来使用高优先级中断时,为什么 W 、 STATUS 和BSR寄存器的值会改变?
用于高优先级中断和CALL FAST 的影子寄存器被MPLAB ICD 2 使用了。这些是保留给MPLAB ICD 2 操作的资源。如果断点设置在CALL FAST 子程序内,或者在通过RETURN FAST 或
RETFIE 指令使用了影子寄存器的高优先级中断服务程序内,将会出现问题。
---------------------------------------------------------------------------------------------------------------------------------
dsPIC 使用ICD2或MCD2在线调试的接口选择,
在某些情况下,dsPIC默认的编程和调试引脚功能PGC/EMUC和PGD/EMUD,可能与其他外设(如I2CTM™、SPI或UART模块等)引脚复用。在这种情况下,应用能将这些引脚用于编程,
但不能用于在线调试。此时在线调试应该使用备用调试通道,EMUC/EMUD1、EMUC2/EMUD2或 EMUC3/EMUD3,具体的电路设计请参考152816.pdf文档。
---------------------------------------------------------------------------------------------------------------------------------
ICD2或MCD2当在程序的起始位置设置一个断点时,为什么它停止在地址0x0001 ,而不是地址0x0000 ?
MPLAB ICD 2 在断点后的指令上暂停。这意味着设置了断点的地址0000 处的指令会被执行,接着当它发现断点时,程序计数器会指向地址0001。如果用户需要在其代码的第一条指
令处暂停,他们必须在地址0000 处插入一条NOP 指令。
---------------------------------------------------------------------------------------------------------------------------------
ICD2或MCD2通信不上;
有可能操作系统有误,此时需要寄到原厂重新下载;也有可能是升级模块跟主板没有接触好。
---------------------------------------------------------------------------------------------------------------------------------
ICD2或MCD2调试时出现ICDWarn0015: Program memory has changed since last program operation?
程序修改之后没有再重新编译、烧写到芯片里
---------------------------------------------------------------------------------------------------------------------------------
ICD2或MCD2连接时出现ICD0152: Failed to read all of requested bytes (0x0 of 0x8)?
首先,ICD2或MCD2是用USB还是串口跟电脑连接的?如果是串口连接的,改一下串口属性,具体步骤如下:
右击我的电脑--属性--硬件--设备管理器--端口(COM)--COM1(如果用其他COM,则选择相应的COMx)--属性--端口设置,在这里要做两个设置:
1,流控制方式--选择硬件
2,点击“高级”按纽--使用FIFO缓冲区。。。前面那个钩去掉。 设置完后可能还需要重启电脑。其次,升级一下IDE版本。
---------------------------------------------------------------------------------------------------------------------------------
PICKit2烧写完程序时出现Warning - No configuration word found in hex file?
那是因为烧写的程序里没有包含Config信息,需要在MPLAB IDE里对configbits进行设置,具体步骤:
1、打开MPLAB IDE;
2、通过file->import,打开要烧写的HEX文件;
3、对configbits进行设置;
4、通过file->export,导出HEX文件。
5、此时的HEX文件才是包含了config 信息的HEX文件,这样再用PICKIT2烧写的话应该就不会提示那个错误了。
上一页 [1] [2]
本文关键字:暂无联系方式PIC单片机,单片机-工控设备 - PIC单片机