英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流

 找回密码
 立即注册
搜索
电子烟方案单片机单片机开发深圳单片机开发
单片机方案国产单片机8位单片机电子烟方案开发
查看: 3365|回复: 0
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
1#
发表于 2008-9-30 16:27:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
深圳市英锐恩科技有限公司 © 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 下一条

小黑屋|公司首页|Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流 ( 粤ICP备09008620号 )

GMT+8, 2024-11-27 22:45 , Processed in 0.051994 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表