Microsoft Word - AVR JTAG ICE 使用手册V3.2F.doc

Similar documents
JTAG ICE PC JTAG ICE JTAG ISP... 5 IDE AVR STUDIO JTAGICE JTAGICE... 12

TSL-AVRJTAGICE仿真器用户手册

Microsoft Word - AVR32 UC3 isp下载.doc

目 录

Microsoft Word - SAM-BA.doc

ICD ICD ICD ICD ICD

Microsoft Word - JTAGICE mkⅡ 中文使用说明

ARM JTAG实时仿真器安装使用指南

一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页

AVR mkII Lite 说明书

untitled

1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F B. 1(VCC/GND) SH79F6431 C. VDDIO SH79F6431 P4 P5 P0.6 P0.7 VDDIO VDDIO=5V D. 2 V 1.0

ARM Cortex-M3 (STM32F) STMicroelectronics ( ST) STM32F103 Core: ARM 32-bit Cortex -M3 CPU 72 MHz, 90 DMIPS with 1.25 DMIPS/MHz Single-cycle multiplica

手册 doc

<4D F736F F D D3B2BCFEBFAAB7A2B9A4BEDFD1A1D0CDD6B8C4CF2E646F63>

(Load Project) (Save Project) (OffLine Mode) (Help) Intel Hex Motor

JTAGICE mkⅡ使用说明

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63>

C语言的应用.PDF

AVR debugwire_avr_ispMkii

控制器 EtherCAT EtherCAT EtherCAT 接下一个电机驱动模块 (X4) 接下一个电机驱动模块 (X5) X11 IN X4 IN X3 OUT X5 IN X6 OUT X2 X1 X4 IN X3 OUT X5 IN X6 OUT X2 X1 SYS STA DC BUS D

USB解决方案.ppt

目 录 1. 简介 概览 CM 仿真器特性 CM 仿真器外观 入门指南 CM 仿真器虚拟端口功能 安装 CM 仿真器 USB CDC 驱动软件 测试 CM 仿真器虚拟端

untitled

315avr网站可脱机系列产品使用说明书

网上对外发布资料适用版本

第七章 中断

目录 1 IPv6 快速转发 IPv6 快速转发配置命令 display ipv6 fast-forwarding aging-time display ipv6 fast-forwarding cache ipv6 fas

EK-STM32F

目录 1 IPv6 快速转发 IPv6 快速转发配置命令 display ipv6 fast-forwarding aging-time display ipv6 fast-forwarding cache ipv6 fas

MEGAWIN


2 Keil µ vision 2.1 1) Keil µ vision2 V2.34 µ vision3 2) Sino_Keil.exe Keil c:\keil\ 3) JET51 USB PC C:\Keil\ USB PC 4) S-L

F²MC-8L/16LX/FR FAMILY

DSP

JTAG & ISP二合一编程仿真器 使用说明书 V1

51 C 51 isp 10 C PCB C C C C KEIL

Microsoft Word - AVRISP MKII使用说明

AVR JTAG MKII克隆版快速指南.doc

微雪电子 Open103Z 实验手册 Open103Z 实验手册 目录 准备工作 BitIO-Pushbutton... 3 ADC+DMA... 4 CAN-LoopBack... 5 DAC... 6 DS18B GPIO_Key_L

水晶分析师

行业

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

<C8EBC3C5C6AAA3A8B5DA31D5C2A3A92E696E6464>

专注于做最好的嵌入式计算机系统供应商

AVRVi MkII 多功能编程仿真器

SPMC75F2413A_EVM_使用说明_V1.2.doc

微雪电子 Open407V-D 实验手册 Open407V-D 实验手册 目录 准备工作... 2 ADC+DMA... 2 CAN1 TO CAN2-Normal... 3 DCMI_OV DCMI_OV I2C... 6 L

Tel:

F515_CS_Book.book

X713_CS_Book.book

上海盛瑞电子有限公司

1.ai


315avr网站可脱机系列产品使用说明书

<4D F736F F D D3B2BCFEBFAAB7A2B9A4BEDFD1A1D0CDD6B8C4CF56322E646F63>

行业

行业

untitled

Microsoft Word - Codewarrior IDE快速入门.docx

68369 (ppp quickstart guide)

PROTEUS VSM

ATMEL AT90S8515 AVR CPU AVR AVR AVR ATMEL RISC 32 8 r0 r X Y Z R0 R1 R2 R13 R14 R15 R16 R17 R26 R27 R28 R29 R30 R31 0x00 0x

epub83-1

目 录

Microsoft Word - MAN2011A_CH_RTT.doc

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

MSP430X1XX 系列微控制器具有以下特征 结构框图 超低功耗结构体系 A 额定工作电流在 1MHz V 工作电压 C11X P11X 和 E11X 为 V 从备用模式唤醒为 6 S 丰富的中断能力减少了查询的需要灵活强大的处理能力源操作数有七种寻址模

TPM BIOS Infineon TPM Smart TPM Infineon TPM Smart TPM TPM Smart TPM TPM Advanced Mode...8

行业

Microsoft Word - MSP430-FPA使用指南.doc

SMART 7P 0 HR7P OTPMCU A/D I/O OTP ROM RAM HR7P HR7P HR7PPMB MSOP0 7+input HR7PPSC HR7PPSD SOP SOP6 +input input HR7PERB SSOP0 7

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File

Ioncube Php Encoder 8 3 Crack 4. llamaba octobre traslado General Search colony

AVR JTAGICE 仿真器 与 AVR ISP 编程器 二合一V2.5 使用说明书

册子0906

例 如, 一 个 含 有 2000 个 记 录 的 文 件, 每 个 磁 盘 块 可 容 纳 250 个 记 录, 则 该 文 件 包 含 8 个 磁 盘 块 然 后 对 该 文 件 作 二 路 归 并 的 外 排 序, 每 次 往 内 存 读 入 两 个 磁 盘 块, 排 序 后 再 写 回 磁


额定规格 / 性能 单相 标准认证 UL CSA. NO. EN-- 额定规格输入 环境温度 项目电压电平额定电压使用电压范围输入电流型号动作电压复位电压 - B ma 以下 DC~V DC.~V DC.V 以下 DC.V 以上 - BL ma 以下 输出 项目 * 根据环境温度的不同而不同 详情请

Microsoft Word - Atmel-45136A-Pick-Best-Microcontroller-Strom-Eiland-Flodell_Article_CS

目录 1 H3C R4900 G2 服务器可选部件与操作系统兼容性列表 控制卡 GPU 卡 网卡 FC HBA 卡 TPM/TCM 模块 NVMe SSD PCle 加速卡 1-31 i

Tel: , Fax: STR-15 STR bps 2400bps 4800bps 9600bps STR : 500mW 2.ISM 433

目录

<4D F736F F D20B5DA31D5C B5A5C6ACBBFAB8C5CAF62E646F6378>

行业

Microsoft Word - AVRISP使用说明书

Smart2.doc

01

行业

USB Debug Adapter用户手册.pdf

Oracle Solaris Studio makefile C C++ Fortran IDE Solaris Linux C/C++/Fortran IDE "Project Properties" IDE makefile 1.

<4D F736F F D20D4D3D6BECEC4B8E5C4A3B0E52E646F63>

Microsoft Word - EK-LM3S8962_EvalBoard_UM部分翻译.doc

版权声明 龙芯 免责声明 据 龙芯 2 Building No.2, Loongson Industrial Park, Zhongguancun Environmental Protection Park (Tel) (Fax)

行业

电子技术基础 ( 第 版 ) 3. 图解单相桥式整流电路 ( 图 4-1-3) 电路名称电路原理图波形图 整流电路的工作原理 1. 单相半波整流电路 u 1 u u sin t a t 1 u 0 A B VD I A VD R B

更新历史 版本时间更新作者 Rev. A 初始创建 Dracula 微控电子乐微电子杭州市登云路 639 号 2B143 销售 TEL: 支持 TEL: FAX: ww

LETD型LED灯炮规格的更改

一 前言 对于大多数 MCU, 半导体厂商为了方便和简化产品的应用程序下载, 节约 PCB 面积和 成本, 都给自己的 MCU 提供了在线系统编程 (In-System Program) 功能, 一般 MCU 的第一个串口就是在线编程通信接口, 通过电平转换芯片和串口线与 PC 相连, 并在 PC

Transcription:

AVR JTAG ICE 用户手册 Rev3.2R www.mcuzone.com 2005-07

第一章 JTAG ICE 相关信息 AVR JTAG 接口是具有 4 线测试存取通道 (TAP) 的控制器, 完全符合 IEEE1149.1 规格要求 IEEE1149.1 已经发展成为具有能够有效地测试电路板连通性的测试标准 ( 边界扫描 ) Atmel 公司的 AVR 器件扩展了它一些功能, 包括能够支持完整的编程和调试 Mcuzone 提供采用标准的 JTAG 接口, 并与 ATMEL 官方的 JTAG ICE 完全兼容的 AVR 调试工具, 使用户能够以极低的成本对具有 JTAG 调试接口的目标 AVR 芯片进行实时在线仿真和编程 AVR OCD(On Chip Debugging 在芯片调试 ) 协议使用户对 AVR 单片机的内部资源能够进行完全的实时监控 下面简单介绍一下 JTAG ICE 相关信息 JTAG ICE 与 OCD 系统 : 下面简单介绍通过 JTAG 接口进行在芯片调试 (OCD) 的概念及其与传统仿真方式之间的差异 OCD 与传统仿真方式的比较 : 传统的仿真器可以对单独的或一组器件 ( 前提是该组器件必须有很大的相似性 ) 进行仿真 例如, 我们仿真 ATmega16, 仿真器硬件就会设法效仿该器件的准确行为 越接近目标器件的实际动作, 仿真器性能越好 下面的框图简单地描述了传统仿真方式的仿真通道 传统的仿真器的仿真头一般价格比较昂贵, 动辄几百, 而且经常出现仿真不同的目标芯片需要更换不同仿真头的情况, 另外在使用传统的仿真器进行仿真的时候还经常出现一个问题, 就是仿真的时候一切工作正常, 但是当把程序写入到目标芯片后却怎么也运行不起来, 使用传统仿真器的用户一般都会遇到这个问题, 此外使用传统仿真器的时候由于部分仿真器本身的原因可能会占用掉目标芯片的一部分资源, 比如串口和若干的堆栈空间 而 JTAG ICE 则使用一种不同的方式实现目标系统仿真 JTAG ICE 能够与目标 AVR 片内的芯片调试系统进行接口, 并通过 JTAG 接口监控 AVR 器件的行为 所有带有 JTAG 接口的 AVR 器件 (ATmega16 及以上 ), 都具有 OCD 模块, 该模块能控制目标芯片执行相关操作 所以当 JTAG ICE 发生一个传统的仿真行为时,JTAG ICE 将会控制目标芯片执行指令代码 下面是 OCD 系统的框图

使用 OCD 系统, 可以精确实现器件的时序和电特性 但从另一方面来说, 传统的仿真器通常具有更好的可视性, 可以更好地控制器件的内部资源 例如, 应用 AVR OCD 系统就不能实现类似象跟踪缓冲器这样的功能 另外使用由于 OCD 的性能限制, 在使用 AVR JTAG ICE 进行调试的时候对于某些资源的访问有限制, 具体内容将在后面讨论 调试代码时, 知道 JTAG ICE 和传统的 ICE 操作的不同之处是很重要的 下面将介绍一些注意事项 1. 运行模式在该模式下, 代码完全独立地在 AVR 器件中运行而不受 JTAG ICE 的控制 JTAG ICE 会不断地检查代码是否已执行到断点 当代码执行到断点时,OCD 系统会中断代码的执行, 并把所有可能需要的数据 (PC 指针 IO 寄存器 EEPROM 通用寄存器组和 SRAM) 通过 JTAG 接口由 JTAG ICE 传送给软件开发环境 (IDE), 如 AVR STUDIO 由于代码独立运行不受 JTAGICE 控制, 所以在断点发生前 JTAG ICE 无法跟踪代码的执行状态 2 停止模式在执行到断点时, 程序将被挂起, 但 IO 的操作则仍在运行, 就好象没有运行到断点时一样 假定, 当断点达到时,SPI 传输刚刚开始, 如果使用一个传统的在线仿真器, 将中断 SPI 的传输, 如果单步执行代码, 那么将这在 MOSI 引脚上精确地单步输出相应的位值 如果使用 JTAG ICE 来做 AVR 的仿真,AVR 的 SPI 将会全速执行完这一传输 3 断点 AVR 的 OCD 系统具有两类断点 : 软件断点和硬件断点 3-a 软件断点软件断点是代码中的 BREAK 指令 执行这个指令时, 程序将被挂起 要继续执行程序, 必须从 OCD 逻辑中给出 start 命令 值得注意的是, 并非所有的 AVR 器件都支持 BREAK 指令 当在 AVR Studio 中添加一条断点指令时, 这条指令也将被编译并物理地写入到 AVR 的闪存中 当执行到这条指令时, 程序将会中断 3-b 硬件断点在 OCD 系统中有四个寄存器, 任一个都可以存储一个存储器地址 JTAG ICE 需要使用一个寄存器存储单步断点, 其余的 3 个寄存器能以不同的组合来产生有效的中断条件 由于软件断点要重写整页的 flash 数据, 在断点经常改变时推荐使用硬件断点. 但是, 正如前面所说, 硬件断点仅有三个, 当在 IDE 中设置超过三个的硬件断点时, 将出现警告.

4 寄存器的可见性 (IO 寄存器 ) 从 IO 可见性上看,JTAG ICE 有一定限制 可见性指的是察看所有的 IO 寄存器中的内容 当 AVR 器件运行到断点时, 所有 IO 寄存器中的内容被读出, 并显示在前端软件开发环境中 由于读某些寄存器的操作可能改变另一些寄存器中的内容, 所以这些寄存器不允许被访问 ( 例如读 USART 数据寄存器将要清 RXC 位 ) 相关内容可以参见文末 5 单步调试当一些控制信号被使能后, 某些寄存器 (WDT,EEPROM 等 ) 必须在指定的时钟周期内被读写才是有效的 因为在停止模式,IO 时钟和外设仍然全速运行 单步执行这样的代码则无法得到正确的时序 因为在单步操作过程中已经执行过了无数个 IO 时钟周期 为了能满足时序要求, 正确地读写这些寄存器, 在单步调试这样的代码时应该尽量地使用 宏 函数 或 执行到光标 这样的操作 6 支持的器件 JTAG ICE 支持所有带有 JTAG 接口的 AVR 单片机 随着新器件的不断推出,JTAG ICE 也将通过升级的软件开发环境对这些新器件提供支持 一般 Mcuzone 在出货的时候提供当前最新版本的固件, 如果日后需要更新,Mcuzone 将提供永久免费升级服务

第二章快速入门 本章将介绍以下内容 : 1, 硬件环境讲述 JTAG 和 PC 以及目标板的连接 2, 软件开发环境包含以下子内容 : 2.1 AVR STUDIO 的启动 2.2 AVR JTAG ICE 属性设置 2.3 AVR JTAG ICE 的选项卡介绍 在开始使用 AVR Studio 前, 应将目标板 AVR JTAG ICE 和 PC 机先连接起来 为保证 AVRStudio 的正确自检, 推荐在打开 AVR Studio 前应该先完成硬件连接 一 硬件环境 : 1 将 JTAG ICE 连接到 PC 机上 JTAG ICE 使用标准的 RS-232 口 (V1 和 V2 版本 ) 或 USB(V3 版本 ) 口通信 将 JTAG ICE(V1 和 V2 版本 ) 的串口线连接到 PC 机的一个空闲 COM 端口或将 JTAG ICE(V3 版本 ) 连接到 PC 机的 USB 口 AVR Studio 将通过 COM 端口 (V3 采用了 USB 到 COM 的桥接设计, 对 AVR STUDIO 而言也可以认为是一个 COM 口 ) 自动检测端口上存在的 JTAG ICE 仿真器 如果有其它程序占用 COM 端口 ( 如串口调试助手, 超级终端等 ), 那么在启动 AVR Studio 前应先关闭这些程序, 否则 AVR STUDIO 将不能正确检测到 JTAG ICE 2 将 JTAG ICE 和目标电路板相连至少有 6 根线从 JTAG ICE 连到目标板上, 包括 TCK,TDO,TDI,TMS,VTREF,GND 可选的线包括 :VSUPPLY,NSRST VSUPPLY 用于通过目标板为 JTAG ICE 供电或者通过 JTAG ICE 为目标板供电 (V1 可以从目标板供电也可以通过外部 3-5V 稳压电源插头进行供电 ;V2 板载 LDO, 可以从目标取电, 也可以通过外接外负内正,7-9V DC 的 Adaptor 为目标板提供 3.3V 电源, 或者使用外部 3-5V 的稳压电源插头进行供电 ;V3 直接从 USB 口取电, 并可以为目标板提供 3.3V 或者 5V 电压 ) NSRST 用于监控目标复位线 仿真时不需要该信号 但如果应用程序在 MCUCSR 中设置了 JTD 位,JTAG 接口将无效 为使 JTAG ICE 对目标 AVR 重新编程, 就需要控制复位引脚 下面将对在目标板和 JTAG ICE 间的 6 线连接做介绍 ( 在下图中用实心线画出的 6 根 )

上面的图指示出 JTAG 线如何与目标 AVR 相连 为避免在线驱动出现竞争, 建议在 JTAG 线和外部电路间放置串连的电阻, 以保证外部电路和 AVR 始终工作在它们的额定电流之内 3 JTAG ICE 供电电源不同版本的 JTAG ICE 具有不同的电源管理策略,V1 可以通过目标板为 JTAG ICE 供电也可以通过板载的电源插头进行可选外部稳压电源对 JTAG 供电, 并进一步通过跳线选择是否需要对目标板供电 );V2 可以由 Adaptor 或者外部稳压电源插头为 JTAG 供电并进一步通过跳线选择是否需要对目标板供电 ;V3 通过 USB 口为 JTAG ICE 供电, 并可以进一步通过跳线为目标板提供 3.3V 或者 5V 电源 警告 : 当采用两路电源分别对 JTAG ICE 和目标板供电的时候请先检查跳线位置! 错误的设置在严重时将烧毁 JTAG ICE 目标板甚至 PC 机端口! 具体跳线设置请阅读各个版本的 JTAG 的用户手册 4 目标板电源的要求当 JTAG ICE 从目标板上获得电源时要注意 : 1 目标电压必须在 2.7VDC-5.5VDC 范围内 2 目标板至少要对 JTAG ICE 提供 150mA@3V, 或者 100mA@5V 的电源 3 如果不能满足这些要求, 就必须将外部电源连接到 JTAG ICE 上 4 如果调试过程中, 目标板电源可能会出现电压跌落, 那么也必须对 JTAG ICE 提供外部电源 5 使用外部电源供电当 JTAG ICE 同目标板连接好后就可以打开电源 为了保证 JTAG ICE 同 PC 机和目标板间的通信正常, 请按照以下步骤操作 : 1 打开目标板电源 2 打开 JTAG ICE 电源 3 启动 AVR Studio 不同的上电顺序不会造成设备损坏, 但可能引起 JTAGICE 仿真期间的通信异常 注 : 如果目标板与仿真器采用单一电源供电则与此无关 二 集成开发环境 (IDE)

下面简单说明一下使用 AVRStudio 和 JTAG ICE 进行在芯片仿真时的特性和注意事项 2.1 安装 AVR STUDIO: AVR Studio 是 ATMEL 推出的一个面向 AVR 全系列单片机的官方 IDE, 它包含有编辑器, 汇编器, 调试器和 ATMEL 全系列仿真器的监控程序 最新的 AVRStudio 可以从 http://www.atmel.com 网站下载 注意 : 由于 ATMEL 会对 AVR STUDIO 进行不定期的升级, 升级 AVR STUDIO 的同时 JTAG ICE 的固件可能也会升级, 故如果安装了最新的 AVR STUDIO 有可能需要对 JTAG ICE 进行固件升级, 用户可按照 Mcuzone 指示自行升级或者直接联系 Mcuzone 代为升级, 固件升级为免费服务 使用 JTAGICE 进行在芯片调试 在这一节中我们假定读者已经掌握了使用 AVRStudio 的基本知识 在此我们只针对 JTAG ICE 做详细介绍 关于 AVRStudio 的详细介绍请看 AVR Studio 自带的交互帮助系统 2.1.1 连接系统参照上文所述, 将 JTAGICE 与 PC 及目标板连接好, 依次打开目标板和 JTAG ICE 的电源 ( 上电前请一定检查跳线设置!!) 2.1.2 启动 AVR STUDIO 在确认连接无误并打开电源后, 启动 AVRStudio 打开一个工程项目 (Project 菜单,New 或者 Open), 在随后出现的目标窗口中选择 AVR JTAG ICE 和正确的目标器件, 随后 AVR Studio 将开始寻找 JTAG ICE 所在的端口 注意, 当将 AVR Studio 的端口设置为自动时 AVR Studio 是按照 COM 口的端口号顺序查找设备的 如果 COM 口上连有其他的 Ateml 设备, 请先将这些设备从端口上断开 否则 AVR Studio 将开始寻找可支持的设备, 并连接它最先找到的设备 注意 : 请在启动 AVR Studio 之前退出所有占用 COM 口的程序 ( 如 : 串口调试助手, 超级终端等 ) JTAG ICE 会检测目标板是否上电, 当检测到目标板上电后,JTAG ICE 就会读出目标器件的 JTAG ID, 如果 JTAG ICE 不能读出 JTAG ID, 有可能是由以下原因造成的 : 1 JTAG ICE 没有连到目标板 AVR 器件上 ; 解决办法 : 检查 JTAG 口线连接情况 2 目标板 AVR 器件的 JTAG 熔丝没有激活 ; 解决办法 : 使用 ISP 工具或编程器激活 JTAG 熔丝位 3 应用程序通过 MCUCSR 中 JTD 位禁止 JTAG; 解决办法 : 如果 reset 接入了 JTAG ICE, 可用 JTAG ICE 重新编程 当 JTAG ID 被成功读取后,JTAG ICE 会根据读到的器件 ID 自动识别芯片并读取目标芯片的加密熔丝 如果加密熔丝已被编程,JTAG ICE 在执行下一步操作时会擦除芯片 而且, 如果目标 AVR 的 OCD 功能已被禁止,JTAG ICE 也能自动使能目标 CPU 的 OCD 功能, 退

出时可以自动禁止该项功能 2.2 设置 JTAGICE 选项进入调试模式后, 点选 DEBUG 菜单 ->JTAG ICE Options 打开 JTAGICE 选项窗口 ( 如图 ): 注意 : 当没有连接 JTAGICE 或没有进入调试模式时,DEBUG 菜单中没有该选项 2.2.1 设置 Connection 选项卡 : 2.2.1.1 设置 JTAG 端口速率为了保证在 JTAG ICE 和目标 AVR 间的正确通信,JTAG 端口的通信频率必须少于或等于 1/4 的目标 AVR 工作频率 如果 JTAG ICE 以更高的速度通信, 那么虽然目标 AVR 能够继续工作, 但通信将会失败 另一方面, 如果你指定的 OCD 频率太低, 也能正常通信, 但会引入不必要的延时 2.2.1.2 定位 JTAG 菊花链位置如果目标是 JTAG 菊花链的一部分, 那么就必须详细说明在现行的目标前后的器件个数和指令寄存器 (IR) 的位长 最大的 IR 长度之和是 32 位 例 :

上页图中共有三个器件, 它们相互串联构成 JTAG 链 #0 号器件位于 #1 号和 #2 号器件之前 #1 号器件位于 #2 号器件之前, 位于 #0 号器件之后 #2 号器件位于 #0 号和 #1 号器件之后假定各器件的指令寄存器位长如下 : #0 号器件有一个 16 位的 IR #1 号器件有一个 8 位的 IR #2 号器件有一个 16 位的 IR 再次假定我们要对第 #0 号器件做 JTAG 操作, 那么应做如下的设置 Devices before:0 Devices after:2 Instruction bits before:0 Instruction bits after:24 2.2.1.3 设置 JTAGICE 的初始化串口波特率 JTAG ICE 允许用户选择初始化时的通信速率, 缺省波特率设置在 19200 上 用户可以在 9600 19200 和 115200 中选择, 但如果发生通信问题, 请降低通信的波特率 2.2.2 设置 JTAGICE 调试选项点击 JTAG ICE 属性窗口中的 DEBUG 选项卡, 即可切换到调试选项设置窗口, 如下图示 : 2.2.2.1 Run Times in Stopped Mode 选框这种模式允许定时器在单步执行时, 以标准速度继续运行 当这个选框没有被选中时, 定时器将通过代码, 准确的按单步的次数来增加计数值

2.2.2.2 Preserve EEPROM contents when reprogramming device 选框该选框的值会改变目标芯片中 保护 EEPROM 熔丝位 的值, 如果该选框被选中, 那么在重编程芯片或做芯片擦除时, 目标芯片内 EEPROM 的数据就不会被清除 2.2.2.3 Always activate external reset when reprogramming device 选框该选框若被选中, 那么当 JTAGICE 完成芯片擦除后, 就会释放复位线, 使外部复位有效 2.2.2.4 Print breakpoint information in output windows 选框选中该选框, 将在 输出窗口 打印出断点的相关信息 2.2.2.5 设置程序入口当执行高级复位时,AVRStudio 会设法从入口处开始执行 默认的入口函数是 main, 用户也可以根据程序更改其名字 2.2.2.6 Warn & break if not found or not in section corresponding to boot reset fuses 选框选中该选框,AVRStudio 会检测程序入口与 Boot reset 熔丝的状态是否匹配 如果该选框被选中后, 仿真一开始就出现相关警告, 或 PC 指针指向复位向量的地址, 有可能是由下列原因引起的 : 入口函数没有指定, 或入口函数不存在入口函数位于应用程序区, 而 Boot reset 熔丝被编程入口函数位于 Boot 区, 而 Boot reset 熔丝没有被编程该项若被关闭, 将不会产生相关警告, 而且 AVRStudio 将尝试到达程序的入口处 2.2.2.7 高级选项该选项是单选框, 用于设置仿真目标芯片时是否对目标芯片进行重编程 Always reprogram device when loading object file 选择该项,JTAGICE 将会在每次装载目标文件的时候对目标芯片编程 Reprogram only if time stamp of object files has changed 选择该项,JTAGICE 只在目标文件被更新后才对目标芯片编程 Don t reprogram 选择该项,JTAGICE 始终不对目标芯片编程注 : 为了优化编程的速度, 编程时没有校验 2.2.3 为 JTAG 调试设置断点点击 JTAG ICE 属性窗口中的 Breakpoints 选项卡, 即可切换到断点设置窗口, 如下图示 :

2.2.3.1 硬件断点与其他的 ATMEL AVR 仿真器不同的是,JTAGICE 只有有限的 3 个通用硬件断点 这 3 个通用硬件断点可做如下配置 : 3 个通用断点 2 个通用断点和 1 个数据断点 1 个通用断点和 2 个数据断点 1 个通用断点和 1 个 SRAM 断点 1 个通用断点和 1 个 FLASH 断点 Break on change of program flow 选框可以使能或关闭在程序执行中流程改变 (PC 值非线性变化 ) 发生的中断, 不管其他断点选项是否使用 AVRStudio 会不断跟踪每一种被使用的断点模式, 并且在设置了多于 3 个硬件断点时给出相关的警告 2.2.3.2 软件断点某些 AVR 器件支持中断指令 使用中断指令意味着在调试期间, 中断指令将占用闪存中的一条真实指令的位置 通过放置中断指令, 将允许使用无数的断点 因为中断指令要占用 Flash 的空间, 所以在增加或减少断点时,Flash 都必须重新编程

注 : 中断指令比硬件断点响应的速度慢 2.2.3.3 关于断点的三种不同的可用选项 : 1. 自动使用各种断点, 但硬件断点优先在该模式下,AVRStudio 会自动分析断点, 并尝试地放置硬件断点, 并以最合适的方式放置中断指令 2. 只使用硬件断点使用该选项, 那么只能设置 3 个通用断点 该模式是缺省的断点模式 3. 只使用软件断点该模式迫使 JTAGICE 只使用软件断点, 在该模式下硬件断点无效 注 : 使用 ATmega128 时, 如果设置了 ATmega103 兼容模式, 将无法使用软件断点 这是因为 ATmega103 不支持 SPM 指令造成的 2.2.3.4 通用断点通用断点可以放置在代码的任意位置上 JTAGICE 支持原代码调试 断点可以放置在汇编或高级语言原代码中,AVR 器件将会在执行的过程中停止在被放置断点的语句前 2.2.3.5 数据存储器断点数据存储器断点可以设置在以下三种方式中 数据存储器读 数据存储器写 数据存储器读写 请注意, 同时只能使用两个数据断点 数据断点可以设置在 IO 空间或 SRAM 空间但不能设置在寄存器 ( 文件 ) 中 为了使用变量名 ( 比如 :Variable1) 做断点, 目标文件中应该包含这些变量名信息 如果包含了变量名信息, 那么就可以在 C 编译器或汇编器中使用变量名做为数据断点 ( 比如 WinAVR EWBAVR ICCAVR IAR Assembler) 注 1:AVRStudio 的汇编程序不会产生变量名信息注 2: 一些编译器不会为位于 IO 空间的变量产生变量名信息, 请使用绝对地址来定义数据中断 注 3: 使用数据中断,AVR 将会在执行了满足中断条件的语句之后中断 数据断点设置完成后如下图示 :

2.2.3.6 数据存储器的断点掩码在上图中右上方有个选框 (Use mask), 称之为断点掩码, 当选中该选框, 位于选框下方的输入框变为有效状态 这时必须详细指明基地址和断点掩码 这两个寄存器按位与后产生的结果与 PC 值或是数据存储器的地址比较来判断是否出现了数据中断条件, 实现的框图如下 :

正如上表所示, 如果掩码的某位为 0, 无论 PC 值或数据地址寄存器相对应位的内容如何, 此位任何时候都满足中断条件 要是掩码的某位为 1, 相应的 PC 值或数据地址寄存器数据位的值, 必须同基地址相应位的值相等, 才满足中断条件 1 上表中的例 1 掩码全为高, 只有基地址会产生有效中断向量 而且该中断向量是唯一的 :1010 1010 0101 0101 2 上表中的例 2 掩码中有 1 个 0, 将产生两个有效中断向量 : 1010 1000 0101 0101 1010 1010 0101 0101 3 上表中的例 5 掩码全为低, 意味着所有地址都是有效中断向量,AVR 将单步执行 如果 PC 或数据地址与一个有效中断向量匹配, 控制逻辑将引起中断 AVR 将会在执行了满足中断条件的那条语句后暂停程序 2.2.3.7 程序进入分支或 PC 发生跳转时引起中断 JTAGICE 还可以不依赖于 3 个硬件断点和中断指令来中断程序 当 Break on Change of Flow 选框有效时,PC 值不是线性变化都将引起程序中断 在这种中断下,AVR 会在执行了满足中断条件的那条语句后暂停程序 2.2.4 检查 JTAGICE 状态点击 JTAG ICE 属性窗口中的 Status 选项卡, 即可切换到状态窗口, 如下图示 :

该窗口显示了 JTAGICE 及目标器件的状态, 在多目标芯片时, 该状态窗口给出的目标芯片型号可以辅助判断 JTAG 链的定位 2.3 JTAGICE 选项卡设置 JTAG ICE 除了能作为在线仿真器使用外, 它还可以当作编程器来使用 当作为编程器使用时,JTAGICE 可以对支持的器件的 FLASH EEPROM 熔丝位和加密位编程, 可以执行芯片擦除 编程 校验 加密的操作 尤其对熔丝位的编程, 使用 JTAGICE 比使用通用编程器更加方便 JTAGICE 提供了熔丝组合配置的列表, 用户可以直接明了地配置熔丝 在 AVRStusio 中点击 TOOLS->STK500/AVRISP/JTAGICE->STK500/AVRISP/JTAGICE (4.10 以前版本 ) 或者 TOOLS->PROGRAM AVR->AUTO CONNECT 即可打开 JTAGICE 编程窗口 与在线仿真时的连接要求一样, 必须先退出所有占用 JTAGICE 端口的程序 如果正在调试, 那么也必须点击 DEBUG->Stop Debugging 来退出仿真调试程序对 JTAGICE 的占用 最后检查电路是否都已连通了, 确认无误后即可上电, 在编程模式下没有上电顺序的要求 如果这些准备工作都已经完成了, 就可以打开 JTAGICE 编程窗口了 如果使用 USB 版本 ( 即 V3 版本 ) 的 JTAGICE, 正确安装驱动后, 系统将会虚拟出一个串口, 用户可以通过控制面板中系统下的设备管理器或者双击任务栏右下角的即插即用设备得到 USB JTAG ICE 的设备端口号, 如下图示 :

USB 接口的 JTAG ICE 采用了 USB 到 RS232 的桥接芯片 接入 USB 版 JTAG ICE, 安装完提供的驱动之后, 打开设备管理器窗口, 在端口中将出现 USB AVR JTAG V3.1[By Team Mcuzone] 的端口设备, 紧随其后的就是该设备对应的端口号

上图中 USB JTAG ICE 的端口号是 COM8 JTAGICE 编程窗口如下图所示 : 在 AVR Stusio 中点击 TOOLS->STK500/AVRISP/JTAGICE->STK500/AVRISP/JTAGICE (4.10 以前版本 ) 或者 TOOLS->PROGRAM AVR->AUTO CONNECT 打开 JTAGICE 编程窗口 打开该窗口后如果下方信息栏中出现如下提示 : Detecting: FAILED! 那么请检查你的电源和仿真器的连接 如果你使用的是 RS232 版的 JTAGICE 那么请与我们联系, 如果你使用的是 USB 版的 JTAGICE 那么先按上述的方法在控制面板里找出仿真器的设备端口号, 然后打开 JTAG ICE 编程窗口, 点选 Advanced 选项卡, 将会出现上图画面 检查 COM 口的设置 因为有时自动配置无法找到设备, 所以建议将 COM 口设为 JTAG ICE 的设备端口号, 并将波特率设为 19200 然后, 关闭该窗口, 并重新打开它 如果依然无法检测到 JTAGICE, 那么也请与我们联系 接下来, 介绍一下各选项卡的功能 1 Program 选项卡 Program 选项卡如下图示 : 首先选择器件 注意, 只有带 JTAG 口功能的 AVR 才支持 JTAGICE 编程 为了编程的可靠, 建议选中 Erase Device Before 和 Verify Device After Program 选框 保证每次对芯片烧写程序的时候, 都先擦除芯片再编程并在编

程后对目标芯片做校验 2 Fuse 选项卡 Fuse 选项卡如下图示 : 如图所示, 该列表列出了所有的熔丝配置的组合 用户将会发现有些选项是独立的, 有些选项是组合的 例, 上图是 Atmega16 的熔丝配置图 第 1 到第 4 项就是独立选项, 而第 5 到第 8 就是组合选项 独立选项用于配置独立的熔丝, 而组合选项用于配置需要组合的熔丝, 简单地说, 就是组合选项中只有一种是有效的, 你无法同时选中同一熔丝组中的两种不同配置, 如果你先选了第 5 项, 再选第 6 项时, 第 5 项左边的选中标志会自动消失 在熔丝编程时要特别注意的是, 请保证 JTAG Interface Enable 一项始终有效, 如果用户禁止了该熔丝, 那么目标芯片就将失去与 JTAGICE 的通信能力, 只有通过串行或并行编程的办法才能重新激活该熔丝位 ( 即用通用编程器重新激活该熔丝位 ) 3 LockBits 选项卡

加密位选项卡也同样列出了所有加密位的组合 当你选定了采用某级加密, 并在该加密级别下对加密位进行编程, 如果想要将加密位删除, 那么只能对芯片做擦除操作 但是你可以在某一加密级别下对芯片做更高级别的加密操作而无须重写芯片 4 Advanced 选项卡如图所示 Advanced 的功能如下 :

Read Signature 用于读取芯片的 ID 号, 该 ID 号与芯片的型号是一一对应的 下面这一栏 Oscillator Calibration byte 用于读取片内振荡器的频率校准值 选择芯片的振荡频率后 Value 和 Write 都从灰色变成可用的状态, 这时可以读出片内的配置值, 在 write 框中用 0xXX 十六进制格式指定写入 FLASH 或 EEPROM 中的地址, 点击 Write to Memory 就能把校准的值写入到指定的地址空间中以便程序的调用 5 Board 选项卡 Board 选项卡没有特殊的功能, 只是为用户提供一些关于目标板和 JTAGICE 的信息, 如下图所示 :

读取电压值, 即可读取目标板的电压值 该栏的信息还指示出 JTAGICE 硬件和软件的版本号 6 Auto 选项卡 Auto 选项卡为用户在 JTAGICE 上实现了类似于编程器的自动编程功能, 如下图所示 :

第三章实战练习 本章通过一个实际例子来演示各个版本的 JTAG ICE 的操作和跳线设置以及一些注意事项 首先安装 AVR STUDIO, 本实例使用 AVR STUDIO 4.11+SP3; 然后安装 AVR C 编译器 WINAVR, 本实例使用 20050214 版本 ; 接着按照以下使用指南连接 JTAG ICE 和目标板, 本实例采用了本站的 M8/16 Writer 作为目标板 ; 最后准备源程序, 本实例采用了一个 LED_FLASH 的例子, 该例子可以在 www.mcuzone.com 下载 完成这些准备工作后即可以根据不同版本的 JTAG 进行 3.1 3.2 或者 3.3 的操作 3.1 AVR JTAG ICE V1 的使用指南 : 1, 按照下图所示进行硬件连接 : 2, 打开 AVR STUDIO 4.11 本示例采用 WINAVR20050214 版本进行编译, 打开 WINAVR 的 PN(Programmers Notepad), 调入源程序, 本示例使用了 LED_FLASH 例子, 该示例已经有 Makefile 存在了 ( 如果不使用本示例, 请自行解决源程序和目标板的问题 ), 打开 LED_FLASH.c, 请注意, 后缀.c 需要小写!! 如下图 :

如果下载的示例的已经编译过的, 那需要先清空, 然后重新编译, 相关选项可以参照下图, 即先执行 Tools 下面的 Make Clean, 然后再执行 Make All 由于在 Makefile 里面已经设置好了, 故只需 Make All 一下即可 编译通过后 WINAVR 会生成 AVRStudio 所需要的.cof 文件

接下来打开 AVRStudio, 本示例采用了 4.11 版本 ; 调入 LED_Flash.cof, 如下图所示 : 调入.cof 文件后 AVRStudio 会询问采用什么调试平台, 使用什么目标芯片, 通过那种接口, 如下图所示 : 本示例应选择 JTAG ICE 和 ATmega16, 接口设置成 Auto 点击 Finish 后出现下图所示内容的时候即表示 JTAG ICE 和目标板均工作正常

这时可以进行单步, 全速, 断点, 查看寄存器等等操作. 如果点击 Finish 后并未出现上图所示内容, 而是出现下图所示内容, 则表示目标板未正确连接, 请检查硬件连接并关闭一切占用串口的程序, 然后再重新连接 如果出现下图所示内容, 则表示 JTAG ICE 的固件需要升级, 用户可以按照 Mcuzone 的提示执行升级或者直接发回 Mcuzone 由专业人士为您免费升级!

3, 注意事项 : 本 JTAG ICE 通过串口和 PC 机相连接, 在 JTAG ICE 上的串口为 DB9 母口, 通过一条非交叉的串口延长线与 PC 相连 下图为 V1 版本的 JTAG ICE 的 10 芯引脚定义 : 其中 1 脚 TCK 3 脚 TDO 5 脚 TMS 9 脚 TDI 分别和具备 JTAG 功能的 AVR( 以 ATMEGA16 为例, 分别为 24 脚 TCK 26 脚 TDO 25 脚 TMS 27 脚 TDI) 的相应引脚连接 Vcc 为 JTAG 电源, 用于给 JTAG ICE 上的芯片供电 ; Vref 为目标板电源,2 和 10 脚为电源地 /TRST 可不接 另外一个需要注意的接口是 AVR JTAG ICE 上的 AJ JP1, 该跳线用来选择目标板和 JTAG ICE 的电源, 当跳线短接 1-2 时,Vcc 和 Vref 被短接, 即 JTAG ICE 和目标板公用电源 ; 当跳线短接 2-3 时,Vcc 和 Vref 独立供电,JTAG ICE 的电源由 AJ J4 供电, 其中 1 脚为 Vcc,2 脚为 GND,3 脚悬空 ( 从左到右 ) 如果在无特殊电平要求情况下建议目标板和 JTAG ICE 公用一组电源, 即短接 AJJP1 的 1-2, 默认情况的跳线即为此连接 注意 : V1 版本的 JTAG ICE 板载 ISP 接口, 用户可以通过该接口自行升级 JTAG ICE 的固件 3.2 AVR JTAG ICE V2 的使用指南 : 1, 按照下图所示进行硬件连接 :

JTAG供电 短接1 2 目标板供电 短接1-2 2 同V1 3 注意事项

主要是要注意 JTAG 和目标板的电源管理 强烈建议采用单一电源供电, 如果将电源加在 JTAG 上, 则跳线应设置成 1-2 短接以实现对目标板的供电 ; 如果电源加在目标板上, 则将跳线设置成 2-3 短接实现 JTAG 的取电 串口连接线为非交叉延长线! 注意 : V2 版本的 JTAG ICE 板载 LDO, 未经稳压的外部电源可以通过该 LDO 稳压后给系统供电, 输入电压范围为 5.5V-9V; 如果外部电源为稳压过的 3-5VDC, 则也可以直接将该电压加到 J4 插针上 3.3 AVR JTAG ICE V3 的使用指南 : 1, 按照下图所示进行硬件连接 : 目标板独立供电, 短接 2-3 USB 取电, 短接 1-2 或者 3-4 系统将提示找到新硬件, 这时可以按照下图进行驱动程序的安装

选择 否, 暂时不, 然后点击 下一步 选择 从列表或指定位置安装, 然后点击下一步 ( 也可以讲附赠光盘放入光驱, 然后选择 自动安装软件 )

通过 浏览 按钮定位驱动程序所放置的位置, 驱动程序可以在 www.mcuzone.com 下载到, 也可以通过联系 Mcuzone 另行提供 选择驱动程序所在位置, 点击确定, 系统开始安装驱动

请稍等片刻

系统提示未通过徽标测试, 不予理会, 点击 仍然继续 安装进行中 完成安装, 点击完成, 无需重启

点击右下脚即插即用的图标, 出现上图所示信息 2, 同 V1 操作 3, 注意 : 对于 USB 版本的 AVR JTAG ICE, 有几点需要注意, 首先, 请注意 JTAG ICE 和目标板的电源管理,JTAG ICE 的供电由 USB 端口提供, 目标板的电源可以自行提供也可以通过 USB 取电 当目标板单独供电的时候请参照后文将 USB AVR JTAG ICE 上面的电源跳线跳在 2-3; 如果目标板从 USB 端口取电, 且为 3.3V 则应将电源跳线跳在 3-4, 如果为 5V, 则应跳在 1-2; 其次如果更换 USB 端口的时候虚拟出来的串口的编号将会改变, 如之前为 COM3, 更换 USB 端口后将变成 COM4, 所以更换 USB 口后请在 AVRSTUDIO 里面设置成 Auto 方式进行连接, 或者手工设置新的虚拟 COM 端口 ; 最后, 由于本桥接芯片为即插即用类型 ( 类似于 U 盘 ), 所以如果使用完毕需要拔出, 请先双击 ( 或者左键单击 ) 右下角即插即用图标进行安全删除硬件 4,10 芯 JTAG 引脚定义 :

10 芯 JTAG 的引脚定义 其中 Vsupply 为目标板的供电电源, 如果目标板和 USB JTAG 分开供电则需将电源跳线跳至 2-3; 如果目标板从 USB JTAG 取电, 且为 3.3V, 则可以将电源跳线跳至 1-2; 如果目标板需要 5V 电源则将电源跳线跳至 3-4 注意 :USB AVR JTAG 虽然进行了一定的隔离和电源保护措施, 但是为了确保主机 USB JTAG 以及目标板的安全, 请在上电之前检查一下电源电路!!! 5,4 芯电源跳线说明 4 芯电源选择定义跳线说明 : 1-2: 目标板采用 USB 端口供电, 且供电电压为 5V; 2-3: 目标板独立供电 ; 3-4: 目标板采用 USB 端口供电, 且供电电压为 3.3V;

特别注意事项 附录一 使用 JTAG ICE 时, 要考虑以下注意事项 JTAG 端口频率应该将 JTAG 端口频率设置为 1/4 或低于目标器件频率 当使用一个支持系统时钟分离的器件时, 选择 JTAG ICE 端口频率必须考虑最低系统频率 IO 周边器件即使程序执行到断点时被中断, 所有的 IO 设备也将继续运行 例如 : 当程序执行到 UART 传输时被断点中断,UART 将完成传输, 并将 TXC( 传输结束 ) 标志位置位, 以及取得下一个单步执行的代码 在停止模式下所有的 IO 模块都会继续执行, 除了下面列出的两个特殊模块 : 1. 定时器 / 计数器在调试选项页中, 用户可以设置在停止模式时定时器 / 计数器是否继续执行 2. 看门狗定时器在停止模式下, 看门狗定时器将会终止运行 这避免了终止模式下的无效看门狗复位 单步执行因为 IO 在停止模式下继续运行, 所以应该考虑到在 IO 执行时单步操作对 IO 的延时 例 : OUT PORTB, 0xAA IN TEMP, PINB 在器件中直接运行程序,IN 指令无法读回 0xAA 这个值 为确保在引脚寄存器出现正确数值, 应该在 OUT 和 IN 指令间加一条 NOP 指令 然而, 在 JTAG ICE 中单步执行代码时, 单步执行会在 PIN 寄存器中读到 0xAA 这是因为 IO 口没有停止, 并以全速继续运行, 这给数据锁存到引脚并回送提供了充足的时间 软件断点在 JTAG ICE 中, 某些 AVR 器件支持中断指令 使用中断指令时, 应该注意以下事项 : 因为软件断点取代了原始的中断指令, 每次增加或删除软件断点时, 都要对 Flash 重新编程 AVR FLASH 只有 1000 次的擦写周期 大量使用中断指令将会最终损坏 FLASH 而且重新编译后的 HEX 中包含更多的断点信息, 因此也会在仿真时引入更多的启动延时 注 : 在调试阶段, 需要频繁的改变断点位置, 应避免使用软件中断指令, 建议使用硬件断点 这会提高速度, 延长器件的使用期限 调试中目标 AVR 的复位和掉电如果调试时 JTAG ICE 突然断电, 通信将会失败 如果只有目标 AVR 断电, 还可能继续调试 然而, 当目标 AVR 复位或掉电时, 目标 AVR 可能会进入另一种状态 然而, 硬件复位后, 硬件断点还依然保存在目标 AVR 中 注 : 若要使调试恢复正常, 请先执行 Debug->Stop debugging 菜单操作, 再执行 Debug->Start debugging 进入调试模式 与 JTAG 相关的熔断丝设置为正确运行, 目标器件必须设置两个熔丝, 即 JTAG 使能熔丝和 OCD 使能

熔丝 当芯片出厂时, 这两个熔丝已被默认激活 如果你无意中关闭了 JTAG 使能熔丝, 你能通过通用编程器或 ISP 来重新激活该熔丝 每次调试时,AVR Studio 都能自动激活 OCD 熔丝, 退出调试时 AVR Studio 会恢复其原有设置 信息窗口信息窗口提供了 AVR Studio 和 JTAG ICE 运行时的重要信息 使用 JTAG ICE 调试 Atmega128 这部分介绍仅限于 Atmega128 当用 Atmega128 执行中断指令时, 应该注意以下事项 : 假设在代码中有条中断指令, 指令在断点处刚好执行 当从这个位置单步执行时, 将会延时一个额外的周期才发生中断 可能这种行为并不是至关重要, 但如果有多条连续的中断指令, 那么程序将在连续的中断指令执行完毕后才会发生中断 所以, 当有意要使用这样的功能时, 建议使用硬件断点 访问 IO 寄存器如果没有改变微处理器的状态, 某些寄存器将不能被读取 但是改变微处理器的状态将使得一些状态位被置位或清除, 更甚者, 将会破坏某些寄存器的内容, 从而导致更多的仿真错误 因此, 下面的寄存器不能直接使用 JTAG ICE 进行访问 : JTAG 引脚功能如果 JTAG 接口被激活,JTAG 引脚就不能当作通用 IO 引脚使用 但是如果在程序代码中将 MCUCSR 中的 JTD(JTAG Disable) 位打开, 或者用编程器将 JTAG 使能熔丝关闭,JTAG 接口就可以当做一般 IO 口使用 否则 JTAG 接口只能用于 JTAG 功能 校验 Flash 当使用 JTAG ICE 调试时, 有可能需要对 Flash 编程 注意 : 为了优化速度, JTAG ICE 没有在重编程后对 FLASH 做校验, 除非用户指定校验选项 AVR 闪存允许 10000 次的擦写操作 所以多次的编程操作最终将损坏闪存

附录二 JTAG 连接器的引脚定义及说明

附录三版本信息 Rev3.2: 2005-7-10 更新, 修订以下内容 : 1, 添加了设置多余 3 个断点后的错误信息图片 2,JTD 可以用 ISP 打开 3,WinAVR 的输出也支持变量名断点 Rev3.1: 2005-7-5 更新, 修订以下内容 : 1, 修改图片, 去除无用信息 2, 加入错误提示截图 3, 加入硬件连接图片 Rev3.0: 2005-7-3 更新, 将 V1 和 V2 版本的 AVR JTAG ICE 说明书更新, 加入 V3 版本的 AVR JTAG ICE 使用说明, 形成 Rev3.0 使用说明的原始版本 感谢你的关注! 如果有任何问题请直接联系 : hotislandn@hotmail.com hdapple_2000@hotmail.com 如果发现文档的错误或有更好的建议, 也请联系, 以便我们加以改进, 在此先表示感谢! 请经常访问 www.mcuzone.com 以获取最近更新