USB/RS232 AVR JTAG使用说明书

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

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

手册 doc

目 录

ICD ICD ICD ICD ICD

Microsoft Word - AVR32 UC3 isp下载.doc

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

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

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

AVR mkII Lite 说明书

Microsoft Word - AVRISP MKII使用说明

HD ( ) 18 HD ( ) 18 PC 19 PC 19 PC 20 Leica MC170 HD Leica MC190 HD 22 Leica MC170 HD Leica MC190 HD Leica MC170 HD

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

C语言的应用.PDF

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

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

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

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

Microsoft Word - AVRISP使用说明书

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

从MCS51向AVR的快速转换.PDF

AVRVi MkII 多功能编程仿真器

untitled

untitled

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

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

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63>

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

JTAGICE mkⅡ使用说明

USB解决方案.ppt

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

目录

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

TSL-AVRJTAGICE仿真器用户手册

untitled

Microsoft Word - SAM-BA.doc

F515_CS_Book.book

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

2 : ; :


EK-STM32F

目 录 1 系统概述 支持芯片 指示灯状态 驱动安装 接口电路设计 使用 AVR Studio 进行编程和仿真 固件升级 常见问题处理 服务与支持...17 第 2 页共 17 页

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

Microsoft Word - AVRStudio使用说明.doc

<4D F736F F D D3B2BCFEBFAAB7A2B9A4BEDFD1A1D0CDD6B8C4CF2E646F63>

AVR debugwire_avr_ispMkii

<4D F736F F D20D4D3D6BECEC4B8E5C4A3B0E52E646F63>

untitled

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

FM1935X智能非接触读写器芯片

X713_CS_Book.book

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

JLX

untitled

DSP

SPMC75F2413A_EVM_使用说明_V1.2.doc

Tel:

PROTEUS VSM

SPHE8202R Design Guide Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provi

tiny15.PDF

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

<4D F736F F D FB971BEF7BB50B971A46CB8735FB773A55FA5ABA5DFB7E7AADAB0AAAFC5A475B77EC2BEB77EBEC7AED55FA97EAE61C0F4B9D2B4BCBC7AB1B1A8EEA874B2CE2E646F63>

WebSphere Studio Application Developer IBM Portal Toolkit... 2/21 1. WebSphere Portal Portal WebSphere Application Server stopserver.bat -configfile..

ISO h.PDF

控制器 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

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

穨UPSentry_SC_.PDF

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

ATmega8

PCM-3386用户手册.doc

DR2010.doc

V39用户手册0227.doc

User ID 150 Password - User ID 150 Password Mon- Cam-- Invalid Terminal Mode No User Terminal Mode No User Mon- Cam-- 2

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


Symantec™ Sygate Enterprise Protection 防护代理安装使用指南

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

Microsoft Word - Codewarrior IDE快速入门.docx

1.ai

2005.book

中文手册

Microsoft Word - 正文.doc

Unidrive M400 PLC 0.25 kw kw (0.33 hp hp) 100 V 200 V 400 V 575 V 690 V

2 PIC PIC 1 / CPU PIC MCU PIC RC

VF---10

untitled

MEGAWIN

Leica IC90 E Leica IC90 E: USB 20 HDMI 22 SD () CLR ( ) 30 CLR ( ) 31 EXPSURE () 32 RESLUTIN ( ) 33 SETUP CAMER

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

<4D F736F F D D3B2BCFEBFAAB7A2B9A4BEDFD1A1D0CDD6B8C4CF56322E646F63>

epub83-1

P4VM800_BIOS_CN.p65

Moto Z

mdt1030

Microsoft Word - MAN2011A_CH_RTT.doc


...2 SK 100 G SK 100 G / /

!!

典型自编教材

Transcription:

阿莫电子工具使用指南 USB/RS232 AVR JTAG 仿真器 阿莫电子 www.mailshop.cn www.ouravr.com www.ourdev.cn

商标资讯 ATMEL 与 AVR 分别是 ATMEL CORPORATION 的注册商标和商标 阿莫电子 OURAVR 和 ARMOK 分别是东莞阿莫电子的商标

安全需知 为防止损坏您的 AVR 工具, 避免您或他人受伤, 在使用本设备前请仔细阅读下面的安全需知, 并妥善保管以便所有本设备的使用者都可随 时参阅 请遵守本节中所列举的用以下符号所标注的各项预防措施, 否则可能 对产品造成损害! 警告 该标记表示警告, 提醒您应该在使用本产品前阅读这些信息, 以防止可能发生的损害 勿在易然气体环境中使用 请勿在易然气体环境中使用电子设备, 以避免发生爆炸或火灾 勿在潮湿的环境中使用 请勿在潮湿的环境中使用电子设备, 以免设备损坏 发生故障时立刻拔下所有线缆 当您发现产品冒烟或发出异味时, 请立刻拔下所有与其连接的线缆, 切断电源 以避免燃烧 若在这种情况下还继续使用, 可能会导致产品的进一步损坏, 并使您受伤 请与我们联系后, 将产品寄回给我们维修 请勿自行拆卸本产品 触动产品内部的零件可能会导致受伤 遇到故障时, 请及时联系我们 自行拆卸可能会导致其它意外事故发生 使用合适的电缆线 若要将线缆连接到本设备的插座上, 请使用本产品提供的线缆, 以保证产品规格的兼容性 请勿在儿童伸手可及之处保管本产品 请特别注意防止婴幼儿玩耍或将产品的小部件放入口中

注意 未经阿莫电子的事先许可, 对本产品附属的相关手册之所有内容, 不得以任何方式进行翻版 传播 转录或存储在可检索系统内, 或者翻译成其它语言 阿莫电子保留可随时更改手册内所记载之硬件与软件规格的权 利, 而无需事先通知 阿莫电子对因使用本产品而引起的损害不承担任何责任 阿莫电子已竭尽全力来确保手册内所载信息的准确性和完善性 如果您发现任何错误或遗漏, 请向我们反映 ( 见 联系我们 ), 对此, 我们深表感谢

目 录 产品简介...1 简介...1 装箱清单...2 支持芯片...3 硬件说明...4 主板说明...4 RS232 接口电路...4 USB 接口电路...4 自动识别电路...4 控制电路...4 LED 指示...4 JTAG 接口电路...5 软件安装...6 系统要求...6 软件安装...6 驱动安装...10 检验驱动...17 如何使用...19 器件连接...19 JTAGICE 烧录功能...20 JTAGICE 命令行软件...25 熔丝位设置...29 芯片仿真...35 一 调试控制栏说明...39 二 断点的使用...41 三 变量查看...41 四 寄存器查看...43 五 I/O View 窗口...44 六 查看汇编代码...44

目 录 固件维护...46 自动升级...46 手工升级...48 注意事项...49 故障排除...55 烧录程序时的故障...55 仿真时的故障...57 附录资料...58 联系我们...65

产品简介 简介 阿莫电子的 USB/RS232 AVR JTAG 仿真器是一款与原装 JTAGICE ( 第一代 ) 仿真器功能完全一致的产品 带自动升级和手工升级功能, 使用 ATMEL 官方免费软件 AVR Studio 进行仿真与烧录 可通过 USB 或串口与 PC 机连接, 解除笔记本电脑用户没有串口的烦恼 并可直接利用目标板上的电源供电而不需要额外的电源 JTAG 接口是一个 4 线的符合 IEEE 1149.1 标准的测试接入端口 (TAP) 控制器 IEEE 的标准提供一种行之有效的电路板连接性测试的标准方法 ( 边界扫描 ) Atmel 的 AVR 器件已经扩展了支持完全编程 和片上调试的功能 本设备使用的是标准的 JTAG 接口, 用户可以对正在目标系统中 运行的微处理器实时仿真 根据 AVROCD (AVR On-Chip Debug AVR 片上调试 ) 协议, 用户完 全控制 AVR 微处理器的内部资源 本设备可以提供完美的仿真, 而价格远低于传统硬件仿真器的价格 特点 1. 与 AVR Studio 兼容 2. USB 与 ES232 两种连接方式 3. 防插错机构, 可有效防止误将仿真头插入 ISP 接口导致目标板电源短路 4. 支持汇编与高级语言源码调试 5. 支持 Flash EEPROM 熔丝位 锁定位 阿莫电子 - 1 -

装箱清单 本产品包括以下部件 : USB/RS232 AVR JTAG 仿真器 一台 RS232 串口线 ( 公与母,1.5M) 一条 USB 标准线 ( 方口与扁平口 )( 带磁环 ) 一条 JTAG ISP 扁平延长线 (2*5)(40cm 长 ) 驱动与使用光盘 两条 一张 USB/RS232 AVR JTAG 仿真器 JTAG ISP 扁平延长线 RS232 串口线 USB 标准线 驱动与使用光盘 注 : 以上图片仅供参考, 实物如有变更, 恕不另行通知! - 2 - 阿莫电子

支持芯片 USB/RS232 AVR JTAG 仿真器支持芯片列表 : ATmega16L-8PU ATmega16L-8AU ATmega16-16PU ATmega16-16AU ATmega162V-8PI ATmega162V-8AU ATmega162-16PU ATmega162-16AU ATmega169P-16AU ATmega169PV-8AU ATmega169V-1AI ATmega32L-8PU ATmega32L-8AU ATmega32-16PU ATmega32-16AU ATmega64L-8AU ATmega64-16AU ATmega128L-8AU ATmega128-16AU ATmega323 AT90CAN128 阿莫电子 - 3 -

硬件说明 主板说明 USB/RS232 AVR JTAG 仿真器由五个部分组成 :RS232 接口电路 USB 接口电路 自动识别电路 控制电路和 JTAG 接口电路 RS232 接口电路 使用标准的 DB9 RS232 接口与 PC 机前端处理软件 AVRStudio 通信, 支持 115200 的波特率 USB 接口电路 使用 USB 转 RS232 芯片将 USB 信号转化为 RS232 信号与 PC 机前端处理软件 AVR Studio 通信, 支持 115200 的波特率 自动识别电路 采用电子模拟开关实现 USB 接口与 RS232 接口的自动识别功能 控制电路 控制电路主要负责将前端软件指令转化为用于 JTAG 接口有效的 AVROCD 指令 另外, 该模块也负责监控及设定一些控制信号 LED 指示 绿灯亮红灯亮红灯灭红灯闪 电源上电同步成功通信中 - 4 - 阿莫电子

JTAG 接口电路 采用标准的 10 脚插头 ( 扁平线红色一边为第一脚 ) 与目标板相连 : 目标板接口电路图 引脚信号 I/O 说明 1 TCK 输出 测试时钟,JTAG ICE 发往目标 JTAG 端口的时钟信 号 2 GND - 地 3 TDO 输入 测试数据输出, 目标 JTAG 端口发往 JTAG ICE 的数据信号 4 VTref 输入 5 TMS 输出 6 RST 输出 / 入 7 VDD 输入 目标参考电压 目标 VDD 用于控制逻辑电平转换 器和目标电源 LED 指示灯 测试模式选择,JTAG ICE 发往目标 JTAG 端口的模式选择信号 适配器开集电极输出至目标系统复位 它也是适 配器的输入引脚, 将目标板的复位情况告知 JTAG ICE 适配器电源, 该连接器用于为适配器提供 (3-5)V 的直流稳压电源 当使用了外部电源时, 这个电源电压输入端会自动断开 8 RST NC( 输出 ) 悬空, 用于与其他设备兼容 (JTAG 端口复位 ) 9 TDI 输出 测试数据输入,JTAG ICE 发往目标 JTAG 端口的数据信号 10 GND - 地 阿莫电子 - 5 -

软件安装 系统要求 最低软硬件配置要求是 : 486 处理器 ( 推荐使用 Pentium 系列 ) 16 MB RAM 16 MB 空余硬盘空间 Windows95/98/NT4.0 及更高版本,Windows2000 115200 波特率的 RS-232 端口 (COM 口 ) 软件安装 双击光盘中此图标, 开始安装软件 欢迎界面, 点 NEXT 继续 : - 6 - 阿莫电子

选择接受协议许可, 点 NEXT 继续 : 点 Chang..., 选择安装文件夹后, 点 NEXT 继续 : 阿莫电子 - 7 -

选择安装 USB 驱动复选框 ( 默认为安装 ), 点 NEXT 继续 : 准备好安装参数, 点 Install 进入安装程序 : - 8 - 阿莫电子

安装程序中 : 安装驱动, 这个窗口要在屏幕上停留几秒种, 请不要关闭, 稍后会自动关闭 : 阿莫电子 - 9 -

安装完成, 点 Finish 安装结束 驱动安装 如果您的电脑是第一次通过 USB 接线方式 ( 见器件连接 ) 使用本仿真器, 当您接好线后, 系统将会提示您安装此设备的驱动 发现新硬件 USB/RS232 AVR JTAG: - 10 - 阿莫电子

找到新硬件向导, 请单击 下一步 继续 : 安装硬件设备驱动程序, 请选择 搜索适于我的设备的驱动程序 ( 推荐 )( S ), 单击 下一步 继续 : 阿莫电子 - 11 -

找到驱动程序文件, 请选择 指定一个位置, 单击 下一步 继续 : 选择文件复制来源, 单击 浏览 选择光盘中的 FT232BM_R9052154_vcp 目录, 单击 确定 继续 : - 12 - 阿莫电子

找到驱动程序文件, 单击 下一步 继续 : 安装完成 阿莫电子 - 13 -

发现新硬件, 虚拟串口 找到新硬件向导, 请单击 下一步 继续 : - 14 - 阿莫电子

安装硬件设备驱动程序, 请选择 搜索适于我的设备的驱动程序 ( 推荐 )( S ), 单击 下一步 继续 : 找到驱动程序文件, 请选择 指定一个位置, 单击 下一步 继续 : 阿莫电子 - 15 -

选择文件复制来源, 单击 浏览 选择光盘中的 FT232BM_R9052154_vcp 目录, 单击 确定 继续 : 找到驱动程序文件, 单击 下一步 继续 : - 16 - 阿莫电子

安装完成 检验驱动 如果怀疑驱动有没有正常运行, 可以用以下的方法查看 右击 我的电脑 选择, 管理 : 阿莫电子 - 17 -

出现计算机管理窗口, 在左侧的窗口中选择 设备管理 在右侧的窗口中, 展开 端口 (COM 和 LPT), 出现如图所示 USB/RS232 AVR JTAG (comx), 即安装驱动成功 ComX 是系统为您设置的串口号 - 18 - 阿莫电子

如何使用 器件连接 通过 USB 连接仿真器 : 通过串口连接仿真器 : 注 : 1. 无论那种连接方式均为目标板供电, 仿真器不给目标板提供电 源 2. 如串口与 USB 口同时连接, 则 USB 口工作, 串口不工作 阿莫电子 - 19 -

JTAGICE 烧录功能 请将仿真器与 PC 机和目标板连好后, 通过以下三种方式之一启动 AVR Studio 软件 1. 双击桌面 AVR Studio 图标 2. 单击快速启动栏内 AVR Studio 图标 3. 通过 开始 菜单 弹出 Welcome to AVR Studio4 窗口, 请点击 Cancel 取消 - 20 - 阿莫电子

点击工具栏中 Con 按钮 弹出 SelectAVRProgrammer 对话框, 如下图所示选择 JTAGICE 平台与 AUTO 端口, 点击 Connect... 弹出 JTAGICE 窗口 编程标签页 1. 选择您所使用的芯片 2. 按图中设置编程模式 3. 单击要烧录存储器栏的 浏览, 选择烧录文 件后点击 编程 按钮 阿莫电子 - 21 -

熔丝标签页 1. 配置好熔丝 位后点 Program 即可完成熔丝位 烧录 2. 如何配置熔 丝位请参考 熔丝位设置 锁定位标签页 1. 配置好锁定位后点 Program 即 可完成锁定位烧录 2. 如何配置锁定位请参考 锁定位设置 - 22 - 阿莫电子

高级标签页 1. 点击 Read 即可读芯片的标识位 2. 可设置通信频率与菊花链 目标板标签页 1. 点击 Read Voltages 可测试目标板电压 2. 在 Revision 中 可以看到软件 硬件版本 阿莫电子 - 23 -

自动化标签页 1. 选择需要的 功能, 点击 Start 即可高效编程 - 24 - 阿莫电子

JTAGICE 命令行软件 命令行软件非常适用于批量烧录, 这里列出了 JTAGICE 软件所有命令及可使用的参数 ( 注意 : 命令行软件区分大小写 ) 用法 : jtagice.exe [ 命令 ] [ 参数 ] 命令 : -h/-? 显示本帮助. -e 擦除芯片. -j 读取 JTAG ID 字符串. -f< 熔丝位 > 写熔丝位的高 / 低字节. LSB 将会写到低字节,MSB 将 会写道高字节. -l< 锁定位 > 将特定值写入锁定位. -p[f e b] 写入 FLASH (-pf), EEPROM (-pe) 或两者 (-pb) 存储器, 要写入的数据文件名使用 -if(flash) 和 / 或 ie(eeprom) 定义. -q 读熔丝位. 如果被选中的器件有扩展熔丝位, 也会被读出来. -r[f e b] 读 FLASH (-rf), EEPROM (-re) 或 both (-rb) 存储器. 要保存成的数据文件名使用 -of(flash) 和 / 或 oe(eeprom) 定义. -s 读标志位. -v[f e b] 校验 FLASH (-vf), EEPROM (-ve) 或两者 (-vb) 的存储器. 要输入的数据文件后要带有 -if(flash) 和 / 或 ie(eeprom), 作为参数. 要求输入文件名, 文件名后带有 -if(flash) 和 / 或 ie(eeprom), 作为参数 -E < 扩展熔丝位 > 写扩展熔丝位. 阿莫电子 - 25 -

-F< 熔丝位 > 校验熔丝位的高 / 低字节.LSB 表明要写到低字节,MSB 表明要写入高字节. -G< 扩展熔丝位 > 将扩展熔丝位和给定值比较. -O< 地址 > 读振荡器的值. 地址是在器件的数据手册 (DataSheet) 中指定的地址. -S [f e] < 地址 > 把用 -O 或 -Z 读出的振荡器的值写到 FLASH (-Sf) 或 EEPROM (-Se) 给定的位置上去. -Z< 地址 > 参数 : ( 擦除芯片前 ) 从 EEPROM 中指定的位置读取数据. 这些数据可以用 -S[f e] 命令重新写入 EEPROM 或者 FLASH 中. -ae< 起始 >,< 终止 > 指定读取 EEPROM 的地址范围. 默认为整个存储 器 -af< 起始 >,< 终止 > 指定读取 FLASH 存储器的地址范围. 默认为全部存储器 -c< 接口 > 指定要连接到的接口. 可以是 USB, COM1-8 或 自动 ( 默认 ). 用 USB 的话, 仿真器的序列号也可以被指定 : -c USB:00A00000002C -d< 芯片 > [ 必须 ] 指定芯片的类型. -ie< 文件 > 指定要写入到 EEPROM 中的文件. -if< 文件 > 指定要写入到 FLASH 中的文件. -oe< 文件 > 指定文件用来保存从 EEPROM 中读出的数据. -of< 文件 > 指定文件用来保存从 FLASH 中读出的数据. -z 无进程显示. 应用与重定义输出文件. -D<devsbefore,devsafter,bitsbefore,bitsafter> - 26 - 阿莫电子

进行菊花链设置. -J< 波特率 > 省略不用, 仅用作兼容. -R 当编程的时候应用外部复位. -Y 执行振荡器的频率调整. 更多内容请看 AVR053 用法示例 : 打开 CMD 窗口, 输入如下命令 : "C:\Program Files\Atmel\AVR Tools\JTAGICE\jtagice.exe" -ccom1 -datmega16 -s -e -ifd:\hex\call.hex -pf -vf -f09be -lfc -F09BE -LFC "C:\Program Files\Atmel\AVR Tools\JTAGICE\jtagice.exe": jtagice 的路径 -ccom1 连接到 COM1 -datmega16 连接目标芯片为 ATMEGA16 -s 读取目标芯片的标识位 -e 擦除芯片 -ifd:\hex\call.hex 指定要烧录 D:\HEX\CALL.hex 到 FLASH 阿莫电子 - 27 -

-pf -vf -f09be -lfc -F09BE -LFC 烧录 FLASH 校验 FLASH 烧录熔丝拉高字节 0x09, 低字节 0xBE 烧录锁定位字节为 0xFC 校验熔丝拉高字节 0x09, 低字节 0xB 校验锁定位字节为 0xFC 按下 回车 键, 程序开始执行 - 28 - 阿莫电子

熔丝位设置 在熔丝位设置 (Fuses) 标签中, 将会显示当前芯片所能访问的熔丝位 有些熔丝位只能在并口 / 高压编程时更改, 它们会被显示, 但运行 JTAG 编程模式时不可更改 点击 读 (Read) 按钮获得当 前的熔丝位的值, 点击 写 (write) 按钮将当前熔丝位设置烧入芯片 选定这些复选框表明这个熔丝位被允许 / 编程, 即向实际芯片中写 0 注意选定的熔丝位设置不会在按 擦除芯片 (ChipErase) 按钮后受影响 以 M16 为例, 其设置界面如下 : 阿莫电子 - 29 -

图标描述 未编程的熔丝位或锁定位 已编程的熔丝位或锁定位 复选框描述 不能读取该位的当前值, 但是可以对此熔丝位编程 ( 已编程, 为 0) 不能读取该位的当前值, 但是可以对此熔丝位编程 ( 未编程, 为 1) 读取到该熔丝位 / 锁定位的值为 未编程, 但是不允许写入 例如 : 不能在串行模式下更改读取到该熔丝位 / 锁定位的值为 已编程, 但是不允许写入 例如 : 不能在串行模式下更改 不能读该熔丝位的值, 也不允许写该熔丝位 上图中的选项整理如下 : On-Chip Debug Enabled; [OCDEN=0] JTAG Interface Enabled; [JTAGEN=0] Serial program downloading (SPI) enabled; [SPIEN=0] Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0] Boot Flash section size=128 words Boot start address=$1f80; [BOOTSZ=11] Boot Flash section size=256 words Boot start address=$1f00; [BOOTSZ=10] Boot Flash section size=512 words Boot start address=$1e00; [BOOTSZ=01] Boot Flash section size=1024 words Boot start address=$1c00; [BOOTSZ=00] ; default value Boot Reset vector Enabled (default address=$0000); [BOOTRST=0] CKOPT fuse (operation dependent of CKSEL fuses); [CKOPT=0] Brown-out detection level at VCC=4.0 V; [BODLEVEL=0] Brown-out detection level at VCC=2.7 V; [BODLEVEL=1] Brown-out detection enabled; [BODEN=0] Ext. Clock; Start-up time: 6 CK + 0 ms; [CKSEL=0000 SUT=00] Ext. Clock; Start-up time: 6 CK + 4 ms; [CKSEL=0000 SUT=01] Ext. Clock; Start-up time: 6 CK + 64 ms; [CKSEL=0000 SUT=10] Int. RC Osc. 1 MHz; Start-up time: 6 CK + 0 ms; [CKSEL=0001 SUT=00] Int. RC Osc. 1 MHz; Start-up time: 6 CK + 4 ms; [CKSEL=0001 SUT=01] Int. RC Osc. 1 MHz; Start-up time: 6 CK + 64 ms; [CKSEL=0001 SUT=10]; default value Int. RC Osc. 2 MHz; Start-up time: 6 CK + 0 ms; [CKSEL=0010 SUT=00] Int. RC Osc. 2 MHz; Start-up time: 6 CK + 4 ms; [CKSEL=0010 SUT=01] Int. RC Osc. 2 MHz; Start-up time: 6 CK + 64 ms; [CKSEL=0010 SUT=10] Int. RC Osc. 4 MHz; Start-up time: 6 CK + 0 ms; [CKSEL=0011 SUT=00] Int. RC Osc. 4 MHz; Start-up time: 6 CK + 4 ms; [CKSEL=0011 SUT=01] Int. RC Osc. 4 MHz; Start-up time: 6 CK + 64 ms; [CKSEL=0011 SUT=10] Int. RC Osc. 8 MHz; Start-up time: 6 CK + 0 ms; [CKSEL=0100 SUT=00] Int. RC Osc. 8 MHz; Start-up time: 6 CK + 4 ms; [CKSEL=0100 SUT=01] - 30 - 阿莫电子

Int. RC Osc. 8 MHz; Start-up time: 6 CK + 64 ms; [CKSEL=0100 SUT=10] Ext. RC Osc. - 0.9 MHz; Start-up time: 18 CK + 0 ms; [CKSEL=0101 SUT=00] Ext. RC Osc. - 0.9 MHz; Start-up time: 18 CK + 4 ms; [CKSEL=0101 SUT=01] Ext. RC Osc. - 0.9 MHz; Start-up time: 18 CK + 64 ms; [CKSEL=0101 SUT=10] Ext. RC Osc. - 0.9 MHz; Start-up time: 6 CK + 4 ms; [CKSEL=0101 SUT=11] Ext. RC Osc. 0.9 MHz - 3.0 MHz; Start-up time: 18 CK + 0 ms; [CKSEL=0110 SUT=00] Ext. RC Osc. 0.9 MHz - 3.0 MHz; Start-up time: 18 CK + 4 ms; [CKSEL=0110 SUT=01] Ext. RC Osc. 0.9 MHz - 3.0 MHz; Start-up time: 18 CK + 64 ms; [CKSEL=0110 SUT=10] Ext. RC Osc. 0.9 MHz - 3.0 MHz; Start-up time: 6 CK + 4 ms; [CKSEL=0110 SUT=11] Ext. RC Osc. 3.0 MHz - 8.0 MHz; Start-up time: 18 CK + 0 ms; [CKSEL=0111 SUT=00] Ext. RC Osc. 3.0 MHz - 8.0 MHz; Start-up time: 18 CK + 4 ms; [CKSEL=0111 SUT=01] Ext. RC Osc. 3.0 MHz - 8.0 MHz; Start-up time: 18 CK + 64 ms; [CKSEL=0111 SUT=10] Ext. RC Osc. 3.0 MHz - 8.0 MHz; Start-up time: 6 CK + 4 ms; [CKSEL=0111 SUT=11] Ext. RC Osc. 8.0 MHz - 12.0 MHz; Start-up time: 18 CK + 0 ms; [CKSEL=1000 SUT=00] Ext. RC Osc. 8.0 MHz - 12.0 MHz; Start-up time: 18 CK + 4 ms; [CKSEL=1000 SUT=01] Ext. RC Osc. 8.0 MHz - 12.0 MHz; Start-up time: 18 CK + 64 ms; [CKSEL=1000 SUT=10] Ext. RC Osc. 8.0 MHz - 12.0 MHz; Start-up time: 6 CK + 4 ms; [CKSEL=1000 SUT=11] Ext. Low-Freq. Crystal; Start-up time: 1K CK + 4 ms; [CKSEL=1001 SUT=00] Ext. Low-Freq. Crystal; Start-up time: 1K CK + 64 ms; [CKSEL=1001 SUT=01] Ext. Low-Freq. Crystal; Start-up time: 32K CK + 64 ms; [CKSEL=1001 SUT=10] Ext. Crystal/Resonator Low Freq.; Start-up time: 258 CK + 4 ms; [CKSEL=1010 SUT=00] Ext. Crystal/Resonator Low Freq.; Start-up time: 258 CK + 64 ms; [CKSEL=1010 SUT=01] Ext. Crystal/Resonator Low Freq.; Start-up time: 1K CK + 0 ms; [CKSEL=1010 SUT=10] Ext. Crystal/Resonator Low Freq.; Start-up time: 1K CK + 4 ms; [CKSEL=1010 SUT=11] Ext. Crystal/Resonator Low Freq.; Start-up time: 1K CK + 64 ms; [CKSEL=1011 SUT=00] Ext. Crystal/Resonator Low Freq.; Start-up time: 16K CK + 0 ms; [CKSEL=1011 SUT=01] Ext. Crystal/Resonator Low Freq.; Start-up time: 16K CK + 4 ms; [CKSEL=1011 SUT=10] Ext. Crystal/Resonator Low Freq.; Start-up time: 16K CK + 64 ms; [CKSEL=1011 SUT=11] Ext. Crystal/Resonator Medium Freq.; Start-up time: 258 CK + 4 ms; [CKSEL=1100 SUT=00] Ext. Crystal/Resonator Medium Freq.; Start-up time: 258 CK + 64 ms; [CKSEL=1100 SUT=01] Ext.Crystal/Resonator Medium Freq.; Start-up time: 1K CK + 0 ms; [CKSEL=1100 SUT=10] Ext.Crystal/Resonator Medium Freq.; Start-up time: 1K CK + 4 ms; [CKSEL=1100 SUT=11] Ext. Crystal/Resonator Medium Freq.; Start-up time: 1K CK + 64 ms; [CKSEL=1101 SUT=00] Ext. Crystal/Resonator Medium Freq.; Start-up time: 16K CK + 0 ms; [CKSEL=1101 SUT=01] Ext. Crystal/Resonator Medium Freq.; Start-up time: 16K CK + 4 ms; [CKSEL=1101 SUT=10] Ext. Crystal/Resonator Medium Freq.; Start-up time: 16K CK + 64 ms; [CKSEL=1101 SUT=11] Ext. Crystal/Resonator High Freq.; Start-up time: 258 CK + 4 ms; [CKSEL=1110 SUT=00] 阿莫电子 - 31 -

Ext.Crystal/Resonator High Freq.; Start-up time: 258 CK + 64 ms; [CKSEL=1110 SUT=01] Ext. Crystal/Resonator High Freq.; Start-up time: 1K CK + 0 ms; [CKSEL=1110 SUT=10] Ext. Crystal/Resonator High Freq.; Start-up time: 1K CK + 4 ms; [CKSEL=1110 SUT=11] Ext. Crystal/Resonator High Freq.; Start-up time: 1K CK + 64 ms; [CKSEL=1111 SUT=00] Ext. Crystal/Resonator High Freq.; Start-up time: 16K CK + 0 ms; [CKSEL=1111 SUT=01] Ext. Crystal/Resonator High Freq.; Start-up time: 16K CK + 4 ms; [CKSEL=1111 SUT=10] Ext.Crystal/Resonator High Freq.; Start-up time: 16K CK + 64 ms; [CKSEL=1111 SUT=11] 中英文对照如下 : On-Chip Debug Enabled JTAG Interface Enabled JTAG 英文中文 Serial program downloading (SPI) enabled Preserve EEPROM memory through the Chip Erase cycle; Boot Flash section size=xxxx words Boot start address=$yyyy; Boot Reset vector Enabled 片内调试使能 接口使能 串行编程下载 (SPI) 使能 (ISP 下载时该位不能修改 ) 芯片擦除时 EEPROM 的内容保留 引导 (Boot) 区大小为 xxx 个词 引导 (Boot) 区开始地址为 $yyyy 引导 (Boot) 复位向量使能 Brown-out detection level at VCC=xxxx V; 掉电检测的电平为 VCC=xxxx 伏 Brown-out detection enabled; Start-up time: xxx CK + yy ms Ext. Clock; Int. RC Osc. Ext. RC Osc. Ext. Low-Freq. Crystal; Ext. Crystal/Resonator Low Freq Ext. Crystal/Resonator Medium Freq Ext. Crystal/Resonator High Freq 例如 : 掉电检测使能 启动时间 xxx 个时钟周期 + yy 毫秒 外部时钟 内部 RC( 阻容 ) 振荡器 外部 RC( 阻容 ) 振荡器 外部低频晶体 外部晶体 / 陶瓷振荡器低频 外部晶体 / 陶瓷振荡器中频 外部晶体 / 陶瓷振荡器高频 Int. RC Osc. 8 MHz; Start-up time: 6 CK + 0 ms; [CKSEL=0100 SUT=00] 内部 RC 振荡器 8M 启动时间 6 个时钟周期 +0ms 注 : 以上中文是对照 ATmega16 的中 英文版本数据手册而翻译 尽 量按照了官方的中文术语 - 32 - 阿莫电子

锁定位设置 和熔丝位设置一样, 锁定位 (lock bits) 标签显示选定芯片的可用锁定位 所有的锁定位在 ISP 编程模式 ( programming mode) 时都是可访问的 一种锁定模式有很多锁定位共同决定组成 JTAG ICE 用户界面会根据用户选择, 将正确的锁定位按照选定的锁定模式自动编程 一旦一种锁定模式被允许, 就不能通过选择另外一种低保护度的锁定模式来消除它 唯一去除锁定的办法就是彻底的擦除芯 片, 同时也擦除程序存储器和 EEPROM 存储器的内容 有一个例外 : 如果目标芯片的 "EESAVE" 熔丝位被编程,EEPROM 中的数据会一直保留, 甚至当擦除芯片的时候也会保留 通过选定 " 自动校验 (Auto Verify)" 复选框可以在每次编程后自动的进行校验工作 下面是 M16 的锁定位设置窗口 : 阿莫电子 - 33 -

Atmega16 的锁定位整理如下 : Mode 1: No memory lock features enabled Mode 2: Further programming disabled Mode 3: Further programming and verification disabled Application Protection Mode 1: No lock on SPM and LPM in Application Section Application Protection Mode 2: SPM prohibited in Application Section Application Protection Mode 3: LPM and SPM prohibited in Application Section Application Protection Mode 4: LPM prohibited in Application Section Boot Loader Protection Mode 1: No lock on SPM and LPM in Boot Loader Section Boot Loader Protection Mode 2: SPM prohibited in Boot Loader Section Boot Loader Protection Mode 3: LPM and SPM prohibited in Boot Loader Section Boot Loader Protection Mode 4: LPM prohibited in Boot Loader Section 锁定位保护模式说明 : Mode 1 Mode 2 Mode 3 存储器锁定位 没有使能存储器保护特性 保护类型 在并行和 SPI/JTAG 串行编程模式中 Flash 和 EEPROM 的进一步编程被禁止, 熔丝位被锁定 在并行和 SPI/JTAG 串行编程模式中 Flash 和 EEPROM 的进一步编程及验证被禁止, 锁定位和熔丝位被锁定 Application Protection Mode 1 SPM 和 LPM 对应用区的访问没有限制 Application Protection Mode 2 不允许 SPM 对应用区进行写操作 Application Protection Mode 3 不允许 SPM 指令对应用区进行写操作, 也不允许运行于 Boot Loader 区的 LPM 指令从应用区读取数据 若中断向量位于 Boot Loader 区, 那么执行应用区代码时中断是禁止的 Application Protection Mode 4 不允许运行于 Boot Loader 区的 LPM 指令从应用区读取数据 若中断向量位于 Boot Loader 区, 那么执行应用区代码时中断是禁止的 Boot Loader Protection Mode 1 允许 SPM/LPM 指令访问 Boot Loader 区 Boot Loader Protection Mode 2 不允许 SPM 指令对 Boot Loader 区进行写操作 Boot Loader Protection Mode 3 Boot Loader Protection Mode 4 不允许 SPM 指令对 Boot Loader 区进行写操作, 也不允许运行于应用区的 LPM 指令从 Boot Loader 区读取数据 若中断向量位于应用区, 那么执行 Boot Loader 区代码时中断是禁止的 不允许运行于应用区的 LPM 指令从 Boot Loader 区读取数据 若中断向量位于应用区, 那么执行 Boot Loader 区代码时中断是禁止的 注 : 以上中文是对照 ATmega16 的中 英文版本数据手册而翻译 尽量按照了官方的中文术语 - 34 - 阿莫电子

芯片仿真 请将仿真器与 PC 机和目标板连好后, 通过以下三种方式之一启动 AVR Studio 软件 1. 双击桌面 AVR Studio4 图标 2. 单击快速启动栏内 AVR Studio4 图标 3. 通过 开始 菜单 系统自动打开 Welcome to AVR Studio4 窗口, 可通过两种方式进入仿真状态 : 1. 新工程进入仿真状态 阿莫电子 - 35 -

单击 Open 按钮, 选择 ELF 或 COF 等仿真文件, 单击 打开 生成 AVR Studio 工程文件, 单击 保存 进入仿真平台选择对话框 2. 历史工程进入仿真状态 - 36 - 阿莫电子

在历史工程中选择您需要仿真的 ELF 或 COF 等仿真文件, 单击 NEXT 进入仿真平台选择对话框 在左侧的 Debug platform 中选择 JTAG ICE, 右侧的芯片中, 选择您要仿真的芯片 ( 右侧所列的黑色芯片就是本仿真平台支持的所有芯片 ) 阿莫电子 - 37 -

选择完成后, 下边的 Finish 按钮可以得到焦点, 单击进入仿真界面 仿真界面 : - 38 - 阿莫电子

一 调试控制栏说明 调试控制栏可以控制程序的执行状态, 所有的调试控制都可以由 Debug 菜单, 快捷键和调试工具栏实现 注意! 如果在目标文件中含有有效的源码级信息, 所有的调试操作将一直继续执行, 直到到达第一条用户源代码语句. 如果没有遇到用户源代码语句, 程序将继续执行 如果要停止程序的运行, 必须在 发出停止命令前转换到反汇编模式 开始调试 (Start Debugging) 此命令将启动调试模式, 并使所有的调试控制命令处于有效 通常在调试模式下不能编辑程序 此命令将连接调试平台, 装载目标文件并执行复位操作 式. 停止调试 (Stop Debugging) 此命令将停止调试过程, 并断开与调试平台的连接, 进入编辑模 复位 (Reset)(SHIFT+F5) 此命令可以让目标程序复位 当程序正在运行时, 执行此命令的话程序将停止运行 如果用户是在源码级模式中, 程序会在复位完成后, 继续运行直到第一条用户的源代码语句处 复位命令执行后, 所有窗 口中的信息都将更新 运行 (Run)(F5) 调试菜单中的运行命令将启动 ( 重启动 ) 程序 程序将一直运行直到被用户停止或遇到一个断点 只有当程序处于停止运行状态时才能执行此命令 暂停 (Break)(CTRL-F5) 调试菜单中的暂停命令将停止程序运行 当程序停止时, 所有窗口中 的信息都将更新 只有当程序处在运行状态时才能执行此命令 阿莫电子 - 39 -

单步执行 (Single step, Trace Into)(F11) 调试菜单中的跟踪命令将控制程序只执行一条指令 当 AVR Studio 是在源代码级模式时, 可执行一条源代码语句 当在反汇编级模式时, 可执行一条反汇编指令 当指令执行完成后, 所有窗口中的信息都将更新 逐过程 (Step Over)(F10) 调试菜单中的逐过程命令只执行一条指令 如果此条指令包含一个函 数调用 / 子程序调用, 该函数 / 子程序也会同时执行 如果在逐过程命令中遇到用户设置的断点, 程序运行将被挂起 在逐过程命令执行完毕后, 所有窗口中的信息才会被更新 跳出 (Step Out)(SHIFT+F11) 调试菜单中的跳出命令会使程序一直运行, 直到当前函数结束 如果 遇到用户设置的断点, 程序运行将被挂起 当程序处在最外层 ( 如主函数 ) 时, 此时执行跳出命令, 程序将继续运行, 直到遇到一个断点或被用户停止 在该命令执行完成后, 所有窗口中的信息都将更新 运行到光标处 (Run To Cursor)(F7) 调试菜单中的运行到光标处命令, 将使程序运行到源代码窗口中光标 指示的语句处停止 此时如果遇到用户的断点, 程序的运行将不会被挂起 如果程序运行永远达不到光标指示处的语句, 程序将一直继续运行, 直到被用户停止 当此命令结束后, 所有窗口中的信息都将更 新 由于此命令是与光标位置有关, 所以只有当源代码窗口激活时才有效 自动运行 (Auto Step) 调试菜单中的自动运行命令将重复执行跟踪指令 当 AVR Studio 处在源代码级模式时, 每次执行一条源指令, 处在反汇编级模式时, 每 次执行一条汇编指令, 随后所有窗口中的信息都将更新, 接者自动执行下一条语句或指令 使用自动运行命令时, 程序的运行将一直持续单步运行, 直到遇到一个用户设置的断点或被用户停止 设置下条开始运行的语句 (Set next statement) - 40 - 阿莫电子

使用此条指令, 你可以在程序任何位置的可执行语句处设置一个黄色标签 : 用鼠标指定一条可执行的语句后选择该命令 下一条调试命令 将从带有标记的语句开始运行 显示下条语句 (Show next statement) 将含有黄色标记指定的语句所在的窗口作为当前有效窗口, 窗口显示内容以该语句为焦点 二 断点的使用 本仿真器, 只支持三个硬件断点, 您可以在程序未执行的状态下, 按 F9 下断点或取消断点, 注意断点只能下在可执行语句行 程序执行 至断点语句时, 自动停止运行, 所有窗口中的信息都会更新 三 变量查看 单击下图所示按钮或按快捷键 Alt+1 打开 Watch 窗口 由于没有添加任何变量, 所以里面是空白 阿莫电子 - 41 -

在源码窗口中右击变量名, 在弹出的菜单中选择 Add Watch: 来将一个变量放入 Watch 窗口中观察 在 Watch 窗口可以加入变量 函数 数组和结构体, 方法与加入变量 相同, 需要注意的是有些编译器生成的仿真文件不支持结构体的查看, 例如 ICC V6.31 此窗口可观察到变量的名称 值 类型和所处位置, 红色表示上次操 作有改变的值 - 42 - 阿莫电子

四 寄存器查看 以下两个窗口均可以查看到 AVR 内部 32 个数据寄存器的使用情况 双击数据可以更改寄存器的值 阿莫电子 - 43 -

五 I/O View 窗口 I/O View 窗口处于工作区的右侧, 是仿真过程中最常用的一个模块, 它可以反应各 功能寄存器的值, 并可以直接修改其值, 以模拟各种情况, 有利于快速排除错误, 加快开发速度 单击 + 可展开查看 单击 - 可收拢 六 查看汇编代码 单击下图所示按钮可查看汇编代码 - 44 - 阿莫电子

C 代码与汇编代码同时显示, 这可以方便您查看代码的优化 阿莫电子 - 45 -

固件维护 自动升级 本 JTAG 带自动升级功能 当 AVRStudio 升级到一个新版本时,JTAG 连接后, 会提示升级, 请单击 确定 : 确认 Hex file 中的文件为 Upqrade.ebn( 可以点击 Browse 修 改文件 ) 后, 单击 Flash 中的 Program 按钮 经过系统自动擦除 编程 检验后, 点击 Exit, 然后关闭这个对话框 如直接关闭, 需重新将仿真器上电 - 46 - 阿莫电子

升级成功, 可以正常使用了 阿莫电子 - 47 -

手工升级 断开与仿真器的所有连线后, 打开外壳, 将跳线跳到 MAI 位 取一只标准 2*5 接口的下载器, 连接于仿真器的 JTAG 口 电源由下载器供给 将光盘根目录里的 JTAG4.08.hex 文件烧录进仿真器的芯片中 断开与仿真器的所有连线后, 将跳线跳回 NOR 位 正常使用仿真器, 自动升级到现有 AVR Studio 版本 - 48 - 阿莫电子

注意事项 当使用 USB/RS232 AVR JTAG 时, 一些关于 JTAG 接口的注意事项必 须被考虑 外围 IO 设备 尽管程序在断点处停止执行, 但是大多数 IO 外围设备还会继续运行 例如 : 当使用 UART 口进行传输时遇到断点,UART 传输将会继续完成并反映到相关的位设定 TXC 状态标志位将会被置位, 并在下一个次 单步执行代码时为有效, 尽管在实际的芯片中是延后发生的 在停止模式时, 所有的 IO 模块将继续运行, 除了以下两个例外 : 定时器 / 计数器 (Timer/Counters ) 看门狗定时器 (Watchdog Timer ) 停止模式时定时器 / 计数器 从片上 (On-Chip) 调试菜单的选项中, 用户可以设定定时器 / 计数器 在停止模式时是否继续执行 看门狗定时器 在停止模式时, 看门狗定时器会停止计时 这样可以避免在停止模式中 AVR 被无意的重启 单步执行 因为在停止模式时,IO 还是继续执行, 所以要注意避免因此产生的超时事件 例如 : OUT PORTB, 0xAA IN TEMP, PINB 阿莫电子 - 49 -

这段程序在实际的芯片中运行时可能读不到正确的 0xAA 值 必须在输出及输入指令中插入一个 NOP 指令以确保输出的数据正确地锁存到输入寄存器后再读入 然而在 JTAGICE 中单步执行时总会读到正确地 0XAA 值, 因为在停止模式时 IO 总是全速持续运行, 有足够的时间将数据输出到引脚并锁定到输入寄存器中 调试的时候目标芯片复位或掉电 如果在调试的时候 JTAGICE 发生掉电, 通讯就会失败 如果仅是目标芯片掉电, 那么调试可以继续执行 然而, 如果在调试的时候目标芯片复位或掉电, 芯片可能进入 AVR Studio 和 JTAGICE 预料不到的状态 这种情况下, 执行 AVR Studio 的某项操作 (Run, Single Step,...) 将会更新视图, 并反映当前目标芯片的状态 而放弃前面 AVRStudio 所达到的位置或状态 注意, 当目标芯片关闭电源时, 它会暂时忘记硬件断点 当在 AVR Studio 中执行运行, 或复位命令时, 会重新校正断点 硬件复位时, 硬件断点一直保留 消息窗口 提示 : 消息窗口会给出 AVR Studio 和 JTAGICE 正在执行的正确操作 访问 16 位寄存器 举例来说吧,TCNTn, OCRn 和 ICRn 都是 16 位的寄存器, 他们可以用 8 位的数据线来访问, 但是要经过两次的读 / 写操作才能完成 如果只进行了一次就停止了, 或在这种情况下单步执行, 就会使访问的 数据出错 - 50 - 阿莫电子

JTAG 端口频率 使用 AVR Studio 时, 将会建议你输入目标芯片的频率, 并依此获得最佳的 JTAG PORT 频率 请参考前端处理软件中关于如何获得最佳 端口频率的描述 注意 如果使用内部 RC 振荡器, 各个芯片的频率可能会受温度和 VCC 的影响而各不相同 确保用这些频率中最高的值来计算 JTAGICE 端口频率 JTAG 有关的熔丝位设定 要正确使用 JTAG 接口, 有两个熔丝位必须设置 他们是 JTAG 允许 (JTAGEN) 熔丝位和 OCD 允许 (On-Chipdebuging enabled, 简称 OCDEN) 熔丝位 出厂的默认设置是 JTAGEN 被编程而 OCDEN 没被编程 如果 JTAGEN 熔丝位被不小心禁掉了, 那么只能通过另外的编程接口 ( 如 : 使用 STK500 或 AVRISP 的 ISP) 来将它设置成允许 访问某些芯片中有共享的 I/O 地址的 UBRRH/UCSRC 寄存器 当访问这些寄存器时需要特别注意 : 写访问当对这个 I/O 位置进行写操作时,URSEL(USART Register Select) 位决定了要写到哪个寄存器 如果 URSEL 是 0, 则写到 UBRRH 中 ; 如果 URSEL 为 1, 则写到 UCSRC 中 下面的示例代码演示了如何对这两个寄存器进行写访问 注意 : 1. 下面的代码假定了相关的头文件已经被包含 ; 就像代码所说明的那样, 虽然共享同样的 I /O 地址, 但是写访问不会受影响 汇编代码 :... ; 设置 UBRRH 为 2 阿莫电子 - 51 -

ldi r16,0x02 out UBRRH,r16... ; 将 USBS 和 UCSZ1 位设置成 1, 其余位设置成 0 ldi r16,(1<<ursel) (1<<USBS) (1<<UCSZ1) out UCSRC,r16... C 语言代码 :... /* 设置 UBRRH 为 2 */ UBRRH = 0x02;... /* 将 USBS 和 UCSZ1 位设置成 1, 其余位设置成 0*/ UCSRC = (1<<URSEL) (1<<USBS) (1<<UCSZ1);... 读访问 对 UBRRH 或 UCSRC 寄存器进行读访问则相对复杂些 然而在大多数的应用程序中, 很少有必要读取这两个寄存器 读操作是由时序控制的 对此 I/O 地址进行一次读取将返回 UBRH 的 内容 接下来下一个周期马上再对此地址读取, 就会返回 UCSRC 的内容 注意对 UCSRC 的读取时序是一个自动的操作 在读的过程中要禁止中断 ( 如关闭全局中断允许等 ) 下面的代码示例了如何对 UCSRC 寄存器进行读访问 注意 : 1. 下面的代码都假定相关的头文件已经被包含汇编代码将读出的 UCSRC 的值放在 r16 中 对 UBRRH 内容的访问就象访问普通的寄存器一样 只要它前面的指令不是对这个地址寄存器的访问 汇编代码 : USART_ReadUCSRC: ; 读 UCSRC in r16,ubrrh in r16,ucsrc ret - 52 - 阿莫电子

C 语言代码 : unsigned char USART_ReadUCSRC( void ) { } unsigned char ucsrc; /* 读 UCSRC */ ucsrc = UBRRH; ucsrc = UCSRC; return ucsrc; 使用 JTAG 接口时,JTAG 引脚的功能 如果 JTAG 接口是被允许的,JTAG 引脚的其它复用功能就不能使用了 它将被用作 JTAG 的专用引线, 直到 JTAG 接口被禁止 ( 在程序代码中 将 MCUCSR 寄存器的 JTD 位清 0, 或者用编程器清除 JTAGEN 熔丝位 ) 访问 IO 寄存器 对某些寄存器的访问将不得不影响单片机的状态 这些影响可能是改变状态寄存器, 或破坏寄存器的内容 在这种情况下, 对这些寄存器进行读取将导致以后的仿真出现问题 下面就是照芯片型号分类, 将 这些使用 JTAGICE mkii 时不能直接访问的寄存器列出 : ATmega16 and ATmega32 只能读 : ADCSRA, ACSR, UCSRA, SPSR, TWCR, TIFR, GIFR 不能访问 : UDR, SPDR, UCSRC/UBRRH, OCDR/OSCCAL ATmega64 and ATmega128 只能读 : ADCSRA, UCSR0A, SPSR, TIFR, EIFR, TWCR, ETIFR, UCSR1A 不能访问 : UDR0A, SPDR, OCDR, UDR1 ATmega162 只能读 : UCSR1A, ACSR, UCSR0A, SPSR, TIFR, GIFR, ETIFR 不能访问 : UDR1, OCDR/OSCCAL, UDR0, SPDR, UCSR0C/UBRR0H, UCSR1C/UBRR1H 阿莫电子 - 53 -

ATmega169, ATmega329, ATmega3290, ATmega325, ATmega3250 只能读 : PINA, PINB, PINC, PIND, PINE, PINF, PING, TIFR0, TIFR1, TIFR2, EIFR, SPSR, ACSR, ADCSRA, USISR, UCSRA, LCDCRA 不能访问 : SPDR, OCDR, UDR JTAG 引脚 由于 JTAG 使用了四个 JTAG 引脚, 因此可能会影响到芯片中与这 4 个引脚相关的其它功能 在实际应用时请参考相关的数据手册, 也可以参考下面的表格 : Part JTAG pins 这些引脚的第二功能 ATmega16 ATmega32 PC2 - PC5 ATmega162 PC4 - PC7 外部 SRAM 地址线, A12 - A15 * ATmega169 ATmega64 ATmega128 AT90CAN128 PF4 - PF7 无 管脚电平改变中断, PCINT12 - PCINT15 ADC 通道, ADC4 - ADC7 * 注意 : 当仿真的 ATmega162 外部扩展了 SRAM 时, 程序只能访问 SRAM 的低 4Kb, 因为 JTAG 接口仅使用 4 个最高位的地址线, 外部 SRAM 设 备的高 4 位地址线就不能连接到 ATmega162, 而要么置高要么置低 - 54 - 阿莫电子

故障排除 烧录程序时的故障 1. 故障现象 : 烧录程序时, 点 Connect 后, 重复出现下面窗口 故障原因 : 软件与仿真器通信有误 解决方法 : 1. 检查 PC 机串口有没有被别的程序占用 2. 检查 RS232 串口线与 PC 机或仿真器的连接是不是正常 3. 以上两点没有问题, 请尝试 手工升级 2. 故障现象 : 烧录程序时, 点 Connect 后, 出现如下几个窗口 阿莫电子 - 55 -

故障原因 : 仿真器与目标芯片通信有误 解决方法 : 1. 仿真器与目标板的连接是否正确,VTref 有没有接电源 2. 目标芯片的 JTAG 熔丝位是否编程, 请使用 ISP 或其它下载工具编程此熔丝位 3. 将通信线缆截短一点, 减少信号干扰 3. 故障现象 : 读取芯片 ID 错误 下载过程中出错 故障原因 : 目标芯片配置有误 解决方法 : 1. 换一块全新的芯片 2. 正确配置芯片的熔丝位. 3. 重新布板, 将电路板上的干扰等问题解决 - 56 - 阿莫电子

仿真时的故障 故障现象故障原因解决方法 AVR Studio 不能检 测到 JTAGICE 被 AVR Studio 或 其他的前端处理软 件检测到, 但是它 不能连接到目标芯 片 AVR Studio 显示当 前没有电压 使用时跳出错误信 息或出现其他奇怪 现象 用 AVR Studio 仿真 时, 有些语句不能 下断点 1. 同步失败 2. 串行电缆没有被正确连接 3. 串口被其它程序占用 1. 目标芯片的 JTAG ENABLE 熔丝 位没有被编程 2. 目标版的连接不正确或接触 不良等 1. 目标板上没有上电 2. Vtref 没有连上 3. 目标板电压太低 目标板没有工作在正常条件范围 内 如使用系统频率高, 但工作 电压低 1. 该语句被编译器优化掉 2. 断点超过了三个 1. 重启 JTAGICE 和目标板 2. 确保串行电缆正确连接 3. 关闭占用串口的程序或改用 另一个串口 1. 用其他的编程模式将 JTAG ENABLE 熔丝位编程 2. 重新正确连接目标板 1. 向目标板供电 2. 确保你的插头连接上了 Vtref 信号线 3. 确保目标板有足够的电压 确保目标板工作在安全工作区 ( 在该器件相应的用户手册上有 描述 ), 降低频率且 / 或增加电压 1. 请在未被优化的语句下断点 2. 清除所有断点后, 重新下断点 任何电子产品, 均有损坏的可能 按我们的经验, 电子零件损坏的可能性极少 阿莫电子 - 57 -

附录资料 各芯片接品定义 - 58 - 阿莫电子

阿莫电子 - 59 -

- 60 - 阿莫电子

阿莫电子 - 61 -

- 62 - 阿莫电子

阿莫电子 - 63 -

- 64 - 阿莫电子

联系我们 您可以能过以下方式与我们取得联系 : 网站负责人 : 联系人 : 阿莫 (armok) 手机 : 13433056000 电子邮件 :13902245677@21cn.com 邮购部 : 联系人 : 杨小姐 手机 :13711915767 电话总机 :0769-88061392(4 线 ) 1- 订单处理 4- 传真 技术部 : 联系人 : 雷先生 手机 :13711911513 电话总机 :0769-88061392(4 线 ) 2- 技术咨询 现场销售处 快递地址 : 地址 : 广东省东莞市东城中路赛格电子市场 1B005 联系人 : 冼小姐 13433002855 庄先生 0769-22095945 阿莫电子 - 65 -