MPLABICD2使用说明书-MPLABICD2.doc_第1页
MPLABICD2使用说明书-MPLABICD2.doc_第2页
MPLABICD2使用说明书-MPLABICD2.doc_第3页
MPLABICD2使用说明书-MPLABICD2.doc_第4页
MPLABICD2使用说明书-MPLABICD2.doc_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ICD2 系列系列说明书说明书 1 / 55 声声 明:明: 本说明书仅针对 MPLAB ICD2、ProICD2 硬件部分,配合使用软件为 MPLAB IDE V7.30 以上版本。 软件附在随机光盘中,也可到网站上下载。软件详细使用说明请查阅 MPLAB IDE 中文使用说明书。 本文档内容按“现状”提供,除非适用的法律另有规定,否则不对本文档的准确性、可靠性和内 容做出任何类型的、明确或默许的保证。 本公司遵循发展的策略,因此保留在不预先通知的情况下对本文档描述的产品进行修改和改进并 修订、更新文档的权利。 2 / 55 目目 录录 使用软件- 2 - 在线调试器和在线仿真器- 3 - 装箱单- 5 - 6 芯排线连线说明- 6 - 调试保留资源- 7 - ICD2 支持的芯片型号- 8 - ICD2 USB 驱动安装 - 11 - ICD2 串口连接- 14 - 使用 ICD2 作为调试器- 15 - 3 / 55 使用 ICD2 作为烧写器- 32 - 常见问题(FAQ)- 35 - PROICD2 使用说明 - 39 - PROICD2 装箱单- 44 - 附录一 TPDEM1- 45 - 附录二 TPDEM3- 47 - - 1 - / 55 MPLAB ICD2 简简 介介 MPLAB ICD2,简称 ICD2,由美国 Microchip 公司设计,本公司授权制造。 - 2 - / 55 使用软件使用软件 MPLAB ICD2 使用的软件平台是 Microchip 的 MPLAB-IDE v7.30(建议使用最新版本) ,兼容 Win98、WinNT 、Win2000 和 WinXP 等操作系统。 因为 MPLAB 集成环境是 Microchip 为其所有 的开发工具研发的,故使用 ICD2 前需要选择工 具。又由于 ICD2 可以充当调试器和烧写器,所 以在 debugger 和 Programmer 菜单中都可以进行 选择。 注意区分 ICD2 在这两种状态下的 Program 按键所表示功能的不同。在 debugger 模式下, Program 表示把用户目标文件和监控程序一起烧 入待调试的 MCU 中,这个程序在离开 ICD2 后是 不能单独运行的。 - 3 - / 55 在线调试器和在线仿真器在线调试器和在线仿真器 MPLAB ICD2 在线调试器是 ICE(在线仿真器, 如 Picmate 系列和 ICE2000 系列等)的一个廉价 替代品。这款低价位的 PIC 开发工具,利用 Flash 工艺芯片的程序区读写功能,把监控程序 连同用户程序一同烧入待调试的芯片中,利用监 控程序来实现仿真调试功能。当然,ICD2 也具备 烧写功能,可作为开发型开发型的编程器使用。 它能完成很多以前只有昂贵的 ICE 才能做的 工作,但这些好处是以牺牲在线仿真器的一些便 利为代价的。 与 ICE 相比,在线调试器需要满足如下要 求: 需要占用被仿真 MCU 的一些软硬件资源 (详见下文) 。 需要占用 MCU 的管脚,这些管脚的连接 有一定的限制。 目标 MCU 必须有一个正常运行的时钟, 并工作正常。 系统中所有的连接都正常 只能设置一个断点,每次调试都必须重 新烧写一次程序。 仿真功能和调试手段受限制,详见下文。 - 4 - / 55 而 ICE 则完全没有上述限制,提供了最强大 的调试能力(断点类型丰富,断点个数不限,跟 踪、触发等等) 。 在开发和调试期间,ICE 仿真器提供存储器 和时钟,并能运行代码(即使没有与目标应用板 相连) ;而 ICD2 要求每次研发时都必须有样片, 在应用不运行时将根本无法进行调试,这两点要 求(样片和硬件正常)对研发来说制约很大。 调试手段的限制主要有以下几点: 1)使用单步不能响应中断。由于的硬件条件限 制,ICD2 在执行单步时不能跳转到中断入口 处。 2)用户可以访问堆栈,但是不能观察其变化。 3)MPLAB-IDE 状态栏中显示的时钟频率与实际 情况无关。实际频率是由用户板上的振荡情 况决定的,IDE 不能正确的体现它。 4)每次修改程序之后或通讯异常都需要重新对 芯片进行编程。 仿真功能的限制主要有以下几点: 1) 调试时不能使用 SLEEP 指令,即无法仿 真睡眠的情况。 2) 调试时不能使用 WDT。 3) 调试时不能开启芯片的代码保护(不能 - 5 - / 55 烧写保密位) 。 4) 调试时不能开启低电压烧写模式。 5 5) 有内部复位内部振荡的芯片如有内部复位内部振荡的芯片如 16F91716F917, 不能同时使用内部复位,内部振荡。一不能同时使用内部复位,内部振荡。一 旦使用过一次,下次再连接有可能无法旦使用过一次,下次再连接有可能无法 识别到目标芯片,此时需要用专用烧写识别到目标芯片,此时需要用专用烧写 器如器如 PLUSPLUS,PICPROPICPRO 将其插除后再次使用。将其插除后再次使用。 尽管 ICD 与 ICE 相比有一些不足,但它也 有一些突出的优点: 在产品量产后,只要保留 6 芯插针,即 可直接与 ICD2 相连,而不需要取下单 片机来插入 ICE 仿真头。 ICD2 可以在目标应用中对固件再编程, 而不需要其它在线烧写器设备。 装箱单装箱单 ICD2 开发套件包括: 1) ICD2 主机 2) USB 电缆、RS232 电缆 3) 电源适配器 4) 2 根 6 芯电缆排线 5) 说明书、装箱单和保修卡 6) 安装光盘 - 6 - / 55 7) TPDEM1 板:选配板:选配,光盘内有配套 demo 程序 6 6 芯排线连线说明芯排线连线说明 2根6芯电缆排线,为了避免调试dsPIC时线 缆过长导致的不稳定,我们特意提供了一条短线。 排线可以直接把ICD2连接到用户板。只需用 户板在布板时预留一个6芯插针接口(其中RB3不 用接)。请注意排线的三角标记,以此来鉴别第 一脚在哪边。 图图 1-2 ICD2 6 芯排连线芯排连线 - 7 - / 55 调试保留资源调试保留资源 当使用 MPLAB ICD 2 进行开发时,用户必 须知道保留给调试用的器件资源。可查看 MPLAB IDE 在线帮助或者当前软件的 README 文件来获 得所使用处理器资源的细节。通常来说,在线调 试使用如下片内资源: MCLR/VPP 为编程所共用。 低电压编程(Low-voltage programming, LVP)禁止。 PGC 和 PGD 被保留用于编程和在线调试。 一或两个堆栈单元被 MPLAB ICD 2 调 试器使用。 几个通用数据寄存器被保留用于在线调 试。 程序存储器的高地址部分保留给调试执 行代码。 PIC18FXXXX 单片机的影子堆栈在调试 时不可用。应用程序可以使用影子堆栈, 但不能调试快速中断返回或快速 CALL 子程序返回,因为 ICD 在获得一个断点 时会覆盖影子堆栈。 当使用 MPLAB ICD 2 调试 DSPIC 系列 - 8 - / 55 芯片时下列 RAM 空间无法使用: 0 x800 - 0 x84F。 ICD2 支持的芯片型号支持的芯片型号 MPLAB ICD2 支持大部分 F 系列 PIC 芯片。 详情请查看 MPLAB IDE 菜单下的 Configure- Select Device。 目前 ICD2 不支持的 FLASH 工艺的 PIC 芯片 有:PIC16F7x、PIC16F84A、PIC16F54/57。 此外,由于 ICD2 占用了 MCU 的一些管脚, 对于管脚数量较少(820pin)的芯片,这将变 得不可接受,因为 MCU 的可用 IO 本来就不多。 这时 ICD2 需要使用仿真头,而不能直接通过 6 芯线进行调试。下表列出了常见仿真头型号: 仿真头型号仿真头型号可仿真的芯片型号可仿真的芯片型号备备 注注 - 9 - / 55 AC162050*PIC12F629/675 AC162052*PIC16F630/676 AC162053*PIC16F627A/628A/648A AC162054PIC16F716 AC162055PIC16F684 AC162056PIC16F688 AC162057PIC12F635/PIC16F636 AC162058PIC12F683 AC162059PIC10F200/2/4/6、PIC12F508/509、PIC16F505 AC162066PIC16F639 仿真头上为专用芯 片,不能用普通芯 片替代;专用芯片 其实为普通芯片 调试管脚,从而减 少对 MCU 管腿的 占用。 仿真头型号仿真头型号可仿真的芯片型号可仿真的芯片型号备备 注注 - 10 - / 55 AC162060PIC16F785/HV785 AC162061PIC16F685/687/689/690、PIC16F631/677 AC162070PIC10F220/222、PIC12F510、PIC16F506 带带* *的仿真头,必须使用内部振荡或外部有源振荡;的仿真头,必须使用内部振荡或外部有源振荡;MCLRMCLR 脚必须是高电平;当脚必须是高电平;当 GP1/RA1GP1/RA1 为高电平时为高电平时 将无法进行调试;不能在对将无法进行调试;不能在对 GPIOGPIO 操作的指令上设置断点。操作的指令上设置断点。 调试调试 PIC18FXXXPIC18FXXX 时时: 1)设置的程序区必须 8 个 word 对齐。例如起始地址可以设置为 0 x10,而不能是 0 x12;结束地址 可以是 0 x1F 而不能是 0 x14。 2)对于 PICXX20,AVDD 和 AVSS 引脚必须接上。 ICD2 USB 驱动安装驱动安装 如果安装了错误的驱动,ICD2 工作会有问题。 Windows 经常会尝试安装默认的 USB 驱动。 MPLAB ICD 2 不能使用默认的驱动。如果遇到了 问题,应查看硬件设备管理器来确认 Microchip 的 USB 驱动列在 USB 设备下。有时未知的 USB 设备会出现在“other devices (其它设备) ” 列表下。如果发现这样的设备,应将其移除,然 后根据 PC 的相应操作系统按以下步骤进行操作。 手动安装步骤如下: 1、 安装好 MPLAB IDE 软件; 2、 当一个新的 USB 设备第一次插入 Windows 98/ME 系统时,会出现一个对 话框提示系统找到了新硬件设备。也可 能出现对话框告知用户设备的数据库正 在建立或更新。点击“下一步”继续安 装; 3、 选择“搜索适于我的设备的驱动程序” , 点击“下一步” ; 4、 如下图所示,选择“指定一个位置” , 点击“下一步” ; -11- - 12 - / 55 图 2-1 安装 USB 驱动步骤 1 5、 如下图所示,在弹出的窗口中使用“浏 览”按钮来选择厂商文件复制来源。 图 2-2 安装 USB 驱动 2 在常规安装下,这个路径(取决于您的操作 - 13 - / 55 系统)应该为: C:Program FilesMicrochipMPLAB IDEICD2Drivers(或 Drivers2000 等等) ICD2_USB 这个路径必须包括以下文件: ICD2W98.INF 或 ICD2W2K.INF 等等 ICD2W98.SYS 或 ICD2W2K.SYS 等等 ICD2W98L.SYS 或 ICD2W2KL.SYS 等等 6、 设置完成后,点击“下一步” 。 此时,MPLAB ICD 2 将“re-enumerate” 。 可能会再次出现提示这种情形的一系列对话框。 系统应会自动加载与设备通讯所需的 MPLAB ICD 2 USB 客户端驱动。安装最后一个对话框将提示 “Microchip MPLAB ICD 2 Firmware Loader” 已经安装完毕。点击“完成”来结束安装。 上述步骤完成后就可以正常使用了。 - 14 - / 55 ICD2ICD2 串口连接串口连接 MPLAB IDE 的默认连接方式是 USB,如果不 做处理,每次启动软件,都默认为 USB 方式连接。 要更默认连接为串口方式,请按以下步骤操 作: 打开 MPLAB IDE ,调试器或者编程器菜单, Select tool-ICD2。然后通过 MPLAB ICD2 Setup Wizard 进行设置,设置一次后即可将默认 通讯方式改为串口。 如果采用串口连接,还应如下设置,以保证 连接的可靠性。 打开“设备管理器” (通过右击我的电脑 属性硬件打开设备管理器) ,在“端口 (COM 和 LPT) ”一栏中选择相应的 COMx,打开其 属性对话框(双击或右键选择) ,在“端口设置” 页面。进行如下设置。 流控制方式;请选择为“硬件” 。 点击“高级”按纽, “使用 FIFO 缓冲 区”前面那个钩去掉,即不使用 FIFO。 设置完,为保证设置可靠有效,最好重新启 动电脑。一旦设置好,下次使用则无需再设置。 - 15 - / 55 使用使用 ICD2ICD2 作为调试器作为调试器 1硬件连接硬件连接 硬件的正确连接步骤是: 1)用 USB 线或连接 PC 和 ICD2 主机; 2)用 6 芯软线连接 ICD2 主机和仿真头; 3)将仿真头插到用户板上; 4)确认 ICD2 的电源设置后接上 ICD2 电源 或给用户板上电; 注:如果用户不使用仿真头,而是通过用户 板预留接口进行调试,那么步骤 2)和 3)应合 并为:用 6 芯软线连接 ICD2 主机和用户板的调 试接口(调试接口的连接方式见第一章的“烧写 配置”章节) 。 2设置设置 ICD2 2.1 选择芯片选择芯片 首先,用户需要选择调试芯片的型号(不同 系列的芯片其调试系统是不一样的) ,点击主菜 单的 Configure-Select Device,在 Device 窗 口的下拉菜单里选择需要调试的芯片型号。如图 3-1 所示。 选择了相应芯片之后,用户将会在下面的 “Microchip Programmer Tool Support”框和 “Microchip Debugger Tool Support”框里看 - 16 - / 55 到各种 Microchip 烧写工具和调试工具对该芯片 的支持情况;其中: 1)红点表示该工具目前还不支持当前芯片; 2)绿点表示该工具可以支持当前芯片; 3)黄点表示该工具目前对当前芯片的支持 还处在测试状态; 在选择芯片完型号之后点击“OK”确认。 2.2 设置工具选项设置工具选项 2.2.1 选择工具类型选择工具类型 如果用户选择 ICD2 作为调试工具,那么需 要在 MPLAB IDE 中进行设置。点击主菜单的 Debugger-Select Tool,选择为 MPLAB ICD2。 - 17 - / 55 图 3-1 选择芯片型号窗口 这时系统将会提示“ICDWarn0030: ICD2 is about to download a new operating system.Downloading Operating System” 。 这是系统在下载配合该芯片使用的硬件操作系统, 用户需要等待一段时间以便完成此操作。 当硬件操作系统下载完成之后,系统将会检 查 ICD2 的连接情况。如果提示“Target Device * found”那么一切正常;如果提示 “ICDWarn0020:Invaild target device id ”那么请检查电源设置以及 6 芯电缆的连接 情况。 2.2.2 设置通信方式设置通信方式 如果用户连接了 ICD2 的 USB 线,并安装了 相应的 USB 驱动程序,那么 MPLAB IDE 将默认 ICD2 的通信方式为 USB 接口方式。如果用户需要 更改通信的方式,那么用户需要重新设置它。 点击主菜单的 Debugger-Settings。系统将 弹出一个 ICD Debugger 窗口,选择 “Communication” 。在“Com Port”栏里选择相 应的 COM 口,然后在“Baud Rate”栏里选择相 应的通讯波特率(如图 3-2 所示) 。设置完成后 点击下方的“应用”按钮来保存设置。 - 18 - / 55 图 3-2 设置通信方式 2.2.3 设置编程选项设置编程选项 在 ICD Debugger 窗口里选择“Program”来 设置相应的编程选项。在“Select Memories” 栏目里相应的选项之前打上钩,比如如果在 “ID”前打上勾,在编程时将会写入用户 ID 码。 用户还可以设置编程时程序的起始和和终止 地址,在“Program Memory Address” (程序存 储器地址)栏目里设置相应的选项。在设置时请 注意开始字节不能超过 0 x10,而结束地址则需要 符合 ICD2 的编程要求为监控程序模块预留 255 个语句的空间。合理设置起始和结束地址可以增 加调试的速度。 设置完成后点击下方的“应用”按钮来保存 设置。 - 19 - / 55 图 3-3 设置编程选项 2.2.4 电源设置电源设置 如果用户没有为目标板设计电源,那么需要 选择为由 ICD2 提供电源的方式。在 ICD Debugger 窗口里选择“Power”来设置相应选项, 如图 3-4 所示。为避免对目标板负载过重对为避免对目标板负载过重对 ICD2ICD2 带来损伤影响调试,编程,强烈建议采用目标板带来损伤影响调试,编程,强烈建议采用目标板 独立供电。独立供电。 如果用户目标板上面已经有电源了,不需要 由主机来提供那么请您把“Power target circuit from MPLAB ICD2” (从 ICD2 供电)前 面的勾去掉。 - 20 - / 55 使用“Update”按键可以让用户刷新目前目 标板上的 Vdd、Vpp 以及主机提供的烧写电压情 况。 设置完成后点击下方的 “应用”按钮来保存设 置。 图 3-4 设置电源 - 21 - / 55 2.2.5 工具信息工具信息 用户还可以在 ICD Debugger 窗口面了解到 调试器其他相关的信息: “Status”栏目:显示当前状态,在此 栏目中可以执行自检; “Warning” 栏目:显示警告信息,用 户可以在这个栏目里决定是否打开相关 的警告信息; “Limitation” 栏目:从这里用户可 以了解到 ICD2 的一些使用限制; “Versions” 栏目:版本信息; 当 ICD Debugger 窗口的所有项目设置完成 后,如果点击“确定”退出设置,则系统将会保 存所有当前的设置;如果点击 ICD Debugger 窗 口右上方的“”来退出设置,那么所有未“应 用”的设置将不被保存。 2.3 设置芯片的设置芯片的 CONFIG 字字 要使芯片能正确地工作用户还需要设置相应 的 CONFIG 字,点击主菜单的 Configure - Configuration Bits 来进行相应的设置。 系统将会弹出一个“Configuration Bits” 窗口,如图 3-5 所示。 - 22 - / 55 图 3-5 Configuration 设置窗口 点击“Setting”列里面的相应选项之后系 统将会出现一个下拉菜单,用户可以在这个菜单 里面选择相应的设置。请注意在使用 ICD2 作为 调试器的时候,需要关闭“Low Voltage Program” (低电压编程)选项,以及关闭“Code Protect” (代码保护) ;同时将“Background Debug” (背景调试)选项打开。 用户芯片的配置是需要根据实际情况来选择, 否则芯片可能无法正常工作而导致 ICD2 出现错 误提示。 2.4 设置语言工具设置语言工具 如果用户需要使用 C 语言来编程,那么用户 还需要设置语言工具的路径。 点击主菜单的 Project-Set Language Tool - 23 - / 55 Locations来设置语言工具路径。在系统弹出 的“Set Language Tool Locations” (设置语言 工具位置)对话框里选择相应的语言工具,本例 中选择的是 HITECH PICC 编译器。在相应的语言 选项的子树“Executables” (可执行文件)树下 点击相应的选项,使用“Browse” (浏览)来设 置对应的可执行文件。如图 3-6 所示。 图 3-6设置语言工具的路径 - 24 - / 55 在本例中,我们将“HI-TECH Assembler” 、 “HI-TECH Complier”和“HI-TECH Linker”都 设置指向为 D:HT-PICbinpicc.exe,这是我的 PC 上的 HITECH PICC 编译器路径,用户应该根据 实际安装情况来设置。 如果用户只使用汇编语言进行编程,那么他 们可以不设置这项,直接使用默认设置。 3 建立工程项目建立工程项目 3.1 建立项目建立项目 在对源程序进行调试之前首先需要建立一个 项目,这样 MPLAB IDE 系统就能把相关的调试信 息包含进去。 点击主菜单的 Project-New,来建立新的项 目。在系统弹出来的“New Project” (新项目) 窗口里面的“Project Name” (项目名称)栏里 面是输入相应的项目名,建议项目的名称要和源 程序的名次一致。然后使用“Browse” (浏览) 按钮来选择源程序所在的路径。如图 3-7 所示。 建议用户将所有的调试所需的文件放在同一 个目录里,以便于调试。在所有设置完成之后点 击“OK”退出。 - 25 - / 55 图 3-7 建立新的项目 这时系统将在所选择的路径里生成一个后缀 为mcp 的文件。 - 26 - / 55 3.2 添加(删除)文件添加(删除)文件 接下来需要把调试所需的文件加入到项目里。 用户将会在主界面里看到一个“*.mcw”的窗口, 在“*.mcp”的树下有四个分支,分别是 “Source Files” (源程序) 、 “Head Files” (头 文件) 、 “Object Files” (目标文件)及 “Library Files”库文件。如图 3-8 所示。 用户可以通过右键菜单“Add Files”来添 加文件,这些文件通常被称之为节点文件,是需 要在调试过程调用的。 同样,用户可以在选定的文件上使用右键菜 单来删除文件。在删除该文件之前请确认此文件 已经不再被该项目使用。 - 27 - / 55 4 使用使用 ICD2 进行调试进行调试 4.1 调试准备步骤调试准备步骤 在完成前面的设置应正确连接好硬件之 后,用户就可以开始使用了。 4.1.1 连接连接 使用主菜单的 Debugger-Connect,或 直接使用工具栏上的快捷图标来连接。连接成功 之后在“Output”窗口的“MPLAB ICD2”信息页 里将提示 “Target Device * found,revision=*” ,如图 3-10 所示,如果提 示“ICDWarn0020:Invaild target device id ”那么请检查电源设置以及 6 芯电缆的连接 情况。 - 28 - / 55 图 3-10 主界面及信息窗口 4.1.2 编译编译 接下来用户要进行编译,以便生成相应的调 试文件。点击主菜单的 Project-Build All 来 编译整个项目,或者使用工具栏上的快捷图标。 如图 3-10 所示。 编译的结果将在“Output”窗口的 “Build”页显示。如果编译发现了错误,则将 不能生成调试所需的.hex 文件,这样是不能继续 进行下一步的。用户需要根据该页的提示改正程 序之后,重新编译,直至编译器没有发现错误。 4.1.3 编程(烧写)编程(烧写) 当“Output”窗口的“Build”页中提示编 译成功之后,编译过程生成了相应的.hex 文件。 此时用户需要使用工具栏上的“编程”快捷图标 对目标芯片进行编程,在编程时需要注意芯片的 CONFIG 字设置(祥见3.2.3 设置芯片的 CONFIG 字)以及编程区域设置(详见3.2.2.3 设置编程选项) 。 如果编程过程中出现“Config 区校验失败” 的提示,请检查芯片的 MCLR 脚电路。如果您采 用的是直接接到电源的上拉方式,请直接断开该 - 29 - / 55 线路。 4.2 运行及调试运行及调试 在编程成功之后用户就可以进行调试了。 ICD2 提供了多种运行及调试的手段。综合运用这 些运行调试手段可以比较方便的验证程序的功能, 并发现其中存在的缺陷和错误。 4.2.1运行方式运行方式 按工具栏上的快捷图标的顺序由左至右, ICD2 运行的方式有: “Run”:全速运行,如果运行过程中 遇到了断点将会停止。使用这个运行方 式可以直观的观察到程序的运行效果, 并整体的验证其功能; “Halt”:停止运行。请注意,由于 ICD2 是通过使用 Flash 工艺芯片的自编 程功能来实现调试功能的,在执行此功 能时,并不代表芯片已经实际停止了运 行,而只是不再执行当前程序的功能了。 此时如果发生了掉电或者干扰导致芯片 与 ICD2 主机之间发生了通信错误,则 用户需要重新执行“连接-编程”的过 程。 “Step Into”:单步执行。使用单步 的功能可以观察到当前语句执行的效果。 - 30 - / 55 利用单步功能可以实现多种调试目的, 例如,可以使用该功能来观察程序分支 的跳转方向,或者用来观察数据的转移、 运算等。 “Step Over”:块单步。使用这个功 能时系统将跳过子程序的调用过程,直 接执行到调用的下一语句,这样用户在 遇到“CALL”语句时就可以利用这个功 能直接看到调用的结果了。假如该语句 调用的是没有必要进行分析的延时子程 序,那么使用此功能就可以避免陷入单 步执行烦琐的循环过程的麻烦。 “Reset”:使芯片复位。对于汇编源 程序来说,执行此功能后程序 PC 将指 向芯片的复位地址;对于 C 语言源程序 来说,执行此功能后程序 PC 则是指向 main()函数首地址。 4.2.2 断点设置断点设置 断点功能是在调试中经常使用到的功能,这 项功能使芯片在运行到相应的程序语句时停止下 来。在程序运行到断点停下为的时候,用户可以 根据目标板的运行情况或者相关 RAM 的值来分析 运行的情况。 (ICD2ICD2 只能只能提供提供一一个个断点断点。 ) 4.2.3 观察变量设置观察变量设置 - 31 - / 55 在运行调试的过程中,用户可能经常会需要 观察一些寄存器的值。为了使用方便,可以把一 些经常要查看的寄存器设置为观察变量。使用主 菜单命令 View-Watch 来进行设置,系统将会弹 出一个“Watch” (观察变量)窗口。如图 3-11 所示。 图 3-11 观察变量窗口 在窗口的“Add SFR”按钮后面的下拉菜单 中显示的是特殊寄存器的名称,用户可从下拉菜 单中选取并使用“Add SFR”按钮将需要观察的 特殊寄存器添加到观察变量列表中。同样的,用 - 32 - / 55 户可以在“Add Symbol”按钮后的下拉菜单中选 取自定义的标号,并使用该按钮将所选标号添加 到观察变量列表中去。 为了观察的方便,用户还可以利用观察变量 窗口中的“Watch1”“Watch4”4 个子窗口分类 添加观察变量。 ICD2 提供了多种的变量观察方式,用户可 以使用包括用户自行设定的观察变量以及通用存 储器、程序存储器、硬件堆栈和 EEPROM 等窗口。 使用主菜单的“View”选项可以打开或关闭这些 窗口。 - 33 - / 55 使用使用 ICD2ICD2 作为烧写器作为烧写器 1 ICD2 的烧写设置的烧写设置 1.1 选择芯片选择芯片 同上(见第 19 页) 1.2 设置工具选项设置工具选项 1.2.1 选择工具类型选择工具类型 如果用户选择 ICD2 作为烧写工具,那么需 要在 MPLAB IDE 中进行设置。点击主菜单的 ProgrammerProgrammer-Select ProgrammerProgrammer,选择为 MPLAB ICD2。其他与上文第 22 页(2.2.12.2.1 选择工具类选择工具类 型型)相同。 1.2.2 设置通信方式设置通信方式 设置方法请参看第 22 页(2.2.2 设置通信方设置通信方 式式) 。 1.2.3 设置编程选项设置编程选项 在“MPLAB ICD 2 Settings”窗口里选择 “Program”来设置相应的编程选项。设置方法 请参看3.2.2.3 设置编程选项,设置完成后点 击下方的“应用”按钮来保存设置。 1.2.4 电源设置电源设置 在“MPLAB ICD 2 Settings”窗口里选择 “Power”来设置相应选项,在作为编程器使用 - 34 - / 55 时用户必须把“Power target circuit from MPLAB ICD2” (从 ICD2 供电)前面的勾选上。 使用“Update”按键可以让用户知道目前目 标板上的 Vdd、Vpp 以及主机提供的烧写电压情 况。 设置完成后点击下方的“应用”按钮来保存 设置。 1.3 设置芯片的设置芯片的 CONFIG 字字 要使芯片能被正确烧写,您还需要设置相应 的 CONFIG 字。CONFIG 配置如果和实际需求不一 致,芯片将无法正常工作。 配置方法同第 29 页(2.32.3 设置芯片的设置芯片的 CONFIGCONFIG 字字) 。 除非有特殊需要,否则最好将 “Low Voltage Program” (低电压编程)选项关闭。如 果选择开启了这个选项,那么芯片将会在特定条 件下启动低电压烧写模式(详情请参看该芯片的 烧写资料) 。 2 导入烧写代码文件导入烧写代码文件 在进行烧写之前,首先要将需要烧写的代码 文件(.hex 文件)导入到内存中。 用户可以使用主菜单的 File-Import 命令来 导入需要烧写的 hex 文件。如果用户希望从母片 中导入代码文件,那么可以使用主菜单的 - 35 - / 55 Programmer-Read 来将代码读入内存中,读入之 后根据实际应用情况设置 CONFIG 字之后即可烧 写。 3 烧写芯片烧写芯片 1 导入代码文件之后即可进行芯片的烧写,用 户即可以使用主菜单的“Programmer”子菜单下 的烧写相关命令,也可以使用工具栏的快捷图标 来进行相关操作。工具栏的快捷图标从左到右依 次对应的主菜单操作是: 1注意: 注意:MPLAB ICD2非设计为量产烧写使用,由于客户强行用其量产非设计为量产烧写使用,由于客户强行用其量产 烧写带来的损失,均不在保修范围内。烧写带来的损失,均不在保修范围内。 Program:烧写芯片。 Read:读取芯片内容。注意:注意:如果芯片 已加密,那么读出的内容将不是正确的 代码,而是无效代码(通常是全 0) 。 Verify:程序区校验。如果芯片已加密, 将提示校验失败。 Erase Part:擦除目标芯片。执行此操作 成功后,目标芯片将成为空白芯片。 Blank Check:检验目标芯片是否为空白 芯片。 作为烧写器使用时的硬件配置情况请参考 1.3.2 烧写配置。 - 36 - / 55 常见问题(常见问题(FAQ) 1、ICDWarn0020:Invaild target device id 出现这项提示时请确认: 用户板上的芯片是正确的; 芯片与主机之间的通信良好; 电源设置是否正确; 芯片的调试引脚线路上是否有电容或电 感,如果有,请去除。 解析:20 警告提示 ICD2 主机未读到正确的 芯片 ID,常见的是读回 ID 为 00 的情况。在 ICD2 读芯片 ID 时,必须访问到芯片的 ID 区, 要做到这一点的前提是要进入烧写模式并且 ICD2 主机与芯片之间的数据通道通畅。因此出 现这个警告(Device ID=00)可能是因为:芯片 未进入烧写模式(待调芯片电源设置不正确或接 口引脚连接错误) ,ICD2 主机读到错误数据(接 口引脚连接错误、ICD2 主机与芯片的引脚之间 接触不良、接口引脚上有电容或电感特性的元件 导致 ICD2 主机的数据不正确) 。 特别提醒:ICD2 主机与芯片之间的 6 芯扁 平电缆的水晶头与卡座之间由于经常需要拔插的 缘故比较容易松动而导致接触不良,大部分的 20 - 37 - / 55 警告都是由于这个原因产生的。 如果读回的如果读回的 ID 不是不是 00,但与期望的,但与期望的 ID 不不 符合,则为选择的芯片类型与实际的目标芯片类符合,则为选择的芯片类型与实际的目标芯片类 型不符合。型不符合。 2、ICD0019:Failed to open port: ICD0021:Unable to connect with MPLAB ICD2 出现这项提示时请确认: ICD2 是否通过 USB 连接到 PC,且设 置中的 POWER 设置是否正确; 驱动是否正确安装,或者由于 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) 提提 示烧写检验失败示烧写检验失败 出现该错误时,请确认: - 38 - / 55 芯片连接正确(烧写前没有20警告) ; 目标芯片的MCLR/VPP脚上没有除ICD2 接口外的其他电路;常见复位电路请采 用跳线进行隔离。 ICD2与芯片的接口线路没有与电感或电 容特性的电路连接; 整个系统可以提供足够的烧写电流 解析:要成功烧写芯片前提是烧写电压要正 确的加到芯片相应引脚上,并且数据无误。如果 MCLR/VPP引脚上有电路,可能会导致芯片无法 复位(访问不了CONFIG区,导致CONFIG烧写 失败)或者烧写电压波形延时(程序区前面几个 字节烧写失败) ;如果ICD2与芯片的接口线路上 有电感或电容特性的电路连接,则有可能导致烧 写的时钟或数据发生变形,导致整个区域烧写失 败。 如果选择由ICD2向目标板供电,则有可能由 于ICD2不能向目标板提供足够可靠稳定的工作电 流,导致烧写不稳定出现烧写失败。此时应该采 取目标板独立供电,并在软件上不要选择不要选择从ICD2 向目标板供电。此现象多见于采用串口连接,且 目标板未独立供电。 注意:某些特殊的芯片(例如PIC16F627A) , 在同时使用了内部振荡和内部复位的情况下,烧 - 39 - / 55 写成功后也将会提示CONFIG区校验失败的信息。 这是正常的表现:由于同时使用了内部振荡和内 部复位,一旦烧写成功,芯片将直接运行用户程 序,此时由于无法进入烧写模式,校验必然是不 正确的。详情请参看相关的帮助文件。 4、提示、提示 ICDWarn0083 无法进入调试模式无法进入调试模式 出现该错误时,一般为振荡不正常,请确认 MPLAB IDE软件上上设置的振荡类型与实际的 目标板是否符合,或者目标板振荡是否起振。请 采用如下方法判断目标板晶振是否起振:写一个 简单的测试代码,如单个IO驱动LED周期性亮暗 变化, 烧写到芯片,看LED是否可以亮暗变化 或者用示波器测量IO引脚的输出波形。请不要用 示波器测量MCU振荡脚来判断晶振是否起振, 某些情况下,有可能因示波器本身电容导致振荡 电路匹配电容改变而改变振荡状态。 更多错误类型,请查看MPLAB帮助文档和 ICD2中文说明书。 5、在、在PICMATE2004 /2002下编译通过的程序,下编译通过的程序, 通过通过ICD2烧写,编译失败烧写,编译失败 这种情况多是由于符号的大小写敏感选项未 正确设置造成的。按如下步骤进行设置: 建立一个项目,添加源文件,到PROJECT - 40 - / 55 Build OptionProjectMPASM AssemblerDisable case sensitivity,打钩则不区 分大小写,不打钩为默认选项,区分大小写。 - 41 - / 55 ProICD2 使用说明使用说明 ProICD2就是在MCHP最新版本ICD2框架上,以16F877A和18F4550为核心芯片,改进设计而来。 功能上除了不支持串口调试,其他均与ICD2一样,包括硬件连接,上位机软件等。如果对ICD2还不很 熟悉,可参考本说明书前面的章节;如果您曾经使用过ICD2,您将会非常顺畅地立即使用ProICD2, 实现MPLAB ICD2的全部功能,包括使用您非常熟悉的MPLAB IDE。 除此之外,ProICD2 进一步增强了保护电路,稳定性更好,解决了 MPLAB ICD2 使用过程中 80% 可能遇到的问题。ProICD2 无须外接电源,小巧轻便,是开发人员必备的开发利器。 - 42 - / 55 图 4-1ProICD2 俯视图 - 43 - / 55 下面就 ProICD2 与 ICD2 不同之处做说明。 1, 增加一个 USB 复位按键,以代替 ICD2 连接 USB 失败时候出现 ICD0019,ICD0021 提示需要拔插 USB 以恢复连接的动作, 现在只需要按复位键后,等待 8 秒再连接, 即可完成驱动卸载,再安装,建立通讯等过 程。 2, 如何确定六芯线的第一脚:与 ICD2 连接线 一致,以黑三角黑三角标记为第一脚。另外在 ProICD2 外壳右下方,有一白三角白三角标记,此 为 MCLR 对应管脚,连接时保证与此脚连接 到目标板的 MCLR 脚即可。参

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论