mplab IC2使用说明书
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ICD2系列说明书
声明:
本说明书仅针对M P L A B I C D2、P r o I C D2硬件部分,配合使用软件为M P L A B I D E V7.30以上版本。
软件附在随机光盘中,也可到网站上下载。
软件详细使用说明请查阅M P L A B I D E中文使用说明书。
本文档内容按“现状”提供,除非适用的法律另有规定,否则不对本文档的准确性、可靠性和内容做出任何类型的、明确或默许的保证。
本公司遵循发展的策略,因此保留在不预先通知的情况下对本文档描述的产品进行修改和改进并修订、更新文档的权利。
1
目录
使用软件 (2)
在线调试器和在线仿真器 (3)
装箱单 (5)
6芯排线连线说明 (6)
调试保留资源 (7)
ICD2支持的芯片型号 (8)
ICD2USB驱动安装 (11)
I C D2串口连接 (14)
使用I C D2作为调试器 (15)
2
使用I C D2作为烧写器 (32)
常见问题(FAQ) (35)
P RO ICD2使用说明 (39)
P R O I C D2装箱单 (44)
附录一TPDEM1 (45)
附录二TPDEM3 (47)
3
- 1 -
MPLAB ICD2简 介
M P L A B I C D 2,简称I C D 2,由美国M i c r o c h i p
公司设计,本公司授权制造。
使用软件
M P L A B I C D2使用的软件平台是M i c r o c h i p的M P L A B-I D E v7.30(建议使用最新版本),兼容
W i n98、W i n N T、W i n2000和W i n X P等操作系统。
因为M P L A B集成环境是M i c r o c h i p为其所有的开发工具研发的,故使用I C D2前需要选择工具。
又由于I C D2可以充当调试器和烧写器,所以在d e b u g g e r和P r o g r a m m e r菜单中都可以进行选择。
注意区分I C D2在这两种状态下的P r o g r a m按键所表示功能的不同。
在d e b u g g e r模式下,P r o g r a m表示把用户目标文件和监控程序一起烧入待调试的M C U中,这个程序在离开I C D2后是不能单独运行的。
- 2 -
在线调试器和在线仿真器
M P L A B I C D2在线调试器是I C E(在线仿真器,如P i c m a t e系列和I C E2000系列等)的一个廉价替代品。
这款低价位的P I C开发工具,利用F l a s h 工艺芯片的程序区读写功能,把监控程序连同用户程序一同烧入待调试的芯片中,利用监控程序来实现仿真调试功能。
当然,I C D2也具备烧写功能,可作为开发型的编程器使用。
它能完成很多以前只有昂贵的I C E才能做的工作,但这些好处是以牺牲在线仿真器的一些便利为代价的。
与I C E相比,在线调试器需要满足如下要求:l需要占用被仿真M C U的一些软硬件资源(详见下文)。
l需要占用M C U的管脚,这些管脚的连接有一定的限制。
l目标M C U必须有一个正常运行的时钟,并工作正常。
l系统中所有的连接都正常
l只能设置一个断点,每次调试都必须重新烧写一次程序。
l仿真功能和调试手段受限制,详见下文。
而I C E则完全没有上述限制,提供了最强大
- 3 -
的调试能力(断点类型丰富,断点个数不限,跟踪、触发等等)。
在开发和调试期间,I C E仿真器提供存储器和时钟,并能运行代码(即使没有与目标应用板相连);而I C D2要求每次研发时都必须有样片,在应用不运行时将根本无法进行调试,这两点要求(样片和硬件正常)对研发来说制约很大。
调试手段的限制主要有以下几点:
1)使用单步不能响应中断。
由于的硬件条件限
制,I C D2在执行单步时不能跳转到中断入口
处。
2)用户可以访问堆栈,但是不能观察其变化。
3)M P L A B-I D E状态栏中显示的时钟频率与实际
情况无关。
实际频率是由用户板上的振荡情况决定的,I D E不能正确的体现它。
4)每次修改程序之后或通讯异常都需要重新对
芯片进行编程。
仿真功能的限制主要有以下几点:
1)调试时不能使用S L E E P指令,即无法仿真睡眠的情况。
2)调试时不能使用W D T。
3)调试时不能开启芯片的代码保护(不能烧写保密位)。
4)调试时不能开启低电压烧写模式。
- 4 -
5)有内部复位内部振荡的芯片如16F917,不能同时使用内部复位,内部振荡。
一
旦使用过一次,下次再连接有可能无法
识别到目标芯片,此时需要用专用烧写
器如P L U S,P I C P R O将其插除后再次使用。
尽管I C D与I C E相比有一些不足,但它也有一些突出的优点:
l在产品量产后,只要保留6芯插针,即可直接与I C D2相连,而不需要取下单片
机来插入I C E仿真头。
l I C D2可以在目标应用中对固件再编程,而不需要其它在线烧写器设备。
装箱单
ICD2开发套件包括:
1)ICD2主机
2)USB电缆、RS232电缆
3)电源适配器
4)2根6芯电缆排线
5)说明书、装箱单和保修卡
6)安装光盘
7)TPDEM1板:选配,光盘内有配套demo 程序
- 5 -
- 6 -
6芯排线连线说明
2根6芯电缆排线,为了避免调试d s P I C 时线缆过长导致的不稳定,我们特意提供了一条短线。
排线可以直接把I C D 2连接到用户板。
只需用户板在布板时预留一个6芯插针接口(其中R B 3不用接)。
请注意排线的三角标记,以此来鉴别第一脚在哪边。
图1-2 ICD2 6芯排连线
调试保留资源
当使用M P L A B I C D2进行开发时,用户必须知道保留给调试用的器件资源。
可查看M P L A B I D E 在线帮助或者当前软件的R E A D M E文件来获得所使用处理器资源的细节。
通常来说,在线调试使用如下片内资源:
l M C L R/V P P为编程所共用。
l低电压编程(L o w-v o l t a g e p r o g r a m m i n g, L V P)禁止。
l P G C和P G D被保留用于编程和在线调试。
l一或两个堆栈单元被M P L A B I C D2调试器使用。
l几个通用数据寄存器被保留用于在线调试。
l程序存储器的高地址部分保留给调试执行代码。
l P I C18F X X X X单片机的影子堆栈在调试时不可用。
应用程序可以使用影子堆栈,
但不能调试快速中断返回或快速C A L L
子程序返回,因为I C D在获得一个断点
时会覆盖影子堆栈。
l当使用MPLAB ICD 2调试DSPIC系列
- 7 -
芯片时下列RAM空间无法使用:0x800
- 0x84F。
ICD2支持的芯片型号
M P L A B I C D2支持大部分F系列P I C芯片。
详情请查看M P L A B I D E菜单下的C o n f i g u r e->S e l e c t D e v i c e。
目前I C D2不支持的F L A S H工艺的P I C芯片有:P I C16F7x、P I C16F84A、P I C16F54/57。
此外,由于I C D2占用了M C U的一些管脚,对于管脚数量较少(8~20p i n)的芯片,这将变得不可接受,因为M C U的可用I O本来就不多。
这时I C D2需要使用仿真头,而不能直接通过6芯线进行调试。
下表列出了常见仿真头型号:
- 8 -
- 9 -
仿真头型号 可仿真的芯片型号
备 注
AC162050* PIC12F629/675 仿真头上为专用芯片,不能用普通芯片替代;专用芯片其实为普通芯片+调试管脚,从而减少对MCU 管腿的
占用。
AC162052* PIC16F630/676 AC162053* PIC16F627A/628A/648A AC162054 PIC16F716 AC162055 PIC16F684 AC162056 PIC16F688
AC162057 PIC12F635/PIC16F636 AC162058 PIC12F683
AC162059 PIC10F200/2/4/6、PIC12F508/509、PIC16F505 AC162066
PIC16F639
仿真头型号可仿真的芯片型号备注
AC162060 PIC16F785/HV785
AC162061 PIC16F685/687/689/690、PIC16F631/677
AC162070 PIC10F220/222、PIC12F510、PIC16F506
带*的仿真头,必须使用内部振荡或外部有源振荡;M C L R脚必须是高电平;当G P1/R A1为高电平时将无法进行调试;不能在对G P I O操作的指令上设置断点。
调试P I C18F X X X时:
1)设置的程序区必须8个w o r d对齐。
例如起始地址可以设置为0x10,而不能是0x12;结束地址可以是0x1F而不能是0x14。
2)对于P I C X X20,A V D D和 A V S S引脚必须接上。
- 10 -
ICD2 USB驱动安装
如果安装了错误的驱动,I C D2工作会有问题。
W i n d o w s经常会尝试安装默认的U S B驱动。
M P L A B I C D2不能使用默认的驱动。
如果遇到了问题,应查看硬件设备管理器来确认M i c r o c h i p的U S B 驱动列在U S B设备下。
有时未知的U S B设备会出现在“o t h e r d e v i c e s(其它设备)”列表下。
如果发现这样的设备,应将其移除,然后根据P C的相应操作系统按以下步骤进行操作。
手动安装步骤如下:
1、安装好M P L A B I D E软件;
2、当一个新的U S B设备第一次插入
W i n d o w s98/M E系统时,会出现一个对
话框提示系统找到了新硬件设备。
也可
能出现对话框告知用户设备的数据库正
在建立或更新。
点击“下一步”继续安
装;
3、选择“搜索适于我的设备的驱动程序”,
点击“下一步”;
4、如下图所示,选择“指定一个位置”,点
击“下一步”;
- 12 -
图2-1 安装USB 驱动步骤1
5、 如下图所示,在弹出的窗口中使用“浏
览”按钮来选择厂商文件复制来源。
图2-2 安装USB 驱动2
在常规安装下,这个路径(取决于您的操作
系统)应该为:
C:\P r o g r a m F i l e s\M i c r o c h i p\M P L A B
I D E\I C D2\D r i v e r s(或D r i v e r s2000等等)
\I C D2_U S B
这个路径必须包括以下文件:
I C D2W98.I N F或 I C D2W2K.I N F等等
I C D2W98.S Y S或I C D2W2K.S Y S等等
I C D2W98L.S Y S或I C D2W2K L.S Y S等等
6、设置完成后,点击“下一步”。
此时,M P L A B I C D2将“r e-e n u m e r a t e”。
可能会再次出现提示这种情形的一系列对话框。
系统应会自动加载与设备通讯所需的M P L A B I C D2U S B客户端驱动。
安装最后一个对话框将提示“M i c r o c h i p M P L A B I C D2F i r m w a r e L o a d e r”已经安装完毕。
点击“完成”来结束安装。
上述步骤完成后就可以正常使用了。
- 13 -
I C D2串口连接
M P L A B I D E的默认连接方式是U S B,如果不做处理,每次启动软件,都默认为U S B方式连接。
要更默认连接为串口方式,请按以下步骤操作:
打开M P L A B I D E,调试器或者编程器菜单,S e l e c t t o o l----I C D2。
然后通过M P L A B I C D2 S e t u p W i z a r d进行设置,设置一次后即可将默认通讯方式改为串口。
如果采用串口连接,还应如下设置,以保证连接的可靠性。
打开“设备管理器”(通过右击我的电脑——属性——硬件打开设备管理器),在“端口(C O M 和L P T)”一栏中选择相应的C O M x,打开其属性对话框(双击或右键选择),在“端口设置”页面。
进行如下设置。
l流控制方式;请选择为“硬件”。
l点击“高级”按纽,“使用F I F O缓冲区……”前面那个钩去掉,即不使用
F I F O。
设置完,为保证设置可靠有效,最好重新启动电脑。
一旦设置好,下次使用则无需再设置。
- 14 -
使用I C D2作为调试器
1.硬件连接
硬件的正确连接步骤是:
1)用U S B线或连接P C和I C D2主机;
2)用6芯软线连接I C D2主机和仿真头;
3)将仿真头插到用户板上;
4)确认I C D2的电源设置后接上I C D2电源或给用户板上电;
注:如果用户不使用仿真头,而是通过用户板预留接口进行调试,那么步骤2)和3)应合并为:用6芯软线连接I C D2主机和用户板的调试接
口(调试接口的连接方式见第一章的“烧写配置”
章节)。
2.设置ICD2
2.1 选择芯片
首先,用户需要选择调试芯片的型号(不同系列的芯片其调试系统是不一样的),点击主菜单
的C o n f i g u r e->S e l e c t D e v i c e,在D e v i c e窗口的
下拉菜单里选择需要调试的芯片型号。
如图3-1所示。
选择了相应芯片之后,用户将会在下面的“M i c r o c h i p P r o g r a m m e r T o o l S u p p o r t”框和
“M i c r o c h i p D e b u g g e r T o o l S u p p o r t”框里看到
- 15 -
- 16 -
各种M i c r o c h i p 烧写工具和调试工具对该芯片的支持情况;其中:
1)红点表示该工具目前还不支持当前芯片; 2)绿点表示该工具可以支持当前芯片; 3)黄点表示该工具目前对当前芯片的支持还处在测试状态;
在选择芯片完型号之后点击“O K ”确认。
2.2 设置工具选项
2.2.1 选择工具类型 如果用户选择I C D 2作为调试工具,那么需要在M P L A B I D E 中进行设置。
点击主菜单的D e b u g g e r ->S e l e c t T o o l ,选择为M P L A B I C D 2。
图3-1 选择芯片型号窗口
这时系统将会提示“I C D W a r n0030:I C D2i s a b o u t t o d o w n l o a d a n e w o p e r a t i n g s y s t e m.……
D o w n l o a d i n g O p e r a t i n g S y s t e m”。
这是系统在下载配合该芯片使用的硬件操作系统,用户需要等待一段时间以便完成此操作。
当硬件操作系统下载完成之后,系统将会检查I C D2的连接情况。
如果提示“T a r g e t D e v i c e ****f o u n d”那么一切正常;如果提示“I C D W a r n0020:I n v a i l d t a r g e t d e v i c e i d……”那么请检查电源设置以及6芯电缆的连接情况。
2.2.2 设置通信方式
如果用户连接了I C D2的U S B线,并安装了相应的U S B驱动程序,那么M P L A B I D E将默认I C D2的通信方式为U S B接口方式。
如果用户需要更改通信的方式,那么用户需要重新设置它。
点击主菜单的D e b u g g e r->S e t t i n g s。
系统将弹出一个I C D D e b u g g e r窗口,选择“C o m m u n i c a t i o n”。
在“C o m P o r t”栏里选择相应的C O M口,然后在“B a u d R a t e”栏里选择相应的通讯波特率(如图3-2所示)。
设置完成后点击下方的“应用”按钮来保存设置。
- 17 -
- 18 -
图3-2 设置通信方式
2.2.3 设置编程选项 在I C D D e b u g g e r 窗口里选择“P r o g r a m ”来设置相应的编程选项。
在“S e l e c t M e m o r i e s ”栏
目里相应的选项之前打上钩,比如如果在“I D ”
前打上勾,在编程时将会写入用户I D 码。
用户还可以设置编程时程序的起始和和终止地址,在“P r o g r a m M e m o r y A d d r e s s ”(程序存储器地址)栏目里设置相应的选项。
在设置时请注意开始字节不能超过0x 10,而结束地址则需要符合I C D 2的编程要求为监控程序模块预留255个语句的空间。
合理设置起始和结束地址可以增加调试的速度。
设置完成后点击下方的“应用”按钮来保存设置。
- 19 -
图3-3设置编程选项
2.2.4 电源设置
如果用户没有为目标板设计电源,那么需要选择为由I C D 2提供电源的方式。
在I C D D e b u g g e r 窗口里选择“P o w e r ”来设置相应选项,如图3-4所示。
为避免对目标板负载过重对I C D 2带来损伤影响调试,编程,强烈建议采用目标板独立供电。
如果用户目标板上面已经有电源了,不需要由主机来提供那么请您把“P o w e r t a r g e t c i r c u i t f r o m M P L A B I C D 2”(从I C D 2供电)前面的勾去掉。
使用“U p d a t e ”按键可以让用户刷新目前目标板上的V d d 、V p p 以及主机提供的烧写电压情况。
设置完成后点击下方的“应用”按钮来保存设置。
- 20 -
图3-4设置电源
2.2.5 工具信息 用户还可以在I C D D e b u g g e r 窗口面了解到调试器其他相关的信息:
u “S t a t u s ”栏目:显示当前状态,在此
栏目中可以执行自检; u “W a r n i n g ” 栏目:显示警告信息,用
户可以在这个栏目里决定是否打开相关的警告信息; u “L i m i t a t i o n ” 栏目:从这里用户可以
了解到I C D 2的一些使用限制; u “V e r s i o n s ” 栏目:版本信息; 当I C D D e b u g g e r窗口的所有项目设置完成
- 21 -
后,如果点击“确定”退出设置,则系统将会保存所有当前的设置;如果点击I C D D e b u g g e r 窗口右上方的“×”来退出设置,那么所有未“应用”的设置将不被保存。
2.3 设置芯片的CONFIG 字
要使芯片能正确地工作用户还需要设置相应的C O N F I G 字,点击主菜单的C o n f i g u r e -> C o n f i g u r a t i o n B i t s 来进行相应的设置。
系统将会弹出一个“C o n f i g u r a t i o n B i t s ”窗口,如图3-5
所示。
图3-5 Configuration 设置窗口
点击“S e t t i n g ”列里面的相应选项之后系统将会出现一个下拉菜单,用户可以在这个菜单里面选择相应的设置。
请注意在使用I C D 2作为调试
器的时候,需要关闭“L o w V o l t a g e P r o g r a m”(低电压编程)选项,以及关闭“C o d e P r o t e c t”(代码保护);同时将“B a c k g r o u n d D e b u g”(背景调试)选项打开。
用户芯片的配置是需要根据实际情况来选择,否则芯片可能无法正常工作而导致I C D2出现错误提示。
2.4 设置语言工具
如果用户需要使用C语言来编程,那么用户还需要设置语言工具的路径。
点击主菜单的P r o j e c t->S e t L a n g u a g e T o o l L o c a t i o n s…来设置语言工具路径。
在系统弹出的“S e t L a n g u a g e T o o l L o c a t i o n s”(设置语言工具位置)对话框里选择相应的语言工具,本例中选择的是H I T E C H P I C C编译器。
在相应的语言选项的子树“E x e c u t a b l e s”(可执行文件)树下点击相应的选项,使用“B r o w s e”(浏览)来设置对应的可执行文件。
如图3-6所示。
- 22 -
- 23 -
图3-6
设置语言工具的路径
在本例中,我们将“H I -T E C H A s s e m b l e r ”、“H I -T E C H C o m p l i e r ”和“H I -T E C H L i n k e r ”都设置指向为D :\H T -P I C \b i n \p i c c .e x e ,这是我的P C 上的H I T E C H P I C C 编译器路径,用户应该根据实际安装情况来设置。
如果用户只使用汇编语言进行编程,那么他们可以不设置这项,直接使用默认设置。
3 建立工程项目
3.1 建立项目 在对源程序进行调试之前首先需要建立一个项目,这样M P L A B I D E系统就能把相关的调试信息包含进去。
- 24 -
点击主菜单的P r o j e c t ->N e w ,来建立新的项目。
在系统弹出来的“N e w P r o j e c t ”(新项目)窗口里面的“P r o j e c t N a m e ”(项目名称)栏里面是输入相应的项目名,建议项目的名称要和源程序的名次一致。
然后使用“B r o w s e ”(浏览)按钮来选择源程序所在的路径。
如图3-7所示。
建议用户将所有的调试所需的文件放在同一个目录里,以便于调试。
在所有设置完成之后点击“O K
”退出。
图3-7 建立新的项目
这时系统将在所选择的路径里生成一个后缀为.mcp 的文件。
- 25 -
3.2添加(删除)文件
接下来需要把调试所需的文件加入到项目里。
用户将会在主界面里看到一个“*.m c w ”的窗口,在“*.m c p ”的树下有四个分支,分别是“S o u r c e F i l e s ”(源程序)、“H e a d F i l e s ”(头文件)、“O b j e c t F i l e s ”(目标文件)及“L i b r a r y F i l e s ”库文件。
如图3-8所示。
用户可以通过右键菜单“A d d F i l e s ”来添加文件,这些文件通常被称之为节点文件,是需要在调试过程调用的。
同样,用户可以在选定的文件上使用右键菜单来删除文件。
在删除该文件之前请确认此文件
已经不再被该项目使用。
- 26 -
4 使用ICD2进行调试
4.1调试准备步骤
在完成前面的设置应正确连接好硬件之后,用户就可以开始使用了。
4.1.1 连接 使用主菜单的D e b u g g e r ->C o n n e c t ,或直接使用工具栏上的快捷图标来连接。
连接成功之后在“O u t p u t ”窗口的“M P L A B I C D 2”信息页里将提示 “T a r g e t D e v i c e **** f o u n d,r e v i s i o n =**”,如图3-10所示,如果提示“I C D W a r n 0020:I n v a i l d t a r g e t d e v i c e i d ……”那么请检查电源设置以及6
芯电缆的连接情况。
图3-10 主界面及信息窗口
4.1.2 编译
接下来用户要进行编译,以便生成相应的调试文件。
点击主菜单的P r o j e c t->B u i l d A l l来编译整个项目,或者使用工具栏上的快捷图标。
如图3-10所示。
编译的结果将在“O u t p u t”窗口的“B u i l d”页显示。
如果编译发现了错误,则将不能生成调试所需的.h e x文件,这样是不能继续进行下一步的。
用户需要根据该页的提示改正程序之后,重新编译,直至编译器没有发现错误。
4.1.3 编程(烧写)
当“O u t p u t”窗口的“B u i l d”页中提示编译成功之后,编译过程生成了相应的.h e x文件。
此
时用户需要使用工具栏上的“编程”快捷图标对
目标芯片进行编程,在编程时需要注意芯片的
C O N F I G字设置(祥见§3.2.3设置芯片的C O N F I G
字)以及编程区域设置(详见§3.2.2.3设置编
程选项)。
如果编程过程中出现“C o n f i g区校验失败”
的提示,请检查芯片的M C L R脚电路。
如果您采用
的是直接接到电源的上拉方式,请直接断开该线
路。
- 27 -
4.2 运行及调试
在编程成功之后用户就可以进行调试了。
I C D2提供了多种运行及调试的手段。
综合运用这些运行调试手段可以比较方便的验证程序的功能,并发现其中存在的缺陷和错误。
4.2.1 运行方式
按工具栏上的快捷图标的顺序由左至右,I C D2运行的方式有:
u“R u n”:全速运行,如果运行过程中遇到了断点将会停止。
使用这个运行方式
可以直观的观察到程序的运行效果,并
整体的验证其功能;
u“H a l t”:停止运行。
请注意,由于I C D2
是通过使用F l a s h工艺芯片的自编程功
能来实现调试功能的,在执行此功能时,
并不代表芯片已经实际停止了运行,而
只是不再执行当前程序的功能了。
此时
如果发生了掉电或者干扰导致芯片与
I C D2主机之间发生了通信错误,则用户
需要重新执行“连接->编程”的过程。
u“S t e p I n t o”:单步执行。
使用单步的
功能可以观察到当前语句执行的效果。
利用单步功能可以实现多种调试目的,
例如,可以使用该功能来观察程序分支
- 28 -
的跳转方向,或者用来观察数据的转移、
运算等。
u“S t e p O v e r”:块单步。
使用这个功能时系统将跳过子程序的调用过程,直接
执行到调用的下一语句,这样用户在遇
到“C A L L”语句时就可以利用这个功能
直接看到调用的结果了。
假如该语句调
用的是没有必要进行分析的延时子程
序,那么使用此功能就可以避免陷入单
步执行烦琐的循环过程的麻烦。
u“R e s e t”:使芯片复位。
对于汇编源程序来说,执行此功能后程序P C将指向芯
片的复位地址;对于C语言源程序来说,
执行此功能后程序P C则是指向m a i n()
函数首地址。
4.2.2 断点设置
断点功能是在调试中经常使用到的功能,这项功能使芯片在运行到相应的程序语句时停止下来。
在程序运行到断点停下为的时候,用户可以根据目标板的运行情况或者相关R A M的值来分析运行的情况。
(I C D2只能提供一个断点。
)
4.2.3观察变量设置
在运行调试的过程中,用户可能经常会需要观察一些寄存器的值。
为了使用方便,可以把一
- 29 -
- 30 -
些经常要查看的寄存器设置为观察变量。
使用主菜单命令V i e w ->W a t c h来进行设置,系统将会弹出一个“W a t c h ” (观察变量)窗口。
如图3-11
所示。
图3-11 观察变量窗口
在窗口的“A d d S F R ”按钮后面的下拉菜单中显示的是特殊寄存器的名称,用户可从下拉菜单中选取并使用“A d d S F R ”按钮将需要观察的特殊寄存器添加到观察变量列表中。
同样的,用户可以在“A d d S y m b o l ”按钮后的下拉菜单中选取自定义的标号,并使用该按钮将所选标号添加到观察变量列表中去。
为了观察的方便,用户还可以利用观察变量窗口中的“W a t c h 1”~“W a t c h 4”4个子窗口分类添加观察变量。
I C D 2提供了多种的变量观察方式,用户可以使用包括用户自行设定的观察变量以及通用存储
器、程序存储器、硬件堆栈和E E P R O M等窗口。
使
用主菜单的“V i e w”选项可以打开或关闭这些窗口。
- 31 -
使用I C D2作为烧写器
1 ICD2的烧写设置
1.1 选择芯片
同上(见第19页)
1.2 设置工具选项
1.2.1 选择工具类型
如果用户选择I C D2作为烧写工具,那么需要在M P L A B I D E中进行设置。
点击主菜单的P r o g r a m m e r->S e l e c t P r o g r a m m e r,选择为M P L A B I C D2。
其他与上文第22页(2.2.1选择工具类型)相同。
1.2.2 设置通信方式
设置方法请参看第22页(2.2.2 设置通信方式)。
1.2.3 设置编程选项
在“M P L A B I C D2S e t t i n g s”窗口里选择“P r o g r a m”来设置相应的编程选项。
设置方法请参看§3.2.2.3设置编程选项,设置完成后点击下方的“应用”按钮来保存设置。
1.2.4 电源设置
在“M P L A B I C D2S e t t i n g s”窗口里选择“P o w e r”来设置相应选项,在作为编程器使用时用户必须把“P o w e r t a r g e t c i r c u i t f r o m M P L A B
- 32 -
I C D2”(从I C D2供电)前面的勾选上。
使用“U p d a t e”按键可以让用户知道目前目标板上的V d d、V p p以及主机提供的烧写电压情况。
设置完成后点击下方的“应用”按钮来保存设置。
1.3 设置芯片的CONFIG字
要使芯片能被正确烧写,您还需要设置相应的C O N F I G字。
C O N F I G配置如果和实际需求不一致,芯片将无法正常工作。
配置方法同第29页(2.3设置芯片的C O N F I G 字)。
除非有特殊需要,否则最好将 “L o w V o l t a g e P r o g r a m”(低电压编程)选项关闭。
如果选择开启了这个选项,那么芯片将会在特定条件下启动低电压烧写模式(详情请参看该芯片的烧写资料)。
2 导入烧写代码文件
在进行烧写之前,首先要将需要烧写的代码文件(.hex文件)导入到内存中。
用户可以使用主菜单的File->Import命令来导入需要烧写的hex文件。
如果用户希望从母片中导入代码文件,那么可以使用主菜单的Programmer->Read来将代码读入内存中,读入之后根据实际应用情况设置CONFIG字之后即可烧
- 33 -
写。
3 烧写芯片1
导入代码文件之后即可进行芯片的烧写,用户即可以使用主菜单的“Programmer”子菜单下的烧写相关命令,也可以使用工具栏的快捷图标来进行相关操作。
工具栏的快捷图标从左到右依次对应的主菜单操作是:
²Program:烧写芯片。
²Read:读取芯片内容。
注意:如果芯片
1注意:MPLAB ICD2非设计为量产烧写使用,由于客户强行用其量产烧写带来的损失,均不在保修范围内。
已加密,那么读出的内容将不是正确的
代码,而是无效代码(通常是全0)。
²V erify:程序区校验。
如果芯片已加密,
将提示校验失败。
²Erase Part:擦除目标芯片。
执行此操作
成功后,目标芯片将成为空白芯片。
²Blank Check:检验目标芯片是否为空白
芯片。
作为烧写器使用时的硬件配置情况请参考§
1.3.2烧写配置。
- 34 -
常见问题(FAQ)
1、ICDWarn0020:Invaild target device id ……出现这项提示时请确认:
u用户板上的芯片是正确的;
u芯片与主机之间的通信良好;
u电源设置是否正确;
u芯片的调试引脚线路上是否有电容或电感,如果有,请去除。
解析:20警告提示ICD2主机未读到正确的芯片ID,常见的是读回ID为00的情况。
在ICD2
读芯片ID时,必须访问到芯片的ID区,要做到这一点的前提是要进入烧写模式并且ICD2主机与芯片之间的数据通道通畅。
因此出现这个警告(Device ID=00)可能是因为:芯片未进入烧写模式(待调芯片电源设置不正确或接口引脚连接错误),ICD2主机读到错误数据(接口引脚连接错误、ICD2主机与芯片的引脚之间接触不良、接口引脚上有电容或电感特性的元件导致ICD2主机的数据不正确)。
特别提醒:ICD2主机与芯片之间的6芯扁平电缆的水晶头与卡座之间由于经常需要拔插的缘故比较容易松动而导致接触不良,大部分的20警
- 35 -
告都是由于这个原因产生的。
如果读回的ID不是00,但与期望的ID不符合,则为选择的芯片类型与实际的目标芯片类型不符合。
2、ICD0019:Failed to open port:
ICD0021:Unable to connect with MPLAB ICD2
出现这项提示时请确认:
u ICD2是否通过USB连接到PC,且设置中的POWER设置是否正确;
u驱动是否正确安装,或者由于PC的USB 口供电不足导致驱动无法正确加载。
解析:这两项一般会同时出现,如果ICD2未通过USB连接到PC,或者由于主板的USB口供电不足,以及驱动未正确安装,导致软件无法正确加载ICD2驱动,无法建立PC与ICD2之间的通讯,则会导致软件提示无法打开USB端口,无法连接到ICD2。
3、ICD0161: Verify failed (MemType = MemType, Address = Address, Expected Val = MPLAB MemoryVal, Val Read = TargetVal) 提示烧写检
验失败
出现该错误时,请确认:
u芯片连接正确(烧写前没有20警告);
- 36 -。