开发工具ICD2使用问题解决PIC编程.docx

上传人:b****6 文档编号:8955381 上传时间:2023-02-02 格式:DOCX 页数:31 大小:45.99KB
下载 相关 举报
开发工具ICD2使用问题解决PIC编程.docx_第1页
第1页 / 共31页
开发工具ICD2使用问题解决PIC编程.docx_第2页
第2页 / 共31页
开发工具ICD2使用问题解决PIC编程.docx_第3页
第3页 / 共31页
开发工具ICD2使用问题解决PIC编程.docx_第4页
第4页 / 共31页
开发工具ICD2使用问题解决PIC编程.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

开发工具ICD2使用问题解决PIC编程.docx

《开发工具ICD2使用问题解决PIC编程.docx》由会员分享,可在线阅读,更多相关《开发工具ICD2使用问题解决PIC编程.docx(31页珍藏版)》请在冰豆网上搜索。

开发工具ICD2使用问题解决PIC编程.docx

开发工具ICD2使用问题解决PIC编程

开发工具ICD2使用方面需要注意的问题

1.1问:

为什么我的系统编程或校验失败?

答:

按照第5章,故障诊断中所述,检查PGC、PGD和VPP连接以及电压,诊断故障。

确保目标PICmicro单片机已上电。

如果目标PICmicro单片机有AVSS和AVPP引脚,确认这些引脚都已正确连接。

1.2问:

为什么我需要ICD转接头?

答:

对于MPLABICD2支持的低引脚数器件,如果在线调试引脚被保留,将不能有效地使用这些器件。

试想一下,对于8个引脚的器件,6个I/O引脚失去其中3个的情形。

为此,生产了特殊的外合(bond-out)PICmicro单片机,这种单片机能通过一个转接头来仿真这些低引脚数器件,这使得能在目标应用中使用所有引脚。

外合(bond-out)PICmicro单片机具有在线通讯引脚与MPLABICD2接口。

这样做的优点是可以用MPLABICD2开发低引脚数器件。

缺点是,对于这些器件,为进行在线调试,不能只在目标应用中采用一个ICD2连接插座,还要使用外合(bond-out)PICmicro单片机。

这些外合(bond-out)PICmicro单片机类似于仿真器芯片,能支持多种器件。

在ICD转接头电路板上有跳线来配置芯片,以与开发使用的器件相匹配。

这些低引脚数器件可通过通用编程适配器,或者在目标应用上放置一个ICD2连接插座来连接这些器件的VPP、PGC和PGD,来采用MPLABICD2编程。

1.3问:

无法连接到MPLABICD2。

我现在该怎么做?

答:

MPLABICD2的电源灯亮了吗?

这个LED应该是明亮的。

如果它比较暗,可能只连接了USB,用户可能需要连接一个电源。

PC的RS-232口不能为MPLABICD2提供电源,不过USB口可以。

注意有些USB集线器不能提供电源。

请针对当前的故障线索,查看在线帮助。

USB驱动安装正确吗?

在Windows设备管理器对话框(如图6-1所示)中应该可以看到MPLABICD2的USB驱动。

一些USB集线器不能给连接的USB设备提供电源。

使用这些集线器时,需要在MPLABICD2上接一个电源。

1.4问:

ICD2响应“Targetnotindebugmodeerror.”这是什么意思?

答:

通常这说明MPLABICD2不能和调试执行程序通讯。

只能通过选择Debugger>Program菜单,对用户应用中的目标PICmicro单片机编程,来下载调试执行程序。

也可能是其它原因使得调试执行程序不能通讯,如目标时钟或电源问题。

查看配置位,确保“BackgroundDebug”使能。

查看Config>ConfigurationBits...,确保看门狗被禁止,代码保护被关闭,并且振荡器设置正确。

1.5问:

MPLABICD2能和一个低电压运行的目标器件一起工作吗?

答:

是的。

只要目标PICmicro单片机支持低电压运行,它就能在VDD低至约2V的情况下运行。

在MPLABICD2的输入/输出缓冲器中有电平转换器。

这些输入/输出缓冲器通过目标器件的VDD供电。

另外,MPLABICD2会检测目标器件的工作电压,并正确地调整其功能来处理低电压操作,即使用正确的FLASH擦除算法。

在MPLABICD2的“Settings”对话框中,VDD需选择为“FromTarget”,并且在目标板上要有一个电源用于低电压运行。

1.6问:

MPLABICD2支持低电压编程(LVP)吗?

答:

不支持。

但这并不表示当目标器件运行在低电压VDD时,MPLABICD2不能正常工作。

只是表示施加到VPP上的编程电压应总是+12V。

1.7问:

为什么我在配置锁相环(PLL)振荡器时有问题?

MPLABICD2被挂起

答:

这是PICmicro单片机所要求的。

在对PLL振荡器的配置位编程后,电源需要断开然后再加到目标板上。

如果没有这样做,目标PICmicro单片机将没有时钟。

没有时钟,调试模式将不能工作。

同样,如果在切换到PLL模式时,电源没有被断开再连接,器件可能会运行,但没有使用PLL。

1.8问:

当我尝试安装时,为什么找不到驱动,即使当我能在驱动文件夹中看到它们,并且我在驱动向导中指向了正确的文件夹也不行?

答:

这个问题可以这样解决:

退出驱动安装向导,再到控制面板选择“AddNewHardware(添加新硬件)”。

在系统搜索新硬件后,选择“No,thedeviceisn’tinthelist.”,然后选择“No,Iwanttoselectthehardwarefromalist.”,再选择“UniversalSerialBusController,”。

当出现“HaveDisk...”按钮时,进入驱动文件夹,并选择正确的驱动。

1.9问:

我能使用MPLABICD2实现代码保护吗?

答:

不能。

代码保护,特别是程序存储器中任何区域的表读保护会妨碍MPLABICD2正常工作。

当使用MPLABICD2调试时,不要使用任何代码保护或表读保护的配置设置。

当烧写器件进行测试时,如果没有连接MPLABICD2,可以使能代码保护。

1.10问:

单步执行时,定时器为什么运行不正常?

答:

这是使用在线调试器的缺点之一。

由于代码实际上是在调试执行程序中运行,在调试执行程序运行期间,即使用户的应用程序被中止,定时器也会继续运行。

1.11问:

在使用PIC12F629/675或PIC16F630/676时,为什么会有警告和错误?

答:

在使用MPLABICD2过程中,这些器件的GP1/RA1引脚不能被拉高。

参见MPLABICD2Header(DS51292)文档,获得更多关于对这些器件使用ICD2的信息。

1.12问:

什么使电源和忙信号LED闪烁?

答:

这可能表示目标板上MPLABICD2连接插座的接线顺序反了(与接线图相反)。

灯闪烁表示由于有大电流,MPLABICD2正在关闭。

下面的测试表明目标板上接线顺序反了:

•查找闪烁的Power和Busy信号LED(电源可能都关断了)。

•执行一次“SelfTest”,查找“MCLR=VPP”上的小错误

(所有其它测试可能都会通过)。

•使用目标单片机的默认地址范围,执行一次编程。

引脚1

(VPP)上7-8V的电平太低了。

注意,如果目标板接线顺序相反,MPLABICD2中的保护电路会防止对模块造成破坏。

当目标板正确连线时,可以看到其正常运作。

1.13问:

MPLABICD2中的“SelfTest”起什么作用?

答:

“SelfTest”按钮有助于确定MPLABICD2模块或目标板连接的问题。

目标VDD如果选择了“PowerfromICD2”,则测试由MPLABICD2提供的VDD〔仅5V〕。

如果选择了“Powerfromtarget”,则测试由目标板提供的VDD〔2至6V〕。

Pass/Fail码:

错误表示在Advanced对话框中“Power”设置不正确,或者目标板的VDD高于/低于规定值。

模块VPP测试在编程过程中由MPLABICD2提供给目标板VPP/MCLR引脚

的编程电压(VPP)。

Pass/Fail码:

出现错误表明目标板VPP/MCLR引脚接线不正确。

MCLR=Gnd测试MPLABICD2为复位目标单片机,提供地电平给目标VPP/MCLR引脚的能力。

Pass/Fail码:

出现错误表明VPP/MCLR引脚接线不正确。

00=PassVDD在指定的范围内

01=MinerrorVDD低于指定的范围

80=MaxerrorVDD高于指定的范围

00=PassVPP在指定的范围内

01=MinerrorVPP低于指定的范围

80=MaxerrorVPP高于指定的范围

00=Pass地电平可以提供给目标VPP/MCLR引脚

80=Maxerror地电平对于目标VPP/MCLR引脚太高

MCLR=VDD

测试正常工作〔如‘Run’〕期间,MPLABICD2提供VDD给目标VPP/MCLR引脚的能力。

Pass/Fail码:

出现错误表明在Advanced对话框中“Power”设置不正确,或者目标的VDD高于/低于规定值。

MCLR=VPP

测试在编程过程中MPLABICD2提供VPP给目标VPP/MCLR引脚的能力。

Pass/Fail码:

出现错误表明VPP/MCLR引脚接线不正确。

1.14问:

通过RETFIE指令来使用高优先级中断时,为什么W、STATUS和BSR寄存器的值会改变?

答:

用于高优先级中断和CALLFAST的影子寄存器被MPLABICD2使用了。

这些是保留给MPLABICD2操作的资源。

如果断点设置在CALLFAST子程序内,或者在通过RETURNFAST或RETFIE指令使用了影子寄存器的高优先级中断服务程序内,将会出现问题。

00=PassVDD可提供给目标VPP/MCLR引脚

01=MinerrorVDD对于目标VPP/MCLR引脚太低

80=MaxerrorVDD对于目标VPP/MCLR引脚太高

00=PassVPP可提供给目标VPP/MCLR引脚

01=MinerrorVPP对于目标VPP/MCLR引脚太低

80=MaxerrorVPP对于目标VPP/MCLR引脚太高

1.15问:

当我在程序的起始位置设置一个断点时,为什么它停止在地址0001,而不是地址0000?

答:

MPLABICD2在断点后的指令上暂停。

这意味着设置了断点的地址0000处的指令会被执行,接着当它发现断点时,程序计数器会指向地址0001。

如果用户需要在其代码的第一条指令处暂停,他们必须在地址0000处插入一条NOP指令。

1.16问:

为什么我的校准存储器显示已擦除的值?

答:

MPLABIDE正在显示默认的存储器值。

要显示器件上的实际值,必须使用MPLABICD2进行一次器件读操作。

1.17问:

单步执行代码时,我的定时器超时了,但为什么我的定时器中断服务程序没有执行?

答:

单步执行时,在线调试器不允许PICmicro单片机响应中断。

如果允许的话,当用户有外部中断时,那么单步执行将几乎总是在中断服务程序中结束。

要调试中断,应在中断服务程序中设置断点并运行,这样在产生中断后执行到断点。

1.18问:

MCHP的工具串口属性都要做调整

答:

右击我的电脑——属性——硬件——设备管理器——端口(COM)——COM1(如果用其他COM,则选择相应的COMx)——属性——端口设置,好现在开始两个步骤的设置。

1,流控制方式——选择硬件

2,点击“高级”按纽——FIFOxxxxx....前面那个钩去掉。

不管用PLUS,还是ICD2用串口调试/烧写时,都要做以上动作。

设置完,可以考虑重新启动电脑,因为有的电脑需要重新启动后对串口的修改才能生效,有的是不需要。

拨特率,细心的客户可能会发现MCHP做的东西要嘛是19200,要嘛是57600,但电脑默认是9600,那么电脑的COM属性要做匹配调整吗,答案是——不需要。

1.19:

问:

经常有人用MCHP的ICD2,PLUS烧写,然后校验的时候提示错误0161

答:

这就表示烧写没烧成功,很多时候这是串口属性没设置引起的,修改后就OK了。

还有的可能比如工具底层固件突然崩溃。

PLUS的底层尤其脆弱。

解决也很简单——重新DOWNLOAD一下底层固件,也就是工具的OPERATINGSYSTEM。

另外,如果由于电源比较异常,也可能引起0161的问题。

1.20:

问:

MCHP的PLUS烧16C57

答:

MCHP的PLUS烧16C57,记得把芯片的26脚与烧写座脱离接触。

可以翘起来,烧完翘回去,当然,还可以在加一个28PIN座,把座子的26脚废了,那芯片与PLUS的烧写座26脚就实际上脱离了接触。

还有的人,打开了PLUS,断开了26脚,搞了个跳线,平时连通,需要烧57的时候把跳线拔掉,本质上也是做到脱离接触。

1.21:

问:

经常有这样的事情发生,仿真OK,烧写失败

其中一点,烧写方法有误导致的烧写失败。

烧PIC的片子,除非你用的是MCHP设计的工具,比如ICD2,ICE2000/4000,用任何的第三方设计的仿真工具,请执行按以下动作烧写,以保证烧写OK。

1,在仿真器下调试通过的源代码,拿到MCHP的编译器MPLABIDE下(现在最高版本V7.31),再次编译。

这时候可能需要建立必要的项目,而且必须对芯片类型,CONFIGBITS,进行相应的设置。

2,此时生产的HEX文件才是必然包含config信息的HEX文件,是值得信赖的烧写文件。

可以从FILE——EXPORT——导出HEX文件,提交烧写的专人。

3,用FILE——IMPORT导入HEX文件,检查检查芯片设置和CONFIG,然后烧写。

我们公司的2004,2002软件环境下生成的HEX文件是不包含config信息,一个同事用过wave的某款仿真器,也发现可能有类似的问题,最后拿到MPLABIDE下一编译再烧写,天下太平。

由于我们公司仅代理制造PLUS,ICD2,PIKIT2,遇到其他MCHP的烧写工具问题,请咨询相关的代理商或MCHP的FAE。

1.22:

问:

PICMCU中有A結尾和沒A結尾的兩中型號有什區別?

答:

带A的便宜。

不带A的行将停产,又贵。

877到877A,内部资源增加,工艺改变。

627到627A,内部资源不动,工艺改变。

使用ICD2支持dsPIC注意事项

使用ICD2调试dsPIC时需要注意以下内容:

1、调试线不能太长,建议20cm以内;

2、调试dsPIC时应先连接ICD2,然后再对用户板上电,否则有可能出现ICDWarning20或烧写失败提示

在使用某些旧版本ICD2调试dsPIC过程中可能会出现重新烧写项目时烧写失败的提示,解决方案如下:

1、拆开ICD2机壳,在主机板上找到R23、R36(180欧,0603);

2、将R23、R36更换为0欧0603的电阻,或使用焊锡将其短路即可;

如果用户不希望作以上更改也可以采用如下方式解决:

1、使用ICD2提供电源时,将调试线从用户板取下再插上(用户板下电),然后重新连接ICD2即可进行调试;或点击Debugger->DebuggerSettings->power设置为使用用户板电源,点“应用”,然后改回使用ICD2电源,再次点“应用”然后重新连接ICD2即可进行调试。

2、使用用户板电源时,应去掉用户板电源,连接ICD2一次,然后再对用户板上电。

此时重新连接ICD2即可进行调试。

开发工具ICD2使用方面需要注意的问题。

答:

按照第5章,故障诊断中所述,检查PGC、PGD和VPP连接以及电压,诊断故障。

确保目标PICmicro单片机已上电。

如果目标PICmicro单片机有AVSS和AVPP引脚,确认这些引脚都已正确连接。

1.2问:

为什么我需要ICD转接头?

答:

对于MPLABICD2支持的低引脚数器件,如果在线调试引脚被保留,将不能有效地使用这些器件。

试想一下,对于8个引脚的器件,6个I/O引脚失去其中3个的情形。

为此,生产了特殊的外合(bond-out)PICmicro单片机,这种单片机能通过一个转接头来仿真这些低引脚数器件,这使得能在目标应用中使用所有引脚。

外合(bond-out)PICmicro单片机具有在线通讯引脚与MPLABICD2接口。

这样做的优点是可以用MPLABICD2开发低引脚数器件。

缺点是,对于这些器件,为进行在线调试,不能只在目标应用中采用一个ICD2连接插座,还要使用外合(bond-out)PICmicro单片机。

这些外合(bond-out)PICmicro单片机类似于仿真器芯片,能支持多种器件。

在ICD转接头电路板上有跳线来配置芯片,以与开发使用的器件相匹配。

这些低引脚数器件可通过通用编程适配器,或者在目标应用上放置一个ICD2连接插座来连接这些器件的VPP、PGC和PGD,来采用MPLABICD2编程。

1.3问:

无法连接到MPLABICD2。

我现在该怎么做?

答:

MPLABICD2的电源灯亮了吗?

这个LED应该是明亮的。

如果它比较暗,可能只连接了USB,用户可能需要连接一个电源。

PC的RS-232口不能为MPLABICD2提供电源,不过USB口可以。

注意有些USB集线器不能提供电源。

请针对当前的故障线索,查看在线帮助。

USB驱动安装正确吗?

在Windows设备管理器对话框(如图6-1所示)中应该可以看到MPLABICD2的USB驱动。

一些USB集线器不能给连接的USB设备提供电源。

使用这些集线器时,需要在MPLABICD2上接一个电源。

1.4问:

ICD2响应“Targetnotindebugmodeerror.”这是什么意思?

答:

通常这说明MPLABICD2不能和调试执行程序通讯。

只能通过选择Debugger>rogram菜单,对用户应用中的目标PICmicro单片机编程,来下载调试执行程序。

也可能是其它原因使得调试执行程序不能通讯,如目标时钟或电源问题。

查看配置位,确保“BackgroundDebug”使能。

查看Config>ConfigurationBits...,确保看门狗被禁止,代码保护被关闭,并且振荡器设置正确。

1.5问:

MPLABICD2能和一个低电压运行的目标器件一起工作吗?

答:

是的。

只要目标PICmicro单片机支持低电压运行,它就能在VDD低至约2V的情况下运行。

在MPLABICD2的输入/输出缓冲器中有电平转换器。

这些输入/输出缓冲器通过目标器件的VDD供电。

另外,MPLABICD2会检测目标器件的工作电压,并正确地调整其功能来处理低电压操作,即使用正确的FLASH擦除算法。

在MPLABICD2的“Settings”对话框中,VDD需选择为“FromTarget”,并且在目标板上要有一个电源用于低电压运行。

1.6问:

MPLABICD2支持低电压编程(LVP)吗?

答:

不支持。

但这并不表示当目标器件运行在低电压VDD时,MPLABICD2不能正常工作。

只是表示施加到VPP上的编程电压应总是+12V。

1.7问:

为什么我在配置锁相环(PLL)振荡器时有问题?

MPLABICD2被挂起

答:

这是PICmicro单片机所要求的。

在对PLL振荡器的配置位编程后,电源需要断开然后再加到目标板上。

如果没有这样做,目标PICmicro单片机将没有时钟。

没有时钟,调试模式将不能工作。

同样,如果在切换到PLL模式时,电源没有被断开再连接,器件可能会运行,但没有使用PLL。

1.8问:

当我尝试安装时,为什么找不到驱动,即使当我能在驱动文件夹中看到它们,并且我在驱动向导中指向了正确的文件夹也不行?

答:

这个问题可以这样解决:

退出驱动安装向导,再到控制面板选择“AddNewHardware(添加新硬件)”。

在系统搜索新硬件后,选择“No,thedeviceisn’tinthelist.”,然后选择“No,Iwanttoselectthehardwarefromalist.”,再选择“UniversalSerialBusController,”。

当出现“HaveDisk...”按钮时,进入驱动文件夹,并选择正确的驱动。

1.9问:

我能使用MPLABICD2实现代码保护吗?

答:

不能。

代码保护,特别是程序存储器中任何区域的表读保护会妨碍MPLABICD2正常工作。

当使用MPLABICD2调试时,不要使用任何代码保护或表读保护的配置设置。

当烧写器件进行测试时,如果没有连接MPLABICD2,可以使能代码保护。

1.10问:

单步执行时,定时器为什么运行不正常?

答:

这是使用在线调试器的缺点之一。

由于代码实际上是在调试执行程序中运行,在调试执行程序运行期间,即使用户的应用程序被中止,定时器也会继续运行。

1.11问:

在使用PIC12F629/675或PIC16F630/676时,为什么会有警告和错误?

答:

在使用MPLABICD2过程中,这些器件的GP1/RA1引脚不能被拉高。

参见MPLABICD2Header(DS51292)文档,获得更多关于对这些器件使用ICD2的信息。

1.12问:

什么使电源和忙信号LED闪烁?

答:

这可能表示目标板上MPLABICD2连接插座的接线顺序反了(与接线图相反)。

灯闪烁表示由于有大电流,MPLABICD2正在关闭。

下面的测试表明目标板上接线顺序反了:

•查找闪烁的Power和Busy信号LED(电源可能都关断了)。

•执行一次“SelfTest”,查找“MCLR=VPP”上的小错误

(所有其它测试可能都会通过)。

•使用目标单片机的默认地址范围,执行一次编程。

引脚1

(VPP)上7-8V的电平太低了。

注意,如果目标板接线顺序相反,MPLABICD2中的保护电路会防止对模块造成破坏。

当目标板正确连线时,可以看到其正常运作。

1.13问:

MPLABICD2中的“SelfTest”起什么作用?

答:

“SelfTest”按钮有助于确定MPLABICD2模块或目标板连接的问题。

目标VDD如果选择了“PowerfromICD2”,则测试由MPLABICD2提供的VDD〔仅5V〕。

如果选择了“Powerfromtarget”,则测试由目标板提供的VDD〔2至6V〕。

Pass/Fail码:

错误表示在Advanced对话框中“Power”设置不正确,或者目标板的VDD高于/低于规定值。

模块VPP测试在编程过程中由MPLABICD2提供给目标板VPP/MCLR引脚

的编程电压(VPP)。

Pass/Fail码:

出现错误表明目标板VPP/MCLR引脚接线不正确。

MCLR=Gnd测试MPLABICD2为复位目标单片机,提供地电平给目标VPP/MCLR引脚的能力。

Pass/Fail码:

出现错误表明VPP/MCLR引脚接线不正确。

00=PassVDD在指定的范围内

01=MinerrorVDD低于指定的范围

80=MaxerrorVDD高于指定的范围

00=PassVPP在指定的范围内

01=MinerrorVPP低于指定的范围

80=MaxerrorVPP高于指定的范围

00=Pass地电平可以提供给目标VPP/MCLR引脚

80=Maxerror地电平对于目标VPP/MCLR引脚太高

MCLR=VDD

测试正常工作〔如‘Run’〕期间,MPLABICD2提供VDD给目标VPP/MCLR引脚的能力。

Pass/Fail码

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1