admin 发表于 2008-9-30 16:27:16

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

深圳市英锐恩科技有限公司 © 2007 版权所有 粤ICP备05114478号
总部地址:中国·深圳市福田区深南中路嘉汇新城汇商中心1203-1205。 H.K.地址:香港·九龙长沙湾永康街西港都会中心15A
电话(tel):86-755-88845951 82543511 82543411,传真(fax):86-755-82543511 E-mail:Enroo@Enroo.com
web:www.enroo.com
开发工具ICD2使用方面需要注意的问题。

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

答:按照第5 章,故障诊断中所述,检查PGC、PGD 和VPP 连接以及电压,诊断故障。确保目标PICmicro 单片机已上电。如果目标PICmicro 单片机有AVSS 和AVPP 引脚,确认这些引脚都已正确连接。

1.2 问: 为什么我需要 ICD 转接头?
答:对于MPLAB ICD 2 支持的低引脚数器件,如果在线调试引脚被保留,将不能有效地使用这些器件。试想一下,对于8 个引脚的器件, 6 个I/O 引脚失去其中3 个的情形。为此,生产了特殊的外合(bond-out) PICmicro 单片机,这种单片机能通过一个转接头来仿真这些低引脚数器件,这使得能在目标应用中使用所有引脚。外合(bond-out) PICmicro 单片机具有在线通讯引脚与MPLAB ICD 2 接口。这样做的优点是可以用MPLAB ICD 2 开发低引脚数器件。缺点是,对于这些器件,为进行在线调试,不能只在目标应用中采用一个ICD 2 连接插座,还要使用外合(bond-out) PICmicro 单片机。这些外合(bond-out) PICmicro 单片机类似于仿真器芯片,能支持多种器件。在ICD 转接头电路板上有跳线来配置芯片,以与开发使用的器件相匹配。这些低引脚数器件可通过通用编程适配器,或者在目标应用上放置一个ICD 2 连接插座来连接这些器件的VPP、PGC 和PGD,来采用MPLAB ICD 2 编程。

1.3 问: 无法连接到MPLAB ICD 2 。我现在该怎么做?

答:MPLAB ICD 2 的电源灯亮了吗?这个LED 应该是明亮的。如果它比较暗,可能只连接了USB,用户可能需要连接一个电源。PC 的RS-232 口不能为MPLAB ICD 2 提供电源,不过USB 口可以。注意有些USB 集线器不能提供电源。请针对当前的故障线索,查看在线帮助。USB 驱动安装正确吗?在Windows 设备管理器对话框(如图6-1 所示)中应该可以看到MPLAB ICD 2 的USB 驱动。一些USB 集线器不能给连接的USB 设备提供电源。使用这些集线器时,需要在MPLAB ICD 2 上接一个电源。

1.4 问: ICD 2 响应“Target not in debug mode error. ”这是什么意思?

答:通常这说明MPLAB ICD 2 不能和调试执行程序通讯。只能通过选择Debugger>Program 菜单,对用户应用中的目标PICmicro单片机编程,来下载调试执行程序。也可能是其它原因使得调试执行程序不能通讯,如目标时钟或电源问题。查看配置位,确保“Background Debug”使能。查看Config>Configuration Bits...,确保看门狗被禁止,代码保护被关闭,并且振荡器设置正确。

1.5 问: MPLAB ICD 2 能和一个低电压运行的目标器件一起工作吗?

答:是的。只要目标PICmicro 单片机支持低电压运行,它就能在VDD 低至约2V 的情况下运行。在MPLAB ICD 2 的输入/ 输出缓冲器中有电平转换器。这些输入/ 输出缓冲器通过目标器件的VDD 供电。另外, MPLAB ICD 2 会检测目标器件的工作电压,并正确地调整其功能来处理低电压操作,即使用正确的FLASH 擦除算法。在MPLAB ICD 2 的“Settings”对话框中, VDD 需选择为“From Target”,并且在目标板上要有一个电源用于低电压运行。



1.6 问: MPLAB ICD 2 支持低电压编程(LVP )吗?

答:不支持。但这并不表示当目标器件运行在低电压VDD 时,MPLAB ICD 2 不能正常工作。只是表示施加到VPP 上的编程电压应总是+12V。

1.7 问: 为什么我在配置锁相环(PLL )振荡器时有问题?MPLAB ICD 2 被挂起

答:这是PICmicro 单片机所要求的。在对PLL 振荡器的配置位编程后,电源需要断开然后再加到目标板上。如果没有这样做,目标PICmicro 单片机将没有时钟。没有时钟,调试模式将不能工作。同样,如果在切换到PLL 模式时,电源没有被断开再连接,器件可能会运行,但没有使用PLL。   

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

答:这个问题可以这样解决:退出驱动安装向导,再到控制面板选择“Add New Hardware (添加新硬件)”。在系统搜索新硬件后,选择“No, the device isn’t in the list.”,然后选择“No, I want to select the hardware from a list.”,再选择“Universal Serial Bus Controller,”。当出现“Have Disk...”按钮时,进入驱动文件夹,并选择正确的驱动。

1.9 问: 我能使用MPLAB ICD 2 实现代码保护吗?

答:不能。代码保护,特别是程序存储器中任何区域的表读保护会妨碍MPLAB ICD 2 正常工作。当使用MPLAB ICD 2 调试时,不要使用任何代码保护或表读保护的配置设置。当烧写器件进行测试时,如果没有连接MPLAB ICD 2,可以使能代码保护。

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

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

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

答:在使用MPLAB ICD 2 过程中,这些器件的GP1/RA1 引脚不能被拉高。参见MPLAB ICD 2 Header (DS51292)文档,获得更多关于对这些器件使用ICD 2 的信息。

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

答:这可能表示目标板上MPLAB ICD 2 连接插座的接线顺序反了(与接线图相反)。灯闪烁表示由于有大电流, MPLAB ICD 2 正在关闭。下面的测试表明目标板上接线顺序反了:
• 查找闪烁的Power 和Busy 信号LED (电源可能都关断了)。
• 执行一次“Self Test”,查找“MCLR=VPP”上的小错误
(所有其它测试可能都会通过)。
• 使用目标单片机的默认地址范围,执行一次编程。引脚1
(VPP)上7-8V 的电平太低了。
注意,如果目标板接线顺序相反, MPLAB ICD 2 中的保护电路会防止对模块造成破坏。当目标板正确连线时,可以看到其正常运作。

1.13 问:MPLAB ICD 2 中的“Self Test ”起什么作用?

答:“Self Test”按钮有助于确定MPLAB ICD 2 模块或目标板连接的问题。目标VDD如果选择了“Power from ICD2”,则测试由MPLAB ICD 2 提供的VDD 〔仅5 V〕。如果选择了“Power from target”,则测试由目标板提供的VDD 〔2 至6V〕。Pass/Fail 码:错误表示在Advanced 对话框中“Power”设置不正确,或者目标板的VDD 高于/ 低于规定值。模块VPP测试在编程过程中由MPLAB ICD 2 提供给目标板VPP/MCLR 引脚
的编程电压(VPP)。Pass/Fail 码:出现错误表明目标板VPP/MCLR 引脚接线不正确。MCLR=Gnd测试MPLAB ICD 2 为复位目标单片机,提供地电平给目标VPP/MCLR 引脚的能力。Pass/Fail 码:出现错误表明VPP/MCLR 引脚接线不正确。
00 = Pass VDD 在指定的范围内
01 = Min error VDD 低于指定的范围
80 = Max error VDD 高于指定的范围
00 = Pass VPP 在指定的范围内
01 = Min error VPP 低于指定的范围
80 = Max error VPP 高于指定的范围
00 = Pass 地电平可以提供给目标VPP/MCLR 引脚
80 = Max error 地电平对于目标VPP/MCLR 引脚太高
MCLR=VDD
测试正常工作〔如‘Run’〕期间, MPLAB ICD 2 提供VDD 给目标VPP/MCLR 引脚的能力。
Pass/Fail 码:
出现错误表明在Advanced 对话框中“Power”设置不正确,或者目标的VDD 高于/ 低于规定值。
MCLR=VPP
测试在编程过程中MPLAB ICD 2 提供VPP 给目标VPP/MCLR 引脚的能力。
Pass/Fail 码:
出现错误表明VPP/MCLR 引脚接线不正确。

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

答:用于高优先级中断和CALL FAST 的影子寄存器被MPLABICD 2 使用了。这些是保留给MPLAB ICD 2 操作的资源。如果断点设置在CALL FAST 子程序内,或者在通过 RETURN FAST 或RETFIE 指令使用了影子寄存器的高优先级中断服务程序内,将会出现问题。
00 = Pass VDD 可提供给目标VPP/MCLR 引脚
01 = Min error VDD 对于目标VPP/MCLR 引脚太低
80 = Max error VDD 对于目标VPP/MCLR 引脚太高
00 = Pass VPP 可提供给目标VPP/MCLR 引脚
01 = Min error VPP 对于目标VPP/MCLR 引脚太低
80 = Max error VPP 对于目标VPP/MCLR 引脚太高

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

答:MPLAB ICD 2 在断点后的指令上暂停。这意味着设置了断点的地址0000 处的指令会被执行,接着当它发现断点时,程序计数器会指向地址0001。如果用户需要在其代码的第一条指令处暂停,他们必须在地址0000 处插入一条NOP 指令。

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

答:MPLAB IDE 正在显示默认的存储器值。要显示器件上的实际值,必须使用MPLAB ICD 2 进行一次器件读操作。

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一下底层固件,也就是工具的OPERATING SYSTEM。另外,如果由于电源比较异常,也可能引起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的编译器MPLAB IDE下(现在最高版本V7.31),再次编译。这时候可能需要建立必要的项目,而且必须对芯片类型,CONFIG BITS,进行相应的设置。 2,此时生产的HEX文件才是必然包含config 信息的HEX文件,是值得信赖的烧写文件。可以从FILE——EXPORT——导出HEX文件,提交烧写的专人。 3,用FILE——IMPORT导入HEX文件,检查检查芯片设置和CONFIG,然后烧写。
我们公司的2004,2002软件环境下生成的HEX文件是不包含config信息,一个同事用过wave的某款仿真器,也发现可能有类似的问题,最后拿到MPLAB IDE下一编译再烧写,天下太平。
由于我们公司仅代理制造PLUS,ICD2,PIKIT2,遇到其他MCHP的烧写工具问题,请咨询相关的代理商或MCHP的FAE。

1.22:问:PIC MCU 中有A結尾和沒A結尾的兩中型號有什區別?

答:带A的便宜。不带A的行将停产,又贵。877到877A,内部资源增加,工艺改变。627到627A,内部资源不动,工艺改变。



--------------------------------------------------------------------------------


PICSTART PLUS 常见问题解答

注意:PICSTART PLUS 是开发型的编程器,适用于研发阶段的小批量试生产,不适用于量产生产,若需要大批量烧写芯片,请选择本公司的量产型专用编程器-PICPRO 系列。

PLUS_U 使用注意事项(着重于初次使用者):常见操作使用问题

1、不能找到串口

a)         确定硬件未损坏

b)      com设置是否正确

2、串口通讯失败

a)         确定FIFO是否关闭

b)      硬件连接是否正常

3、connect 时提示“需要更高版本才能支持”

a)         请查看软件和烧写器硬件版本是否支持该芯片

b)      确认升级是否成功

4、烧写后芯片不运行

a)         注意cfg设置是否正确

5、在烧写某些空白芯片时提示非空

a)         使用时请注意软硬件版本的匹配问题,最新购买的烧写器请使用7.0版本以上的软件。

6、18系列部分芯片在烧写时提示出错

18系列的部分芯片如18Fxx31等有AVDD和AVSS管脚,这两个管脚必须分别与VDD和Vss短接,否则可能会影响烧写

特殊管脚芯片烧写注意:

1、10F2xx
   10F2xx目前有2种封装:6-pin SOT 23和8-pin
   
   DIP6-pin SOT 23:(1)需要Programmer Adapter:AC163020
                  (2)需要PIC10F2xx SOT-23 to DIP-8 Programmer Adapter :AC163021
   
   8-pin DIP:(1)将芯片的第1脚对应烧写器上烧写座的第9脚放置,可直接烧写
            (2)需要Programmer Adapter:AC163020
   *以上提到的Programmer Adapter请直接向芯片供应商或者MCHP公司查询。

2、rfPIC12C509Ax

   需自制烧写座:芯片的1-4脚对应plus烧写座的1-4脚,芯片5-8对应plus烧写座的37-40脚,这样就可以烧写芯片的PIC12C509A部分。

3、PIC16C55A/C57C/F57
   
   这3款芯片在烧写时由于OSC2会对RB6产生干扰,所以在校验时会出现错误,在检查空白芯片时,读上来的数据为0xBFF,因此要正常烧写,需将芯片的26脚(OSC2)屏蔽掉。可以用一个28脚或40脚的烧写座,将烧写座的26脚去掉,然后用烧写座来烧写。

4、PIC16F818/819
   烧写这2款芯片时,需在MCLR 和 GND脚之间加一个1k的电阻。

5、PIC18C658/858和PIC18F6x20/8x20


*连接芯片上所有的VDD/VSS脚,连接示意图如下:

(Note: You must connect all VDD/VSS lines on the devices, as all are needed to power the chip correctly.)

PIN   PICSTART      PIC18C658         PIC18C658
      Plus 64-pin   package 68-pin    package
---   --------      --------------    --------------
VDD   11            10, 26, 38, 57    2, 20, 37, 49
VSS   12            9, 25, 41, 56   19, 36, 53, 68
MCLR    1               7               16
RB6   39            42                54
RB7   40            37                48

 

PIN   PICSTART      PIC18C858         PIC18C858
      Plus            80-pin package    84-pin package
---   --------      --------------    --------------
VDD   11            12, 32, 48, 71    2, 24, 45, 61
VSS   12            11, 31, 51, 70    23, 44, 65, 84
MCLR    1               9               20
RB6   39            52                66
RB7   40            47                60

 

PIN   PICSTART      PIC18F6X20      PIC18F8X20
      Plus            64-pin package    80-pin package
---   --------      --------------    --------------
VDD   11            10,19,26,38,57    12,25,32,48,71
VSS   12            9,20,25,41,56   11,26,31,51,70
MCLR    1               7               9
RB6   39            42                52
RB7   40            37                47


6、PIC18F2331/2431
   注意第7脚和11脚之间需加跳线

详情请查看最新版本MPLAB IDE安装目录下READMES\Readme for PICSTART Plus.txt文件Section7-12.所有信息以PICSTART Plus.txt文件为准。



MPLAB PM3 是Microchip 的单片机器件编程器。通过可更换的编程插座模块, MPLAB PM3 使您可以快速方便地对Microchip 的所有单片机进行编程。 MPLAB PM3 可在所支持的Windows 操作系统上运行,与MPLAB IDE 配合使用,也可以作为独立编程器使用。

1 MPLAB PM3 的功能

MPLAB PM3 可安装在PC 的串口(COM 1-4)或USB 通信端口上。用MPLAB PM3 可执行以下操作:

• 对器件的程序存储器、配置位、EEPROM 数据存储器、ID 地址单元和校准数据进 行编程。

• 在目标电路板上使用在线串行编程(In-Circuit Serial Programming™, ICSP™) 对器件编程,并通过GO、PASS 和FAIL 信号与MPLAB PM3 接口。

• 检查单片机是否为空白。

• 校验目标单片机中的代码与固件是否匹配。

• 将未代码保护单片机中的代码读取到MPLAB IDE 的程序存储器窗口,来调试并烧 写到其他器件。

• 用“带序列号的快速批量编程”(Serial Quick Turn Programming, SQTPSM)文 件将唯一的序列ID 号烧写到固件中。

• 将环境保存到MPLAB PM3 卡中

2.MPLAB PM3支持的型号
页: [1]
查看完整版本: 开发工具ICD2使用方面需要注意的问题