爱特梅尔标志ICE 调试器程序员
用户指南Atmel-ICE 调试器程序员 程序员和调试器
Atmel ICE
用户指南

Atmel-ICE 调试器

Atmel-ICE 是一款功能强大的开发工具,用于调试和编程基于 ARM® Cortex®-M 的 Atmel ® SAM 和 Atmel AVR 微控制器,具有 ® 片上调试功能。
它支持:

  • J 上所有 Atmel AVR 32 位微控制器的编程和片上调试TAG 和 aWire 接口
  • J 上所有 Atmel AVR XMEGA® 系列器件的编程和片上调试TAG 和 PDI 2 线接口
  • 编程(JTAG, SPI, UPDI) 和所有带有 OCD 支持的 Atmel AVR 8 位微控制器的调试 JTAG, debugWIRE 或 UPDI 接口
  • 在 SWD 和 J 上对所有基于 Atmel SAM ARM Cortex-M 的微控制器进行编程和调试TAG 接口
  • 支持此接口的所有 Atmel tinyAVR® 8 位微控制器的编程 (TPI)

有关此固件版本支持的设备和接口的完整列表,请参阅 Atmel Studio 用户指南中的支持设备列表。

介绍

1.1. Atmel-ICE 简介
Atmel-ICE 是一款功能强大的开发工具,用于调试和编程基于 ARM Cortex-M 的 Atmel SAM 和 Atmel AVR 微控制器,具有片上调试功能。
它支持:

  • J 上所有 Atmel AVR UC3 微控制器的编程和片上调试TAG 和 aWire 接口
  • J 上所有 AVR XMEGA 系列器件的编程和片上调试TAG 和 PDI 2 线接口
  • 编程(JTAG 和 SPI)和调试所有具有 OCD 支持的 AVR 8 位微控制器TAG 或 debugWIRE 接口
  • 在 SWD 和 J 上对所有基于 Atmel SAM ARM Cortex-M 的微控制器进行编程和调试TAG 接口
  • 支持此接口的所有 Atmel tinyAVR 8 位微控制器的编程 (TPI)

1.2. Atmel-ICE 特性

  • 与 Atmel Studio 完全兼容
  • 支持所有 Atmel AVR UC3 32 位微控制器的编程和调试
  • 支持所有8位AVR XMEGA设备的编程和调试
  • 支持使用 OCD 对所有 8 位 Atmel megaAVR® 和 tinyAVR 设备进行编程和调试
  • 支持所有基于 SAM ARM Cortex-M 的微控制器的编程和调试
  • 目标营业额tag1.62V 至 5.5V 的范围
  • 使用 debugWIRE 接口时从目标 VTref 吸取小于 3mA,所有其他接口小于 1mA
  • 支持 JTAG 时钟频率从 32kHz 到 7.5MHz
  • 支持从 32kHz 到 7.5MHz 的 PDI 时钟频率
  • 支持从 4kbit/s 到 0.5Mbit/s 的 debugWIRE 波特率
  • 支持从 7.5kbit/s 到 7Mbit/s 的 aWire 波特率
  • 支持 8kHz 至 5MHz 的 SPI 时钟频率
  • 支持高达 750kbit/s 的 UPDI 波特率
  • 支持从 32kHz 到 10MHz 的 SWD 时钟频率
  • USB 2.0 高速主机接口
  • ITM 串行跟踪捕获速度高达 3MB/s
  • 在不调试或编程时支持 DGI SPI 和 USART 接口
  • 支持 10 针 50 密尔 JTAG 具有 AVR 和 Cortex 引出线的连接器。 标准探头电缆支持 AVR 6 针 ISP/PDI/TPI 100-mil 接头以及 10-pin 50-mil。 适配器可用于支持 6 针 50 密尔、10 针 100 密尔和 20 针 100 密尔接头。 多个套件选项可用于不同的电缆和适配器。

1.3.系统要求
Atmel-ICE 单元需要在您的计算机上安装 Atmel Studio 版本 6.2 或更高版本的前端调试环境。
Atmel-ICE 应使用提供的 USB 电缆或经过认证的 Micro-USB 电缆连接到主机。

开始使用 Atmel-ICE

2.1. 完整套件内容
Atmel-ICE 完整套件包含以下项目:

  • Atmel-ICE单元
  • USB 数据线(1.8m,高速,Micro-B)
  • 包含 50-mil AVR、100-mil AVR/SAM 和 100-mil 20 针 SAM 适配器的适配器板
  • IDC 扁平电缆,带 10 针 50 密尔连接器和 6 针 100 密尔连接器
  • 50 密尔 10 针迷你鱿鱼电缆,带 10 x 100 密尔插座

图 2-1。 Atmel-ICE 完整套件内容Atmel-ICE 调试器程序员 - 图 12.2. 基本套件内容
Atmel-ICE 基本套件包含以下项目:

  • Atmel-ICE单元
  • USB 数据线(1.8m,高速,Micro-B)
  • IDC 扁平电缆,带 10 针 50 密尔连接器和 6 针 100 密尔连接器

图 2-2。 Atmel-ICE 基本套件内容Atmel-ICE 调试器程序员 - 图 22.3. PCBA 套件内容
Atmel-ICE PCBA 套件包含以下项目:

  • 没有塑料封装的 Atmel-ICE 单元

图 2-3。 Atmel-ICE PCBA 套件内容Atmel-ICE 调试器程序员 - 图 32.4. 备件包
提供以下备件包:

  • 适配器套件
  • 电缆套件

图 2-4。 Atmel-ICE 适配器套件内容Atmel-ICE 调试器程序员 - 图 42.5. 套件结束view
Atmel-ICE 套件选项在这里以图表方式显示:
图 2-6。 Atmel-ICE 套件结束viewAtmel-ICE 调试器程序员 - 图 52.6. 组装 Atmel-ICE
Atmel-ICE 单元出厂时没有连接电缆。 完整套件中提供了两种电缆选项:

  • 50 密尔 10 针 IDC 扁平电缆,带 6 针 ISP 和 10 针连接器
  • 50 密尔 10 针迷你鱿鱼电缆,带 10 x 100 密尔插座

图 2-7。 Atmel-ICE 电缆Atmel-ICE 调试器程序员 - 图 6对于大多数用途,可以使用 50 密尔 10 针 IDC 扁平电缆,本地连接到其 10 针或 6 针连接器,或通过适配器板连接。 一个小型 PCBA 上提供了三个适配器。 包括以下适配器:

  • 100 密耳 10 针 JTAG/SWD适配器
  • 100 密尔 20 针 SAM JTAG/SWD适配器
  • 50 密耳 6 针 SPI/debugWIRE/PDI/aWire 适配器

图 2-8。 Atmel-ICE 适配器Atmel-ICE 调试器程序员 - 图 7笔记: 
50 密耳 JTAG 未提供适配器 - 这是因为 50-mil 10 针 IDC 电缆可用于直接连接到 50-mil JTAG 标头。 有关用于 50 密耳 10 针连接器的组件的部件号,请参阅 Atmel-ICE 目标连接器部件号。
6 针 ISP/PDI 接头连接器包含在 10 针 IDC 电缆中。 如果不需要,可以切断该终止。
要将 Atmel-ICE 组装成默认配置,请将 10 针 50 密尔 IDC 电缆连接到设备,如下所示。 务必确定电缆的方向,使电缆上的红线(引脚 1)与外壳蓝色带上的三角形指示器对齐。 电缆应从设备向上连接。 请务必连接到与目标引脚分配相对应的端口 - AVR 或 SAM。
图 2-9。 Atmel-ICE 电缆连接Atmel-ICE 调试器程序员 - 图 8图 2-10。 Atmel-ICE AVR 探头连接
Atmel-ICE 调试器程序员 - 图 9图 2-11。 Atmel-ICE SAM 探头连接Atmel-ICE 调试器程序员 - 图 102.7. 打开 Atmel-ICE
笔记: 
对于正常操作,不得打开 Atmel-ICE 单元。 打开设备的风险由您自行承担。
应采取防静电措施。
Atmel-ICE 外壳由三个独立的塑料部件组成——顶盖、底盖和蓝色带——它们在组装过程中卡在一起。 要打开装置,只需将大号平头螺丝刀插入蓝色皮带的开口中,向内施加一些压力并轻轻转动即可。 在其他卡扣孔上重复此过程,顶盖将弹出。
图 2-12。 打开 Atmel-ICE (1)
Atmel-ICE 调试器程序员 - 图 11图 2-13。 打开 Atmel-ICE (2)
Atmel-ICE 调试器程序员 - 图 12图 2-14。 打开 Atmel-ICE(3)Atmel-ICE 调试器程序员 - 图 13要再次合上设备,只需正确对齐顶盖和底盖,然后用力按在一起。
2.8. 为 Atmel-ICE 供电
Atmel-ICE 由 USB 总线供电tage. 它需要小于 100mA 的电流才能运行,因此可以通过 USB 集线器供电。 插入电源时,电源 LED 会亮起。当未在活动编程或调试会话中连接时,设备将进入低功耗模式以节省计算机电池电量。 Atmel-ICE 不能断电——不使用时应将其拔掉。
2.9. 连接到主机
Atmel-ICE 主要使用标准 HID 接口进行通信,不需要主机上的特殊驱动程序。 要使用 Atmel-ICE 的高级数据网关功能,请务必在主机上安装 USB 驱动程序。 这是在安装 Atmel 免费提供的前端软件时自动完成的。 看 www.atmel.com 了解更多信息或下载最新的前端软件。
Atmel-ICE 必须使用提供的 USB 电缆或合适的 USB 认证微型电缆连接到主机上可用的 USB 端口。 Atmel-ICE 包含一个 USB 2.0 兼容控制器,可以在全速和高速模式下运行。 为获得最佳效果,请使用提供的电缆将 Atmel-ICE 直接连接到主机上的 USB 2.0 兼容高速集线器。
2.10. USB驱动安装
2.10.1. 窗口
在运行 Microsoft® Windows® 的计算机上安装 Atmel-ICE 时,会在首次插入 Atmel-ICE 时加载 USB 驱动程序。
笔记: 
首次插入设备之前,请务必安装前端软件包。
安装成功后,Atmel-ICE 将作为“人机界面设备”出现在设备管理器中。

连接 Atmel-ICE

3.1. 连接到 AVR 和 SAM 目标设备
Atmel-ICE 配备了两个 50 密尔 10 针 JTAG 连接器。 两个连接器直接电气连接,但符合两个不同的引出线; AVR JTAG 标头和 ARM Cortex 调试标头。 应根据目标板的引脚分配选择连接器,而不是目标 MCU 类型——例如amp安装在 AVR STK® 600 堆栈中的 SAM 设备应使用 AVR 接头。
不同的 Atmel-ICE 套件中提供了各种电缆和适配器。 一个结束view 显示连接选项。
图 3-1。 Atmel-ICE 连接选项Atmel-ICE 调试器程序员 - 图 14红线标记 1 针 10 密耳连接器的针脚 50。 从电缆上看连接器时,1 针 6 密耳连接器的引脚 100 位于键控的右侧。 适配器上每个连接器的引脚 1 都标有白点。 下图显示了调试电缆的引出线。 标有 A 的连接器插入调试器,而 B 侧插入目标板。
图 3-2。 调试电缆引出线
Atmel-ICE 调试器程序员 - 图 153.2. 连接到 JTAG 目标
Atmel-ICE 配备了两个 50 密尔 10 针 JTAG 连接器。 两个连接器直接电气连接,但符合两个不同的引出线; AVR JTAG 标头和 ARM Cortex 调试标头。 应根据目标板的引脚分配选择连接器,而不是目标 MCU 类型——例如amp安装在 AVR STK600 堆栈中的 SAM 设备应使用 AVR 标头。
10 针 AVR J 的推荐引出线TAG 连接器如图 4-6 所示。 10 针 ARM Cortex 调试连接器的推荐引出线如图 4-2 所示。
直接连接到标准 10 针 50 密耳接头
使用 50 密耳 10 针扁平电缆(包含在某些套件中)直接连接到支持此接头类型的电路板。 将 Atmel-ICE 上的 AVR 连接器端口用于具有 AVR 引出线的接头,将 SAM 连接器端口用于符合 ARM Cortex 调试接头引出线的接头。
两个 10 针连接器端口的引出线如下所示。
连接到标准 10 针 100 密耳接头 
使用标准的 50-mil 至 100-mil 适配器连接到 100-mil 接头。 适配器板(包含在某些套件中)可用于此目的,或者 JTAGICE3 适配器可用于 AVR 目标。
Atmel-ICE 调试器程序员 - 图 16 重要的: 
JTAGICE3 100-mil 适配器不能与 SAM 连接器端口一起使用,因为适配器上的引脚 2 和 10(AVR GND)已连接。
连接到自定义 100-mil 接头
如果您的目标板没有兼容的 10 针 JTAG 50 或 100 密尔的接头,您可以使用 10 针“迷你鱿鱼”电缆(包含在某些套件中)映射到自定义引出线,它可以访问十个单独的 100 密尔插座。
连接到 20 针 100 密尔接头r
使用适配器板(包含在某些套件中)通过 20 针 100-mil 接头连接到目标。
表 3-1。 Atmel-ICE JTAG 引脚描述

姓名 自动电压调节器 端口引脚 山姆 端口引脚 描述
中枢肌钙蛋白 1 4 测试时钟(从 Atmel-ICE 到目标设备的时钟信号)。
经颅磁共振 5 2 测试模式选择(从 Atmel-ICE 到目标设备的控制信号)。
甲苯二异氰酸酯 9 8 测试数据输入(从 Atmel-ICE 传输到目标设备的数据)。
时差 3 6 测试数据输出(从目标设备传输到 Atmel-ICE 的数据)。
nTRST 8 测试重置(可选,仅在某些 AVR 设备上)。 用于重置 JTAG TAP 控制器。
SRST 6 10 重置(可选)。 用于重置目标设备。 建议连接此引脚,因为它允许 Atmel-ICE 将目标设备保持在复位状态,这对于某些情况下的调试至关重要。
垂直起降 4 1 目标卷tag电子参考。 Atmel-ICE samples 目标卷tage 在这个引脚上,以便正确地为电平转换器供电。 Atmel-ICE 在 debugWIRE 模式下从该引脚吸取小于 3mA 的电流,在其他模式下吸取小于 1mA 的电流。
地线 2、10 3, 5, 9 地面。 所有这些都必须连接以确保 Atmel-ICE 和目标设备共享相同的接地参考。

3.3. 连接到 aWire 目标
aWire接口除了VCC和GND外只需要一根数据线。 在目标上,这一行是 nRESET 行,尽管调试器使用 JTAG TDO 线作为数据线。
6 针 aWire 连接器的推荐引出线如图 4-8 所示。
连接到 6 针 100 密尔 aWire 接头
使用扁平电缆上的 6 针 100-mil 分接头(包含在某些套件中)连接到标准的 100-mil aWire 接头。
连接到 6 针 50 密尔 aWire 接头
使用适配器板(包含在某些套件中)连接到标准的 50 密耳 aWire 接头。
连接到自定义 100-mil 接头
应该使用 10 针 mini-squid 电缆连接 Atmel-ICE AVR 连接器端口和目标板。 需要三个连接,如下表所述。
表 3-2。 Atmel-ICE aWire 引脚映射

Atmel-ICE AVR 端口引脚

目标引脚 迷你鱿鱼别针

aWire 引出线

引脚 1 (TCK) 1
引脚2(GND) 地线 2 6
引脚 3 (TDO) 数据 3 1
引脚 4 (VTG) 垂直起降 4 2
引脚 5 (TMS) 5
引脚 6 (nSRST) 6
引脚 7(未连接) 7
引脚 8 (nTRST) 8
引脚 9 (TDI) 9
引脚10(GND) 0

3.4. 连接到 PDI 目标
6 针 PDI 连接器的推荐引出线如图 4-11 所示。
连接到 6 针 100-mil PDI 接头
使用扁平电缆上的 6 针 100-mil 接头(包含在某些套件中)连接到标准的 100-mil PDI 接头。
连接到 6 针 50-mil PDI 接头
使用适配器板(包含在某些套件中)连接到标准的 50 密耳 PDI 接头。
连接到自定义 100-mil 接头
应该使用 10 针 mini-squid 电缆连接 Atmel-ICE AVR 连接器端口和目标板。 需要四个连接,如下表所述。
Atmel-ICE 调试器程序员 - 图 16 重要的: 
所需的引出线不同于 JTAGICE mkII JTAG 探针,其中 PDI_DATA 连接到引脚 9。Atmel-ICE 与 Atmel-ICE 使用的引脚分配兼容,JTAGICE3、AVR ONE! 和 AVR Dragon™ 产品。
表 3-3。 Atmel-ICE PDI 引脚映射

Atmel-ICE AVR 端口引脚 目标引脚 迷你鱿鱼别针

aWire 引出线

引脚 1 (TCK) 1
引脚2(GND) 地线 2 6
引脚 3 (TDO) 数据 3 1
引脚 4 (VTG) 垂直起降 4 2
引脚 5 (TMS) 5
引脚 6 (nSRST) 6
引脚 7(未连接) 7
引脚 8 (nTRST) 8
引脚 9 (TDI) 9
引脚10(GND) 0

3.4 连接到 PDI 目标
6 针 PDI 连接器的推荐引出线如图 4-11 所示。
连接到 6 针 100-mil PDI 接头
使用扁平电缆上的 6 针 100-mil 接头(包含在某些套件中)连接到标准的 100-mil PDI 接头。
连接到 6 针 50-mil PDI 接头
使用适配器板(包含在某些套件中)连接到标准的 50 密耳 PDI 接头。
连接到自定义 100-mil 接头
应该使用 10 针 mini-squid 电缆连接 Atmel-ICE AVR 连接器端口和目标板。 需要四个连接,如下表所述。
Atmel-ICE 调试器程序员 - 图 16 重要的:
所需的引出线不同于 JTAGICE mkII JTAG 探针,其中 PDI_DATA 连接到引脚 9。Atmel-ICE 与 Atmel-ICE 使用的引脚分配兼容,JTAGICE3、AVR ONE! 和 AVR 龙 产品。
表 3-3。 Atmel-ICE PDI 引脚映射

Atmel-ICE AVR端口引脚 目标引脚 迷你鱿鱼别针 Atmel STK600 PDI 引出线
引脚 1 (TCK) 1
引脚2(GND) 地线 2 6
引脚 3 (TDO) PDI_数据 3 1
引脚 4 (VTG) 垂直起降 4 2
引脚 5 (TMS) 5
引脚 6 (nSRST) PDI时钟 6 5
引脚 7(未连接) 7
引脚 8 (nTRST) 8
引脚 9 (TDI) 9
引脚10(GND) 0

3.5 连接到 UPDI 目标
6 针 UPDI 连接器的推荐引出线如图 4-12 所示。
连接到 6 针 100-mil UPDI 接头
使用扁平电缆上的 6 针 100-mil 接头(包含在某些套件中)连接到标准的 100-mil UPDI 接头。
连接到 6 针 50-mil UPDI 接头
使用适配器板(包含在某些套件中)连接到标准的 50 密耳 UPDI 接头。
连接到自定义 100-mil 接头
应该使用 10 针 mini-squid 电缆连接 Atmel-ICE AVR 连接器端口和目标板。 需要三个连接,如下表所述。
表 3-4。 Atmel-ICE UPDI 引脚映射

Atmel-ICE AVR端口引脚 目标引脚 迷你鱿鱼别针

Atmel STK600 UPDI 引出线

引脚 1 (TCK) 1
引脚2(GND) 地线 2 6
引脚 3 (TDO) 更新数据 3 1
引脚 4 (VTG) 垂直起降 4 2
引脚 5 (TMS) 5
引脚 6 (nSRST) [/RESET感] 6 5
引脚 7(未连接) 7
引脚 8 (nTRST) 8
引脚 9 (TDI) 9
引脚10(GND) 0

3.6 连接到 debugWIRE 目标
6 针 debugWIRE (SPI) 连接器的推荐引出线如表 3-6 所示。
连接到 6 针 100-mil SPI 接头
使用扁平电缆上的 6 针 100-mil 分接头(包含在某些套件中)连接到标准的 100-mil SPI 接头。
连接到 6 针 50-mil SPI 接头
使用适配器板(包含在某些套件中)连接到标准的 50-mil SPI 接头。
连接到自定义 100-mil 接头
应该使用 10 针 mini-squid 电缆连接 Atmel-ICE AVR 连接器端口和目标板。 需要三个连接,如表 3-5 中所述。
尽管 debugWIRE 接口只需要一根信号线(RESET),VCC 和 GND 正常运行,建议访问完整的 SPI 连接器,以便可以使用 SPI 编程启用和禁用 debugWIRE 接口。
当启用 DWEN 熔丝时,SPI 接口在内部被覆盖,以便 OCD 模块控制 RESET 引脚。 debugWIRE OCD 能够暂时禁用自身(使用 Atmel Studio 属性对话框中调试选项卡上的按钮),从而释放对 RESET 线的控制。 然后 SPI 接口再次可用(仅当 SPIEN 熔丝被编程时),允许使用 SPI 接口取消 DWEN 熔丝编程。 如果在 DWEN 熔丝未编程之前切换电源,debugWIRE 模块将再次控制 RESET 引脚。
笔记:
强烈建议让 Atmel Studio 处理 DWEN 熔丝的设置和清除。
如果目标 AVR 设备上的锁定位已编程,则无法使用 debugWIRE 接口。 始终确保在对 DWEN 熔丝进行编程之前清除锁定位,并且在对 DWEN 熔丝进行编程时切勿设置锁定位。 如果同时设置了 debugWIRE 使能熔丝 (DWEN) 和锁定位,则可以使用 High Voltage 编程进行芯片擦除,从而清除锁定位。
清除锁定位后,将重新启用 debugWIRE 接口。 当 DWEN 熔丝未编程时,SPI 接口只能读取熔丝、读取签名和执行芯片擦除。
表 3-5。 Atmel-ICE debugWIRE 引脚映射

Atmel-ICE AVR端口引脚 目标引脚

迷你鱿鱼别针

引脚 1 (TCK) 1
引脚2(GND) 地线 2
引脚 3 (TDO) 3
引脚 4 (VTG) 垂直起降 4
引脚 5 (TMS) 5
引脚 6 (nSRST) 重置 6
引脚 7(未连接) 7
引脚 8 (nTRST) 8
引脚 9 (TDI) 9
引脚10(GND) 0

3.7 连接到 SPI 目标
6 针 SPI 连接器的推荐引出线如图 4-10 所示。
连接到 6 针 100-mil SPI 接头
使用扁平电缆上的 6 针 100-mil 分接头(包含在某些套件中)连接到标准的 100-mil SPI 接头。
连接到 6 针 50-mil SPI 接头
使用适配器板(包含在某些套件中)连接到标准的 50-mil SPI 接头。
连接到自定义 100-mil 接头
应该使用 10 针 mini-squid 电缆连接 Atmel-ICE AVR 连接器端口和目标板。 需要六个连接,如下表所述。
Atmel-ICE 调试器程序员 - 图 16 重要的:
当 debugWIRE 使能熔丝 (DWEN) 被编程时,SPI 接口被有效禁用,即使 SPIEN 熔丝也被编程。 要重新启用 SPI 接口,必须在 debugWIRE 调试会话中发出“禁用 debugWIRE”命令。 以这种方式禁用 debugWIRE 需要 SPIEN 熔丝已经编程。 如果 Atmel Studio 未能禁用 debugWIRE,可能是因为 SPIEN 熔丝未编程。 如果是这种情况,则有必要使用高压tag用于对 SPIEN 熔丝进行编程的编程接口。
Atmel-ICE 调试器程序员 - 图标 信息:
SPI 接口通常称为“ISP”,因为它是 Atmel AVR 产品上的第一个系统内编程接口。 其他接口现在可用于系统内编程。
表 3-6。 Atmel-ICE SPI 引脚映射

Atmel-ICE AVR 端口引脚 目标引脚 迷你鱿鱼别针

SPI 引出线

引脚 1 (TCK) SCK 1 3
引脚2(GND) 地线 2 6
引脚 3 (TDO) 味噌 3 1
引脚 4 (VTG) 垂直起降 4 2
引脚 5 (TMS) 5
引脚 6 (nSRST) /重启 6 5
引脚 7(未连接) 7
引脚 8 (nTRST) 8
引脚 9 (TDI) 摩西 9 4
引脚10(GND) 0

3.8 连接到 TPI 目标
6 针 TPI 连接器的推荐引出线如图 4-13 所示。
连接到 6 针 100-mil TPI 接头
使用扁平电缆(包含在某些套件中)上的 6 针 100-mil 接头连接到标准的 100-mil TPI 接头。
连接到 6 针 50-mil TPI 接头
使用适配器板(包含在某些套件中)连接到标准的 50 密耳 TPI 接头。
连接到自定义 100-mil 接头
应该使用 10 针 mini-squid 电缆连接 Atmel-ICE AVR 连接器端口和目标板。 需要六个连接,如下表所述。
表 3-7。 Atmel-ICE TPI 引脚映射

Atmel-ICE AVR 端口引脚 目标引脚 迷你鱿鱼别针

TPI 引出线

引脚 1 (TCK) 1 3
引脚2(GND) 地线 2 6
引脚 3 (TDO) 数据 3 1
引脚 4 (VTG) 垂直起降 4 2
引脚 5 (TMS) 5
引脚 6 (nSRST) /重启 6 5
引脚 7(未连接) 7
引脚 8 (nTRST) 8
引脚 9 (TDI) 9
引脚10(GND) 0

3.9 连接到 SWD 目标
ARM SWD 接口是 JTAG 接口,利用 TCK 和 TMS 引脚,这意味着当连接到 SWD 设备时,10 引脚 JTAG 技术上可以使用连接器。 手臂杂志TAG 和 AVR JTAG 然而,连接器不是引脚兼容的,因此这取决于所用目标板的布局。 使用 STK600 或使用 AVR J 的电路板时TAG 引出线,必须使用 Atmel-ICE 上的 AVR 连接器端口。 连接到电路板时,利用 ARM JTAG 引出线,必须使用 Atmel-ICE 上的 SAM 连接器端口。
10 针 Cortex 调试连接器的推荐引出线如图 4-4 所示。
连接到 10 针 50 密尔 Cortex 接头
使用扁平电缆(包含在某些套件中)连接到标准的 50 密耳 Cortex 接头。
连接到 10 针 100 密尔 Cortex 布局接头
使用适配器板(包含在某些套件中)连接到 100 密尔 Cortex 引脚排针。
连接到 20 针 100 密尔 SAM 接头
使用适配器板(包含在某些套件中)连接到 20 针 100 密尔 SAM 接头。
连接到自定义 100-mil 接头
应该使用 10 针迷你鱿鱼电缆连接 Atmel-ICE AVR 或 SAM 连接器端口和目标板。 需要六个连接,如下表所述。
表 3-8。 Atmel-ICE SWD 引脚映射

姓名 自动电压调节器  端口引脚 山姆 端口引脚 描述
SWDC LK 1 4 串行线调试时钟。
威迪欧 5 2 串行线调试数据输入/输出。
西南石油大学 3 6 串行线输出(可选 - 未在所有设备上实现)。
SRST 6 10 重置。
垂直起降 4 1 目标卷tag电子参考。
地线 2、10 3, 5, 9 地面。

3.10 连接到数据网关接口
在不使用调试和编程时,Atmel-ICE 支持有限的数据网关接口 (DGI)。 功能与由 Atmel EDBG 设备提供支持的 Atmel Xplained Pro 套件上的功能相同。
数据网关接口是用于将数据从目标设备流式传输到计算机的接口。 这意味着有助于应用程序调试以及演示在目标设备上运行的应用程序的功能。
DGI 由多个数据流通道组成。 Atmel-ICE 支持以下模式:

  • USART
  • 串行外设接口

表 3-9。 Atmel-ICE DGI USART 引出线

AVR接口

SAM端口 DGI USART 引脚

描述

3 6 TX 将 pin 从 Atmel-ICE 传输到目标设备
4 1 垂直起降 目标卷tage(参考卷tage)
8 7 RX 从目标设备接收 pin 到 Atmel-ICE
9 8 时钟 时钟
2、10 3, 5, 9 地线 地面

表 3-10。 Atmel-ICE DGI SPI 引出线

AVR接口

SAM端口 DGI SPI 引脚

描述

1 4 SCK SPI时钟
3 6 味噌 主进从出
4 1 垂直起降 目标卷tage(参考卷tage)
5 2 神经网络 片选低电平有效
9 8 摩西 主输出从站
2、10 3, 5, 9 地线 地面

Atmel-ICE 调试器程序员 - 图 16 重要的:  SPI 和USART 接口不能同时使用。
Atmel-ICE 调试器程序员 - 图 16 重要的:  DGI 和编程或调试不能同时使用。

片上调试

4.1 简介
片上调试
片上调试模块是一种系统,允许开发人员从外部开发平台监视和控制设备上的执行,通常是通过称为调试器或调试适配器的设备。
使用 OCD 系统,可以在执行应用程序的同时在目标系统中保持精确的电气和时序特性,同时能够有条件地或手动地停止执行并检查程序流和内存。
运行模式
在运行模式下,代码的执行完全独立于 Atmel-ICE。 Atmel-ICE 将持续监控目标设备以查看是否发生中断情况。 当发生这种情况时,OCD 系统将通过其调试接口询问设备,允许用户 view 设备的内部状态。
停止模式
到达断点时,程序将停止执行,但某些 I/O 可能会继续运行,就好像没有发生断点一样。 对于前amp例如,假设到达断点时刚刚启动了 USART 传输。 在这种情况下,USART 继续全速运行以完成传输,即使内核处于停止模式。
硬件断点
目标 OCD 模块包含许多在硬件中实现的程序计数器比较器。 当程序计数器与存储在其中一个比较器寄存器中的值匹配时,OCD 进入停止模式。 由于硬件断点需要 OCD 模块上的专用硬件,可用断点的数量取决于目标上实现的 OCD 模块的大小。 通常,调试器会“保留”一个这样的硬件比较器供内部使用。
软件断点
软件断点是放置在目标设备程序存储器中的 BREAK 指令。 加载该指令时,程序执行将中断并且 OCD 进入停止模式。 要继续执行,必须从 OCD 发出“开始”命令。 并非所有 Atmel 设备都具有支持 BREAK 指令的 OCD 模块。
4.2 带 J 的 SAM 设备TAG/社署
所有 SAM 设备都具有用于编程和调试的 SWD 接口。 此外,一些 SAM 设备具有 JTAG 具有相同功能的界面。 检查设备数据表以了解该设备支持的接口。
4.2.1.ARM CoreSight 组件
基于 Atmel ARM Cortex-M 的微控制器实现了 CoreSight 兼容的 OCD 组件。 这些组件的功能可能因设备而异。 有关详细信息,请参阅设备的数据表以及 ARM 提供的 CoreSight 文档。
4.2.1. JTAG 物理接口
JTAG 接口包括一个符合 IEEE 标准的 4 线测试访问端口 (TAP) 控制器® 1149.1 标准。 制定 IEEE 标准是为了提供一种行业标准的方法来有效地测试电路板连接性(边界扫描)。 Atmel AVR 和 SAM 设备扩展了此功能以包括完整的编程和片上调试支持。
图 4-1。 杰TAG 接口基础Atmel-ICE 调试器程序员 - 图 25

4.2.2.1 萨姆杰TAG 引出线(Cortex-M 调试连接器)
在设计包含带有 J 的 Atmel SAM 的应用 PCB 时TAG 接口,建议使用如下图所示的引脚排列。 支持此引出线的 100-mil 和 50-mil 变体,具体取决于特定套件中包含的电缆和适配器。
图 4-2。 萨姆杰TAG 接头引出线
Atmel-ICE 调试器程序员 - 图 20

表 4-1。 萨姆杰TAG 引脚描述

姓名 别针

描述

中枢肌钙蛋白 4 测试时钟(从 Atmel-ICE 到目标设备的时钟信号)。
经颅磁共振 2 测试模式选择(从 Atmel-ICE 到目标设备的控制信号)。
甲苯二异氰酸酯 8 测试数据输入(从 Atmel-ICE 传输到目标设备的数据)。
时差 6 测试数据输出(从目标设备传输到 Atmel-ICE 的数据)。
复位 10 重置(可选)。 用于重置目标设备。 建议连接此引脚,因为它允许 Atmel-ICE 将目标设备保持在复位状态,这对于某些情况下的调试至关重要。
垂直起降 1 目标卷tag电子参考。 Atmel-ICE samples 目标卷tage 在这个引脚上,以便正确地为电平转换器供电。 在此模式下,Atmel-ICE 从该引脚吸取小于 1mA 的电流。
地线 3, 5, 9 地面。 所有这些都必须连接以确保 Atmel-ICE 和目标设备共享相同的接地参考。
钥匙 7 在内部连接到 AVR 连接器上的 TRST 引脚。 推荐为未连接。

Atmel-ICE 调试器程序员 - 图标 1 提示: 请记住在引脚 1 和 GND 之间加入一个去耦电容。
4.2.2.2 焦耳TAG 雏菊 链式
JTAG 接口允许将多个设备连接到菊花链配置中的单个接口。 目标设备必须全部由相同的电源电压供电tage、共用一个接地节点,必须如下图连接。
图 4-3。 杰TAG 菊花链Atmel-ICE 调试器程序员 - 图 23

在菊花链中连接设备时,必须考虑以下几点:

  • 所有设备必须共用一个接地点,连接到 Atmel-ICE 探针上的 GND
  • 所有设备必须在同一目标卷上运行tage. Atmel-ICE 上的 VTG 必须连接到此卷tage.
  • TMS和TCK并联; TDI和TDO串联
  • 如果链中的任何设备禁用其 J,则 Atmel-ICE 探针上的 nSRST 必须连接到设备上的 RESETTAG 港口
  • “之前的设备”是指J的数量TAG TDI 信号在到达目标设备之前必须在菊花链中通过的设备。 同样,“之后的设备”是信号在到达 Atmel-ICE TDO 之前必须在目标设备之后通过的设备数量
  • “前”和“后”指令位是指所有J的总和TAG 设备的指令寄存器长度,在菊花链中连接在目标设备之前和之后
  • 总 IR 长度(之前的指令位 + Atmel 目标设备 IR 长度 + 之后的指令位)限制为最大 256 位。 链中的设备数量限制为前 15 个和后 15 个。

Atmel-ICE 调试器程序员 - 图标 1 提示:
菊花链前amp文件:TDI → ATmega1280 → ATxmega128A1 → ATUC3A0512 → TDO。
为了连接到Atmel AVR XMEGA® 设备,菊花链设置为:

  • 之前的设备:1
  • 之后的设备:1
  • 之前的指令位:4(8 位 AVR 设备有 4 个 IR 位)
  • 之后的指令位:5(32 位 AVR 设备有 5 个 IR 位)

表 4-2。 Atmel MCU 的 IR 长度

设备类型 红外长度
AVR 8 位 4 位
AVR 32 位 5 位
山姆 4 位

4.2.3. 连接到 JTAG 目标
Atmel-ICE 配备了两个 50 密尔 10 针 JTAG 连接器。 两个连接器直接电气连接,但符合两个不同的引出线; AVR JTAG 标头和 ARM Cortex 调试标头。 应根据目标板的引脚分配选择连接器,而不是目标 MCU 类型——例如amp安装在 AVR STK600 堆栈中的 SAM 设备应使用 AVR 标头。
10 针 AVR J 的推荐引出线TAG 连接器如图 4-6 所示。
10 针 ARM Cortex 调试连接器的推荐引出线如图 4-2 所示。
直接连接到标准 10 针 50 密耳接头
使用 50 密耳 10 针扁平电缆(包含在某些套件中)直接连接到支持此接头类型的电路板。 将 Atmel-ICE 上的 AVR 连接器端口用于具有 AVR 引出线的接头,将 SAM 连接器端口用于符合 ARM Cortex 调试接头引出线的接头。
两个 10 针连接器端口的引出线如下所示。
连接到标准 10 针 100 密耳接头
使用标准的 50-mil 至 100-mil 适配器连接到 100-mil 接头。 适配器板(包含在某些套件中)可用于此目的,或者 JTAGICE3 适配器可用于 AVR 目标。
Atmel-ICE 调试器程序员 - 图 16 重要的:
JTAGICE3 100-mil 适配器不能与 SAM 连接器端口一起使用,因为适配器上的引脚 2 和 10(AVR GND)已连接。
连接到自定义 100-mil 接头
如果您的目标板没有兼容的 10 针 JTAG 50 或 100 密尔的接头,您可以使用 10 针“迷你鱿鱼”电缆(包含在某些套件中)映射到自定义引出线,它可以访问十个单独的 100 密尔插座。
连接到 20 针 100 密耳接头
使用适配器板(包含在某些套件中)通过 20 针 100-mil 接头连接到目标。
表 4-3。 Atmel-ICE JTAG 引脚描述

姓名 自动电压调节器 端口引脚 山姆 端口引脚 描述
中枢肌钙蛋白 1 4 测试时钟(从 Atmel-ICE 到目标设备的时钟信号)。
经颅磁共振 5 2 测试模式选择(从 Atmel-ICE 到目标设备的控制信号)。
甲苯二异氰酸酯 9 8 测试数据输入(从 Atmel-ICE 传输到目标设备的数据)。
时差 3 6 测试数据输出(从目标设备传输到 Atmel-ICE 的数据)。
nTRST 8 测试重置(可选,仅在某些 AVR 设备上)。 用于重置 JTAG TAP 控制器。
SRST 6 10 重置(可选)。 用于重置目标设备。 建议连接此引脚,因为它允许 Atmel-ICE 将目标设备保持在复位状态,这对于某些情况下的调试至关重要。
垂直起降 4 1 目标卷tag电子参考。 Atmel-ICE samples 目标卷tage 在这个引脚上,以便正确地为电平转换器供电。 Atmel-ICE 在 debugWIRE 模式下从该引脚吸取小于 3mA 的电流,在其他模式下吸取小于 1mA 的电流。
地线 2、10 3, 5, 9 地面。 所有这些都必须连接以确保 Atmel-ICE 和目标设备共享相同的接地参考。

4.2.4. SWD 物理接口
ARM SWD 接口是 JTAG 接口,利用 TCK 和 TMS 引脚。 手臂杂志TAG 和 AVR JTAG 然而,连接器不兼容引脚,因此在设计应用 PCB 时,它使用带 SWD 或 J 的 SAM 设备TAG 接口,建议使用下图所示的 ARM 引出线。 Atmel-ICE 上的 SAM 连接器端口可以直接连接到这个引出线。
图 4-4。 推荐的 ARM SWD/JTAG 接头引出线Atmel-ICE 调试器程序员 - 图 18

Atmel-ICE 能够将 UART 格式的 ITM 跟踪流传输到主机。 跟踪在 10 针接头的 TRACE/SWO 引脚上捕获(JTAG TDO 引脚)。 数据在 Atmel-ICE 内部缓冲,并通过 HID 接口发送到主机。 最大可靠数据速率约为 3MB/s。
4.2.5. 连接到 SWD 目标
ARM SWD 接口是 JTAG 接口,利用 TCK 和 TMS 引脚,这意味着当连接到 SWD 设备时,10 引脚 JTAG 技术上可以使用连接器。 手臂杂志TAG 和 AVR JTAG 然而,连接器不是引脚兼容的,因此这取决于所用目标板的布局。 使用 STK600 或使用 AVR J 的电路板时TAG 引出线,必须使用 Atmel-ICE 上的 AVR 连接器端口。 连接到电路板时,利用 ARM JTAG 引出线,必须使用 Atmel-ICE 上的 SAM 连接器端口。
10 针 Cortex 调试连接器的推荐引出线如图 4-4 所示。
连接到 10 针 50 密尔 Cortex 接头
使用扁平电缆(包含在某些套件中)连接到标准的 50 密耳 Cortex 接头。
连接到 10 针 100 密尔 Cortex 布局接头
使用适配器板(包含在某些套件中)连接到 100 密尔 Cortex 引脚排针。
连接到 20 针 100 密尔 SAM 接头
使用适配器板(包含在某些套件中)连接到 20 针 100 密尔 SAM 接头。
连接到自定义 100-mil 接头
应该使用 10 针迷你鱿鱼电缆连接 Atmel-ICE AVR 或 SAM 连接器端口和目标板。 需要六个连接,如下表所述。
表 4-4。 Atmel-ICE SWD 引脚映射

姓名 自动电压调节器 端口引脚 山姆 端口引脚 描述
SWDC LK 1 4 串行线调试时钟。
威迪欧 5 2 串行线调试数据输入/输出。
西南石油大学 3 6 串行线输出(可选 - 未在所有设备上实现)。
SRST 6 10 重置。
垂直起降 4 1 目标卷tag电子参考。
地线 2、10 3, 5, 9 地面。

4.2.6 特别注意事项
擦除引脚
一些 SAM 设备包括一个 ERASE 引脚,该引脚被断言以执行完整的芯片擦除和解锁设置了安全位的设备。 此功能与设备本身以及闪存控制器耦合,而不是 ARM 内核的一部分。
ERASE 引脚不是任何调试头的一部分,因此 Atmel-ICE 无法断言此信号来解锁设备。 在这种情况下,用户应在开始调试会话之前手动执行擦除。
物理接口 JTAG 界面
RESET 线应始终连接,以便 Atmel-ICE 可以启用 JTAG 界面。
SWD接口
应始终连接 RESET 线,以便 Atmel-ICE 可以启用 SWD 接口。
4.3 带 J 的 AVR UC3 设备TAG/一条电线
所有 AVR UC3 设备都具有 JTAG 用于编程和调试的接口。 此外,一些 AVR UC3 设备具有 aWire 接口,使用单根电线即可实现相同的功能。 查看设备数据表以了解该设备支持的接口
4.3.1 Atmel AVR UC3 片上调试系统
Atmel AVR UC3 OCD 系统是根据 Nexus 2.0 标准 (IEEE-ISTO 5001™-2003) 设计的,该标准是用于 ​​32 位微控制器的高度灵活且功能强大的开放式片上调试标准。 它支持以下功能:

  • Nexus 兼容的调试解决方案
  • OCD 支持任何 CPU 速度
  • 六个程序计数器硬件断点
  • 两个数据断点
  • 断点可以配置为观察点
  • 可以组合硬件断点以中断范围
  • 无限数量的用户程序断点(使用 BREAK)
  • 实时程序计数器分支跟踪、数据跟踪、进程跟踪(仅由具有并行跟踪捕获端口的调试器支持)

有关 AVR UC3 OCD 系统的更多信息,请参阅 AVR32UC 技术参考手册,位于 www.atmel.com/uc3.
4.3.2. JTAG 物理接口
JTAG 接口包括一个符合 IEEE 标准的 4 线测试访问端口 (TAP) 控制器® 1149.1 标准。 制定 IEEE 标准是为了提供一种行业标准的方法来有效地测试电路板连接性(边界扫描)。 Atmel AVR 和 SAM 设备扩展了此功能以包括完整的编程和片上调试支持。
图 4-5。 杰TAG 接口基础Atmel-ICE 调试器程序员 - 图 17

4.3.2.1 AVR JTAG 引脚排列
在设计应用 PCB 时,其中包括带有 J 的 Atmel AVRTAG 接口,建议使用如下图所示的引脚排列。 支持此引出线的 100-mil 和 50-mil 变体,具体取决于特定套件中包含的电缆和适配器。
图 4-6。 AVR JTAG 接头引出线
Atmel-ICE 调试器程序员 - 图 22

桌子 4-5。 自动录像机 JTAG 引脚描述

姓名 别针

描述

中枢肌钙蛋白 1 测试时钟(从 Atmel-ICE 到目标设备的时钟信号)。
经颅磁共振 5 测试模式选择(从 Atmel-ICE 到目标设备的控制信号)。
甲苯二异氰酸酯 9 测试数据输入(从 Atmel-ICE 传输到目标设备的数据)。
时差 3 测试数据输出(从目标设备传输到 Atmel-ICE 的数据)。
nTRST 8 测试重置(可选,仅在某些 AVR 设备上)。 用于重置 JTAG TAP 控制器。
SRST 6 重置(可选)。 用于重置目标设备。 建议连接此引脚,因为它允许 Atmel-ICE 将目标设备保持在复位状态,这对于某些情况下的调试至关重要。
垂直起降 4 目标卷tag电子参考。 Atmel-ICE samples 目标卷tage 在这个引脚上,以便正确地为电平转换器供电。 Atmel-ICE 在 debugWIRE 模式下从该引脚吸取小于 3mA 的电流,在其他模式下吸取小于 1mA 的电流。
地线 2、10 地面。 两者都必须连接以确保 Atmel-ICE 和目标设备共享相同的接地参考。

Atmel-ICE 调试器程序员 - 图标 1 提示: 请记住在引脚 4 和 GND 之间加入一个去耦电容。
4.3.2.2 焦耳TAG 雏菊 链式
JTAG 接口允许将多个设备连接到菊花链配置中的单个接口。 目标设备必须全部由相同的电源电压供电tage、共用一个接地节点,必须如下图连接。
图 4-7。 杰TAG 菊花链Atmel-ICE 调试器程序员 - 图 19

在菊花链中连接设备时,必须考虑以下几点:

  • 所有设备必须共用一个接地点,连接到 Atmel-ICE 探针上的 GND
  • 所有设备必须在同一目标卷上运行tage. Atmel-ICE 上的 VTG 必须连接到此卷tage.
  • TMS和TCK并联; TDI 和 TDO 连接在一个串行链中。
  • 如果链中的任何设备禁用其 J,则 Atmel-ICE 探针上的 nSRST 必须连接到设备上的 RESETTAG 港口
  • “之前的设备”是指J的数量TAG TDI 信号在到达目标设备之前必须在菊花链中通过的设备。 同样,“之后的设备”是信号在到达 Atmel-ICE TDO 之前必须在目标设备之后通过的设备数量
  • “前”和“后”指令位是指所有J的总和TAG 设备的指令寄存器长度,在菊花链中连接在目标设备之前和之后
  • 总 IR 长度(之前的指令位 + Atmel 目标设备 IR 长度 + 之后的指令位)限制为最大 256 位。 链中的设备数量限制为前 15 个和后 15 个。

提示: 

菊花链前amp文件:TDI → ATmega1280 → ATxmega128A1 → ATUC3A0512 → TDO。
为了连接到Atmel AVR XMEGA® 设备,菊花链设置为:

  • 之前的设备:1
  • 之后的设备:1
  • 之前的指令位:4(8 位 AVR 设备有 4 个 IR 位)
  • 之后的指令位:5(32 位 AVR 设备有 5 个 IR 位)

表 4-6。 Atmel MCU 的 IR 长度

设备类型 红外长度
AVR 8 位 4 位
AVR 32 位 5 位
山姆 4 位

4.3.3.连接到JTAG 目标
Atmel-ICE 配备了两个 50 密尔 10 针 JTAG 连接器。 两个连接器直接电气连接,但符合两个不同的引出线; AVR JTAG 标头和 ARM Cortex 调试标头。 应根据目标板的引脚分配选择连接器,而不是目标 MCU 类型——例如amp安装在 AVR STK600 堆栈中的 SAM 设备应使用 AVR 标头。
10 针 AVR J 的推荐引出线TAG 连接器如图 4-6 所示。
10 针 ARM Cortex 调试连接器的推荐引出线如图 4-2 所示。
直接连接到标准 10 针 50 密耳接头
使用 50 密耳 10 针扁平电缆(包含在某些套件中)直接连接到支持此接头类型的电路板。 将 Atmel-ICE 上的 AVR 连接器端口用于具有 AVR 引出线的接头,将 SAM 连接器端口用于符合 ARM Cortex 调试接头引出线的接头。
两个 10 针连接器端口的引出线如下所示。
连接到标准 10 针 100 密耳接头

使用标准的 50-mil 至 100-mil 适配器连接到 100-mil 接头。 适配器板(包含在某些套件中)可用于此目的,或者 JTAGICE3 适配器可用于 AVR 目标。
Atmel-ICE 调试器程序员 - 图 16 重要的:
JTAGICE3 100-mil 适配器不能与 SAM 连接器端口一起使用,因为适配器上的引脚 2 和 10(AVR GND)已连接。
连接到自定义 100-mil 接头
如果您的目标板没有兼容的 10 针 JTAG 50 或 100 密尔的接头,您可以使用 10 针“迷你鱿鱼”电缆(包含在某些套件中)映射到自定义引出线,它可以访问十个单独的 100 密尔插座。
连接到 20 针 100 密耳接头
使用适配器板(包含在某些套件中)通过 20 针 100-mil 接头连接到目标。
表 4-7。 Atmel-ICE JTAG 引脚描述

姓名

AVR端口引脚 SAM端口引脚

描述

中枢肌钙蛋白 1 4 测试时钟(从 Atmel-ICE 到目标设备的时钟信号)。
经颅磁共振 5 2 测试模式选择(从 Atmel-ICE 到目标设备的控制信号)。
甲苯二异氰酸酯 9 8 测试数据输入(从 Atmel-ICE 传输到目标设备的数据)。
时差 3 6 测试数据输出(从目标设备传输到 Atmel-ICE 的数据)。
nTRST 8 测试重置(可选,仅在某些 AVR 设备上)。 用于重置 JTAG TAP 控制器。
SRST 6 10 重置(可选)。 用于重置目标设备。 建议连接此引脚,因为它允许 Atmel-ICE 将目标设备保持在复位状态,这对于某些情况下的调试至关重要。
垂直起降 4 1 目标卷tag电子参考。 Atmel-ICE samples 目标卷tage 在这个引脚上,以便正确地为电平转换器供电。 Atmel-ICE 在 debugWIRE 模式下从该引脚吸取小于 3mA 的电流,在其他模式下吸取小于 1mA 的电流。
地线 2、10 3, 5, 9 地面。 所有这些都必须连接以确保 Atmel-ICE 和目标设备共享相同的接地参考。

 4.3.4 aWire 物理接口
aWire 接口利用 AVR 设备的 RESET 线来实现编程和调试功能。 Atmel-ICE 传输一个特殊的启用序列,禁用引脚的默认复位功能。在设计包含带有 aWire 接口的 Atmel AVR 的应用 PCB 时,建议使用图 4 所示的引脚分配-8。 支持此引出线的 100-mil 和 50-mil 变体,具体取决于特定套件中包含的电缆和适配器。
图 4-8。 aWire 接头引出线Atmel-ICE 调试器程序员 - 图 24

Atmel-ICE 调试器程序员 - 图标 1 提示:
由于 aWire 是半双工接口,建议在 RESET 线上使用 47kΩ 左右的上拉电阻,以避免在改变方向时错误地检测到起始位。
aWire 接口可用作编程和调试接口。 OCD 系统的所有功能都可通过 10 针 JTAG 也可以使用 aWire 访问接口。
4.3.5 连接到 aWire 目标
aWire 接口除了 V 外只需要一根数据线CC 和接地。 在目标上,这一行是 nRESET 行,尽管调试器使用 JTAG TDO 线作为数据线。
6 针 aWire 连接器的推荐引出线如图 4-8 所示。
连接到 6 针 100 密尔 aWire 接头
使用扁平电缆上的 6 针 100-mil 分接头(包含在某些套件中)连接到标准的 100-mil aWire 接头。
连接到 6 针 50 密尔 aWire 接头
使用适配器板(包含在某些套件中)连接到标准的 50 密耳 aWire 接头。
连接到自定义 100-mil 接头
应该使用 10 针 mini-squid 电缆连接 Atmel-ICE AVR 连接器端口和目标板。 需要三个连接,如下表所述。
表 4-8。 Atmel-ICE aWire 引脚映射

Atmel-ICE AVR 端口引脚 目标引脚 迷你鱿鱼别针

aWire 引出线

引脚 1 (TCK) 1
引脚2(GND) 地线 2 6
引脚 3 (TDO) 数据 3 1
引脚 4 (VTG) 垂直起降 4 2
引脚 5 (TMS) 5
引脚 6 (nSRST) 6
引脚 7(未连接) 7
引脚 8 (nTRST) 8
引脚 9 (TDI) 9
引脚10(GND) 0

4.3.6. 特殊注意事项
JTAG 界面
在某些 Atmel AVR UC3 设备上,JTAG 默认情况下不启用端口。 使用这些设备时,必须连接 RESET 线,以便 Atmel-ICE 可以启用 JTAG 界面。
有线接口
aWire 通信的波特率取决于系统时钟的频率,因为数据必须在这两个域之间同步。 Atmel-ICE 将自动检测系统时钟已降低,并相应地重新校准其波特率。 自动校准仅适用于 8kHz 的系统时钟频率。 在调试会话期间切换到较低的系统时钟可能会导致与目标的联系丢失。
如果需要,可以通过设置 aWire 时钟参数来限制 aWire 波特率。 自动检测仍将有效,但会对结果施加上限值。
使用 aWire 时,必须断开连接到 RESET 引脚的任何稳定电容器,因为它会干扰接口的正确操作。 建议在这条线上使用弱外部上拉(10kΩ 或更高)。

关机睡眠模式
一些 AVR UC3 设备有一个内部稳压器,可用于 3.3V 电源模式和 1.8V 稳压 I/O 线路。 这意味着内部稳压器为内核和大部分 I/O 供电。 只有 Atmel AVR ONE! 调试器支持在使用此调节器关闭的睡眠模式时进行调试。
4.3.7. EVTI / EVTO 用法
Atmel-ICE 上无法访问 EVTI 和 EVTO 引脚。 但是,它们仍然可以与其他外部设备结合使用。
EVTI 可用于以下目的:

  • 可以强制目标停止执行以响应外部事件。 如果 DC 寄存器中的事件控制 (EIC) 位写入 0b01,则 EVTI 引脚上的高到低转换将产生断点条件。 EVTI 必须在一个 CPU 时钟周期内保持低电平以保证断点出现。发生这种情况时,DS 中的外部断点位 (EXB) 被设置。
  • 生成跟踪同步消息。 Atmel-ICE 不使用。

EVTO 可用于以下目的:

  • 指示 CPU 已进入调试模式 当目标设备进入调试模式时,将 DC 中的 EOS 位设置为 0b01 会导致 EVTO 引脚被拉低一个 CPU 时钟周期。 该信号可用作外部示波器的触发源。
  • 指示 CPU 已到达断点或观察点。 通过在相应的断点/观察点控制寄存器中设置 EOC 位,可以在 EVTO 引脚上指示断点或观察点状态。 DC 中的 EOS 位必须设置为 0xb10 才能启用此功能。 然后可以将 EVTO 引脚连接到外部示波器以检查观察点
  • 生成跟踪定时信号。 Atmel-ICE 不使用。

4.4 tinyAVR、megaAVR 和 XMEGA 设备
AVR 设备具有各种编程和调试接口。 检查设备数据表以了解该设备支持的接口。

  • 一些微型AVR® 设备有一个 TPI TPI 只能用于对设备进行编程,这些设备根本没有片上调试功能。
  • 一些 tinyAVR 设备和一些 megaAVR 设备具有 debugWIRE 接口,它连接到称为 tinyOCD 的片上调试系统。 所有带 debugWIRE 的器件还具有用于在系统的 SPI 接口
  • 一些 megaAVR 设备有一个 JTAG 用于编程和调试的接口,带有片上调试系统,也称为带 J 的所有设备TAG 还具有 SPI 接口作为在系统编程的替代接口。
  • 所有 AVR XMEGA 设备都有用于编程的 PDI 接口,一些 AVR XMEGA 设备还有一个 JTAG 具有相同功能的界面。
  • 新的 tinyAVR 设备有一个 UPDI 接口,用于编程和调试

表 4-9。 编程和调试接口总结

更新接口 特发性前列腺增生症 串行外设接口 调试线 E JTAG 预定义数据 一条电线

社会福利署

微型AVR 新设备 一些设备 一些设备 一些设备
兆AV R 所有设备 一些设备 一些设备
AVR XMEGA 一些设备 所有设备
AVR UC 所有设备 一些设备
山姆 一些设备 所有设备

4.4.1. JTAG 物理接口
JTAG 接口包括一个符合 IEEE 标准的 4 线测试访问端口 (TAP) 控制器® 1149.1 标准。 制定 IEEE 标准是为了提供一种行业标准的方法来有效地测试电路板连接性(边界扫描)。 Atmel AVR 和 SAM 设备扩展了此功能以包括完整的编程和片上调试支持。
图 4-9。 杰TAG 接口基础Atmel-ICE 调试器程序员 - 图 214.4.2. 连接到 JTAG 目标
Atmel-ICE 配备了两个 50 密尔 10 针 JTAG 连接器。 两个连接器直接电气连接,但符合两个不同的引出线; AVR JTAG 标头和 ARM Cortex 调试标头。 应根据目标板的引脚分配选择连接器,而不是目标 MCU 类型——例如amp安装在 AVR STK600 堆栈中的 SAM 设备应使用 AVR 标头。
10 针 AVR J 的推荐引出线TAG 连接器如图 4-6 所示。
10 针 ARM Cortex 调试连接器的推荐引出线如图 4-2 所示。
直接连接到标准 10 针 50 密耳接头
使用 50 密耳 10 针扁平电缆(包含在某些套件中)直接连接到支持此接头类型的电路板。 将 Atmel-ICE 上的 AVR 连接器端口用于具有 AVR 引出线的接头,将 SAM 连接器端口用于符合 ARM Cortex 调试接头引出线的接头。
两个 10 针连接器端口的引出线如下所示。
连接到标准 10 针 100 密耳接头
使用标准的 50-mil 至 100-mil 适配器连接到 100-mil 接头。 适配器板(包含在某些套件中)可用于此目的,或者 JTAGICE3 适配器可用于 AVR 目标。
Atmel-ICE 调试器程序员 - 图 16 重要的:
JTAGICE3 100-mil 适配器不能与 SAM 连接器端口一起使用,因为适配器上的引脚 2 和 10(AVR GND)已连接。
连接到自定义 100-mil 接头
如果您的目标板没有兼容的 10 针 JTAG 50 或 100 密尔的接头,您可以使用 10 针“迷你鱿鱼”电缆(包含在某些套件中)映射到自定义引出线,它可以访问十个单独的 100 密尔插座。
连接到 20 针 100 密耳接头
使用适配器板(包含在某些套件中)通过 20 针 100-mil 接头连接到目标。
表 4-10。 Atmel-ICE JTAG 引脚描述

姓名 自动电压调节器 端口引脚 山姆 端口引脚 描述
中枢肌钙蛋白 1 4 测试时钟(从 Atmel-ICE 到目标设备的时钟信号)。
经颅磁共振 5 2 测试模式选择(从 Atmel-ICE 到目标设备的控制信号)。
甲苯二异氰酸酯 9 8 测试数据输入(从 Atmel-ICE 传输到目标设备的数据)。
时差 3 6 测试数据输出(从目标设备传输到 Atmel-ICE 的数据)。
nTRST 8 测试重置(可选,仅在某些 AVR 设备上)。 用于重置 JTAG TAP 控制器。
SRST 6 10 重置(可选)。 用于重置目标设备。 建议连接此引脚,因为它允许 Atmel-ICE 将目标设备保持在复位状态,这对于某些情况下的调试至关重要。
垂直起降 4 1 目标卷tag电子参考。 Atmel-ICE samples 目标卷tage 在这个引脚上,以便正确地为电平转换器供电。 Atmel-ICE 在 debugWIRE 模式下从该引脚吸取小于 3mA 的电流,在其他模式下吸取小于 1mA 的电流。
地线 2、10 3, 5, 9 地面。 所有这些都必须连接以确保 Atmel-ICE 和目标设备共享相同的接地参考。

4.4.3.SPI物理接口
在系统编程使用目标 Atmel AVR 的内部 SPI(串行外设接口)将代码下载到闪存和 EEPROM 存储器中。 它不是调试接口。 在设计包含带 SPI 接口的 AVR 的应用 PCB 时,应使用下图所示的引出线。
图 4-10。 SPI 接头引出线Atmel-ICE 调试器程序员 - 图 264.4.4. 连接到 SPI 目标
6 针 SPI 连接器的推荐引出线如图 4-10 所示。
连接到 6 针 100-mil SPI 接头
使用扁平电缆上的 6 针 100-mil 分接头(包含在某些套件中)连接到标准的 100-mil SPI 接头。
连接到 6 针 50-mil SPI 接头
使用适配器板(包含在某些套件中)连接到标准的 50-mil SPI 接头。
连接到自定义 100-mil 接头
应该使用 10 针 mini-squid 电缆连接 Atmel-ICE AVR 连接器端口和目标板。 需要六个连接,如下表所述。
Atmel-ICE 调试器程序员 - 图 16 重要的:
当 debugWIRE 使能熔丝 (DWEN) 被编程时,SPI 接口被有效禁用,即使 SPIEN 熔丝也被编程。 要重新启用 SPI 接口,必须在 debugWIRE 调试会话中发出“禁用 debugWIRE”命令。 以这种方式禁用 debugWIRE 需要 SPIEN 熔丝已经编程。 如果 Atmel Studio 未能禁用 debugWIRE,可能是因为 SPIEN 熔丝未编程。 如果是这种情况,则有必要使用高压tag用于对 SPIEN 熔丝进行编程的编程接口。
Atmel-ICE 调试器程序员 - 图标 信息:
SPI 接口通常称为“ISP”,因为它是 Atmel AVR 产品上的第一个系统内编程接口。 其他接口现在可用于系统内编程。
表 4-11。 Atmel-ICE SPI 引脚映射

Atmel-ICE AVR 端口引脚 目标引脚 迷你鱿鱼别针

SPI 引出线

引脚 1 (TCK) SCK 1 3
引脚2(GND) 地线 2 6
引脚 3 (TDO) 味噌 3 1
引脚 4 (VTG) 垂直起降 4 2
引脚 5 (TMS) 5
引脚 6 (nSRST) /重启 6 5
引脚 7(未连接) 7
引脚 8 (nTRST) 8
引脚 9 (TDI) 摩西 9 4
引脚10(GND) 0

4.4.5。 PDI
编程和调试接口 (PDI) 是 Atmel 专有接口,用于设备的外部编程和片上调试。 PDI Physical 是一个 2 针接口,提供与目标设备的双向半双工同步通信。
在设计包含带 PDI 接口的 Atmel AVR 的应用 PCB 时,应使用下图所示的引出线。 然后可以使用随 Atmel-ICE 套件提供的 6 针适配器之一将 Atmel-ICE 探针连接到应用 PCB。
图 4-11。 PDI 接头引出线Atmel-ICE 调试器程序员 - 图 274.4.6.连接到 PDI 目标
6 针 PDI 连接器的推荐引出线如图 4-11 所示。
连接到 6 针 100-mil PDI 接头
使用扁平电缆上的 6 针 100-mil 接头(包含在某些套件中)连接到标准的 100-mil PDI 接头。
连接到 6 针 50-mil PDI 接头
使用适配器板(包含在某些套件中)连接到标准的 50 密耳 PDI 接头。
连接到自定义 100-mil 接头
应该使用 10 针 mini-squid 电缆连接 Atmel-ICE AVR 连接器端口和目标板。 需要四个连接,如下表所述。
Atmel-ICE 调试器程序员 - 图 16 重要的:
所需的引出线不同于 JTAGICE mkII JTAG 探针,其中 PDI_DATA 连接到引脚 9。Atmel-ICE 与 Atmel-ICE 使用的引脚分配兼容,JTAGICE3、AVR ONE! 和 AVR 龙 产品。
表 4-12。 Atmel-ICE PDI 引脚映射

Atmel-ICE AVR端口引脚

目标引脚 迷你鱿鱼别针

Atmel STK600 PDI 引出线

引脚 1 (TCK) 1
引脚2(GND) 地线 2 6
引脚 3 (TDO) PDI_数据 3 1
引脚 4 (VTG) 垂直起降 4 2
引脚 5 (TMS) 5
引脚 6 (nSRST) PDI时钟 6 5
引脚 7(未连接) 7
引脚 8 (nTRST) 8
引脚 9 (TDI) 9
引脚10(GND) 0

4.4.7. UPDI 物理接口
统一编程和调试接口 (UPDI) 是 Atmel 专有接口,用于设备的外部编程和片上调试。 它是 PDI 2 线物理接口的后继产品,可在所有 AVR XMEGA 设备上找到。 UPDI 是一种单线接口,提供与目标设备的双向半双工异步通信,用于编程和调试。
在设计包含带 UPDI 接口的 Atmel AVR 的应用 PCB 时,应使用下图所示的引出线。 然后可以使用随 Atmel-ICE 套件提供的 6 针适配器之一将 Atmel-ICE 探针连接到应用 PCB。
图 4-12。 UPDI 接头引出线Atmel-ICE 调试器程序员 - 图 284.4.7.1 UPDI 和/RESET
UPDI 单线接口可以是专用引脚或共享引脚,具体取决于目标 AVR 设备。 有关更多信息,请参阅器件数据表。
当 UPDI 接口位于共享引脚上时,可通过设置 RSTPINCFG[1:0] 熔丝将引脚配置为 UPDI、/RESET 或 GPIO。
RSTPINCFG[1:0] 保险丝具有以下配置,如数据表中所述。 这里给出了每个选择的实际含义。
表 4-13。 RSTPINCFG[1:0] 熔丝配置

RSTPINCFG[1:0] 配置

用法

00 通用输入输出 通用 I/O 引脚。 为了访问 UPDI,必须向该引脚施加 12V 脉冲。 没有可用的外部复位源。
01 更新接口 专用编程和调试引脚。 没有可用的外部复位源。
10 重置 复位信号输入。 为了访问 UPDI,必须向该引脚施加 12V 脉冲。
11 预订的 NA

笔记:  较旧的 AVR 设备有一个编程接口,称为“High-Voltage Programming”(存在串行和并行变体。)一般来说,此接口需要在编程会话期间将 12V 电压施加到 /RESET 引脚。 UPDI 接口是一个完全不同的接口。 UPDI 管脚主要是一个编程和调试管脚,可以熔合以具有替代功能(/RESET 或 GPIO)。 如果选择了替代功能,则该引脚需要 12V 脉冲才能重新激活 UPDI 功能。
笔记:  如果设计由于引脚限制需要共享 UPDI 信号,则必须采取措施以确保可以对设备进行编程。 为确保 UPDI 信号能够正常工作,并避免 12V 脉冲损坏外部组件,建议在尝试调试或编程设备时断开此引脚上的任何组件。 这可以使用一个 0Ω 电阻器来完成,该电阻器默认安装并在调试时被移除或替换为排针。 这种配置实际上意味着应该在安装设备之前完成编程。
Atmel-ICE 调试器程序员 - 图 16 重要的:  Atmel-ICE 不支持 UPDI 线上的 12V。 换句话说,如果 UPDI 引脚已配置为 GPIO 或 RESET,Atmel-ICE 将无法启用 UPDI 接口。
4.4.8.连接到一个 UPDI 目标
6 针 UPDI 连接器的推荐引出线如图 4-12 所示。
连接到 6 针 100-mil UPDI 接头
使用扁平电缆上的 6 针 100-mil 接头(包含在某些套件中)连接到标准的 100-mil UPDI 接头。
连接到 6 针 50-mil UPDI 接头
使用适配器板(包含在某些套件中)连接到标准的 50 密耳 UPDI 接头。
连接到自定义 100-mil 接头

应该使用 10 针 mini-squid 电缆连接 Atmel-ICE AVR 连接器端口和目标板。 需要三个连接,如下表所述。
表 4-14。 Atmel-ICE UPDI 引脚映射

Atmel-ICE AVR端口引脚 目标引脚 迷你鱿鱼别针

Atmel STK600 UPDI 引出线

引脚 1 (TCK) 1
引脚2(GND) 地线 2 6
引脚 3 (TDO) 更新数据 3 1
引脚 4 (VTG) 垂直起降 4 2
引脚 5 (TMS) 5
引脚 6 (nSRST) [/RESET感] 6 5
引脚 7(未连接) 7
引脚 8 (nTRST) 8
引脚 9 (TDI) 9
引脚10(GND) 0

4.4.9 TPI 物理接口
TPI 是一些 AVR ATtiny 设备的纯编程接口。 它不是调试接口,这些设备不具备 OCD 功能。 在设计包含带 TPI 接口的 AVR 的应用 PCB 时,应使用下图所示的引脚排列。

图 4-13。 TPI 接头引出线Atmel-ICE 调试器程序员 - 图 294.4.10.连接到 TPI 目标
6 针 TPI 连接器的推荐引出线如图 4-13 所示。
连接到 6 针 100-mil TPI 接头
使用扁平电缆(包含在某些套件中)上的 6 针 100-mil 接头连接到标准的 100-mil TPI 接头。
连接到 6 针 50-mil TPI 接头
使用适配器板(包含在某些套件中)连接到标准的 50 密耳 TPI 接头。
连接到自定义 100-mil 接头
应该使用 10 针 mini-squid 电缆连接 Atmel-ICE AVR 连接器端口和目标板。 需要六个连接,如下表所述。
表 4-15。 Atmel-ICE TPI 引脚映射

Atmel-ICE AVR 端口引脚 目标引脚 迷你鱿鱼别针

TPI 引出线

引脚 1 (TCK) 1 3
引脚2(GND) 地线 2 6
引脚 3 (TDO) 数据 3 1
引脚 4 (VTG) 垂直起降 4 2
引脚 5 (TMS) 5
引脚 6 (nSRST) /重启 6 5
引脚 7(未连接) 7
引脚 8 (nTRST) 8
引脚 9 (TDI) 9
引脚10(GND) 0

4.4.11。 高级调试 (AVR JTAG /debugWIRE 设备)
输入输出外设
大多数 I/O 外围设备将继续运行,即使程序执行被断点停止。 前任ample:如果在 UART 传输过程中到达断点,则传输将完成并设置相应的位。 TXC(传输完成)标志将被设置并在代码的下一个步骤中可用,即使它通常会在实际设备中稍后发生。
除了以下两个例外,所有 I/O 模块将继续以停止模式运行:

  • 定时器/计数器(可使用软件前端配置)
  • 看门狗定时器(总是停止以防止在调试期间重置)

单步 I/O 访问
由于 I/O 继续在停止模式下运行,因此应注意避免某些时序问题。 对于前amp乐,代码:
正常运行此代码时,TEMP 寄存器不会读回 0xAA,因为数据在 s 时尚未物理锁存到引脚amp由 IN 操作主导。 NOP 指令必须放在 OUT 和 IN 指令之间,以确保 PIN 寄存器中存在正确的值。
但是,当通过 OCD 单步执行此功能时,此代码将始终在 PIN 寄存器中提供 0xAA,因为即使内核在单步执行期间停止,I/O 也会全速运行。
单步和计时
启用控制信号后,需要在给定的周期数内读取或写入某些寄存器。 由于 I/O 时钟和外设在停止模式下继续全速运行,单步执行此类代码将无法满足时序要求。 在两个单步之间,I/O 时钟可能运行了数百万个周期。 要成功读取或写入具有此类时序要求的寄存器,整个读取或写入序列应作为全速运行设备的原子操作来执行。 这可以通过使用宏或函数调用来执行代码,或者在调试环境中使用run-to-cursor函数来完成
访问 16 位寄存器
Atmel AVR 外围设备通常包含几个可通过 16 位数据总线访问的 8 位寄存器(例如:16 位定时器的 TCNTn)。 16 位寄存器必须使用两次读取或写入操作进行字节访问。 在 16 位访问的中间中断或单步执行这种情况可能会导致错误的值。
限制 I/O 寄存器访问
无法在不影响其内容的情况下读取某些寄存器。 此类寄存器包括那些包含通过读取或缓冲数据寄存器(例如:UDR)清除的标志的寄存器。 当处于停止模式时,软件前端将阻止读取这些寄存器,以保留 OCD 调试的预期非侵入性。 此外,一些寄存器不能在不发生副作用的情况下安全写入——这些寄存器是只读的。 对于前amp乐:

  • 标志寄存器,其中通过向任何寄存器写入“1”来清除标志。这些寄存器是只读的。
  • 在不影响模块状态的情况下,无法读取 UDR 和 SPDR 寄存器。 这些寄存器不是

4.4.12。 megaAVR 特别注意事项
软件断点
由于包含早期版本的 OCD 模块,ATmega128[A] 不支持使用 BREAK 指令进行软件断点。
JTAG 钟
在开始调试会话之前,必须在软件前端准确指定目标时钟频率。 出于同步原因,JTAG TCK 信号必须小于目标时钟频率的四分之一才能可靠调试。 通过 J 编程时TAG 接口,TCK 频率受限于目标设备的最大额定频率,而不是实际使用的时钟频率。
使用内部 RC 振荡器时,请注意频率可能因设备而异,并受温度和 V 的影响CC 变化。 指定目标时钟频率时要保守。
JTAGEN 和 OCDEN 保险丝

JTAG 使用 J 启用接口TAGEN 熔丝,默认编程。 这允许访问 JTAG 编程接口。 通过这种机制,可以对 OCDEN 熔丝进行编程(默认情况下 OCDEN 是未编程的)。 这允许访问 OCD 以便于调试设备。 软件前端将始终确保 OCDEN 熔丝在终止会话时保持未编程状态,从而限制 OCD 模块不必要的功耗。 如果 JTAGEN 保险丝被意外禁用,只能使用 SPI 或 High Vol 重新启用tage 编程方法。
如果 JTAGEN 熔丝被编程,JTAG 仍然可以通过设置 JTD 位在固件中禁用接口。 这将使代码不可调试,并且在尝试调试会话时不应这样做。 如果启动调试会话时此类代码已在 Atmel AVR 设备上执行,则 Atmel-ICE 将在连接时声明 RESET 线。 如果这条线连接正确,它会强制目标 AVR 设备复位,从而允许 JTAG 联系。
如果 JTAG 接口被启用时,JTAG 引脚不能用于替代引脚功能。 他们将保持专注 JTAG 销,直到要么 JTAG 通过在程序代码中设置 JTD 位或清除 J 来禁用接口TAGEN 通过编程接口熔断。

Atmel-ICE 调试器程序员 - 图标 1 提示:
请务必选中编程对话框和调试选项对话框中的“使用外部复位”复选框,以允许 Atmel-ICE 声明 RESET 线并重新启用 JTAG 正在运行禁用 J 的代码的设备上的接口TAG 通过设置 JTD 位接口。
IDR/OCDR 事件
IDR(输入输出数据寄存器)也称为 OCDR(片上调试寄存器),调试器广泛使用它在调试会话期间处于停止模式时向 MCU 读取和写入信息。 当运行模式下的应用程序向被调试AVR器件的OCDR寄存器写入一个字节的数据时,Atmel-ICE读出该值并显示在软件前端的消息窗口中。 OCDR 寄存器每 50 毫秒轮询一次,因此以更高的频率写入它不会产生可靠的结果。 当 AVR 设备在调试过程中断电时,可能会报告虚假的 OCDR 事件。 发生这种情况是因为 Atmel-ICE 可能仍会轮询设备作为目标卷tage 低于 AVR 的最低工作音量tage.
4.4.13。 AVR XMEGA 特别注意事项
强迫症和时钟
当 MCU 进入停止模式时,OCD 时钟用作 MCU 时钟。 OCD 时钟是 JTAG TCK 如果 JTAG 正在使用接口,或者 PDI_CLK(如果正在使用 PDI 接口)。
停止模式下的 I/O 模块
与早期的 Atmel megaAVR 设备相比,在 XMEGA 中,I/O 模块在停止模式下停止。 这意味着 USART 传输将被中断,定时器(和 PWM)将被停止。
硬件断点
有四个硬件断点比较器——两个地址比较器和两个值比较器。 他们有一定的限制:

  • 所有断点必须是同一类型(程序或数据)
  • 所有数据断点必须在同一内存区域(I/O、SRAM 或 XRAM)
  • 如果使用地址范围,则只能有一个断点

以下是可以设置的不同组合:

  • 两个单一的数据或程序地址断点
  • 一个数据或程序地址范围断点
  • 具有单值比较的两个单数据地址断点
  • 一个具有地址范围、值范围或两者的数据断点

Atmel Studio 会告诉您是否无法设置断点,以及原因。 如果软件断点可用,数据断点优先于程序断点。
外部复位和 PDI 物理
PDI 物理接口使用复位线作为时钟。 调试时,复位上拉电阻应为 10k 或更大或被移除。 应移除任何复位电容器。 应断开其他外部复位源。
调试 ATxmegaA1 rev H 及更早版本的睡眠
早期版本的 ATxmegaA1 设备存在一个错误,该错误会阻止在设备处于某些睡眠模式时启用 OCD。 有两种解决方法可以重新启用 OCD:

  • 进入 Atmel-ICE。 工具菜单中的选项并启用“重新编程设备时始终激活外部复位”。
  • 执行芯片擦除

触发此错误的睡眠模式是:

  • 掉电
  • 节能
  • 支持
  • 延长待机

4.4.1.debugWIRE 特别注意事项
debugWIRE 通信引脚 (dW) 在物理上与外部复位 (RESET) 位于同一引脚上。 因此,当启用 debugWIRE 接口时,不支持外部复位源。
为了使 debugWIRE 接口起作用,必须在目标设备上设置 debugWIRE 启用熔丝 (DWEN)。 当 Atmel AVR 设备出厂时,该保险丝默认未编程。 debugWIRE 接口本身不能用于设置此熔丝。 为了设置 DWEN 熔丝,必须使用 SPI 模式。 如果连接了必要的 SPI 引脚,软件前端会自动处理此问题。 它也可以使用 Atmel Studio 编程对话框中的 SPI 编程进行设置。
任何一个: 尝试在 debugWIRE 部分启动调试会话。 如果未启用 debugWIRE 接口,Atmel Studio 将提供重试,或尝试使用 SPI 编程启用 debugWIRE。 如果您连接了完整的 SPI 接头,将启用 debugWIRE,并且系统会要求您切换目标电源。 这是保险丝更改生效所必需的。
或者: 在 SPI 模式下打开编程对话框,并验证签名是否与正确的设备匹配。 检查 DWEN 熔丝以启用 debugWIRE。
Atmel-ICE 调试器程序员 - 图 16 重要的:
重要的是保持 SPIEN 熔丝已编程,而 RSTDISBL 熔丝未编程! 不这样做会使设备卡在 debugWIRE 模式,并且 High Voltag需要进行编程才能恢复 DWEN 设置。
要禁用 debugWIRE 接口,请使用 High Voltage 编程以取消对 DWEN 熔丝的编程。 或者,使用 debugWIRE 接口本身暂时禁用自身,这将允许进行 SPI 编程,前提是设置了 SPIEN 熔丝。
Atmel-ICE 调试器程序员 - 图 16 重要的:
如果 SPIEN 熔丝未被编程,Atmel Studio 将无法完成此操作,并且 High Voltag必须使用电子编程。
在调试会话期间,从“调试”菜单中选择“禁用 debugWIRE 并关闭”菜单选项。 DebugWIRE 将被暂时禁用,Atmel Studio 将使用 SPI 编程来取消对 DWEN 熔丝的编程。

对 DWEN 熔丝进行编程可使时钟系统的某些部分在所有睡眠模式下运行。 这将增加 AVR 在睡眠模式下的功耗。 因此,当不使用 debugWIRE 时,应始终禁用 DWEN 熔丝。
在设计将使用 debugWIRE 的目标应用 PCB 时,必须考虑以下因素才能正确运行:

  • dW/(RESET) 线上的上拉电阻不得小于(大于)10kΩ。 debugWIRE 功能不需要上拉电阻,因为调试器工具提供
  • 使用 debugWIRE 时必须断开连接到 RESET 引脚的任何稳定电容器,因为它们会干扰接口的正确操作
  • 必须断开 RESET 线上的所有外部复位源或其他活动驱动器,因为它们可能会干扰接口的正确操作

切勿在目标设备上编程锁定位。 debugWIRE 接口需要清除锁定位才能正常运行。
4.4.15。 debugWIRE 软件断点
与 Atmel megaAVR (JTAG)强迫症。 这意味着它没有任何程序计数器断点比较器可供用户用于调试目的。 一个这样的比较器确实存在用于运行到光标和单步操作的目的,但硬件不支持额外的用户断点。
相反,调试器必须使用 AVR BREAK 指令。 这条指令可以放在FLASH中,当它被加载执行时会导致AVR CPU进入停止模式。 为了在调试期间支持断点,调试器必须在用户请求断点的位置将 BREAK 指令插入 FLASH。 必须缓存原始指令以供以后替换。
当单步执行 BREAK 指令时,调试器必须执行原始缓存指令以保持程序行为。 在极端情况下,BREAK 必须从 FLASH 中删除并在以后替换。 当从断点单步执行时,所有这些情况都会导致明显的延迟,当目标时钟频率非常低时,这种情况会加剧。
因此,建议尽可能遵守以下准则:

  • 在调试期间始终以尽可能高的频率运行目标。 debugWIRE 物理接口的时钟来自目标时钟。
  • 尽量减少添加和删除断点的数量,因为每个断点都需要在目标上替换一个 FLASH 页面
  • 尝试一次添加或删除少量断点,以尽量减少 FLASH 页面写入操作的次数
  • 如果可能,避免在双字指令上放置断点

4.4.16。 了解 debugWIRE 和 DWEN 保险丝
启用后,debugWIRE 接口控制设备的 /RESET 引脚,这使得它与 SPI 接口互斥,而 SPI 接口也需要此引脚。 启用和禁用 debugWIRE 模块时,请遵循以下两种方法之一:

  • 让 Atmel Studio 来处理事情(推荐)
  • 手动设置和清除 DWEN(谨慎操作,仅限高级用户!)

Atmel-ICE 调试器程序员 - 图 16 重要的: 手动操作 DWEN 时,重要的是 SPIEN 保险丝保持设置以避免必须使用 High-Voltag电子编程
图 4-14。 了解 debugWIRE 和 DWEN 保险丝Atmel-ICE 调试器程序员 - 图 304.4.17.TinyX-OCD (UPDI) 特别注意事项
UPDI 数据引脚 (UPDI_DATA) 可以是专用引脚或共享引脚,具体取决于目标 AVR 设备。 共享 UPDI 引脚可承受 12V 电压,可配置为用作 /RESET 或 GPIO。 有关如何在这些配置中使用引脚的更多详细信息,请参阅 UPDI 物理接口。
在包含 CRCSCAN 模块(循环冗余校验内存扫描)的设备上,调试时不应在连续后台模式下使用该模块。 OCD 模块的硬件断点比较器资源有限,因此当需要更多断点时,甚至在源代码级代码步进期间,可以将 BREAK 指令插入到闪存(软件断点)中。 CRC 模块可能错误地将此断点检测为闪存内容损坏。
CRCSCAN 模块也可以配置为在引导前执行 CRC 扫描。 在 CRC 不匹配的情况下,设备将无法启动,并且看起来处于锁定状态。 使器件从此状态恢复的唯一方法是执行全芯片擦除并编程有效的闪存映像或禁用预引导 CRCSCAN。 (简单的芯片擦除将导致空白闪存和无效的 CRC,因此该部件仍无法启动。)Atmel Studio 将在这种状态下对设备进行芯片擦除时自动禁用 CRCSCAN 保险丝。
在设计将使用 UPDI 接口的目标应用 PCB 时,必须考虑以下因素才能正确运行:

  • UPDI 线上的上拉电阻不得小于(强于)10kΩ。 不应使用下拉电阻,或者在使用 UPDI 时应将其移除。 UPDI 物理是推挽能力的,所以只需要一个弱上拉电阻来防止错误的启动位触发,当线是
  • 如果 UPDI 引脚要用作 RESET 引脚,则在使用 UPDI 时必须断开任何稳压电容,因为它会干扰接口的正确操作
  • 如果 UPDI 引脚用作 RESET 或 GPIO 引脚,则在编程或调试期间必须断开线路上的所有外部驱动器,因为它们可能会干扰接口的正确操作。

硬件描述

5.1.LED灯
Atmel-ICE 顶部面板有三个 LED,指示当前调试或编程会话的状态。Atmel-ICE 调试器程序员 - 图 31

桌子 5-1。 发光二极管

引领 功能

描述

左边 目标功率 目标电源正常时为绿色。 闪烁表示目标电源错误。 在开始编程/调试会话连接之前不会亮起。
中间 主电源 主板电源正常时为红色。
正确的 地位 当目标正在运行/步进时呈绿色闪烁。 目标停止时关闭。

5.2. 后面板
Atmel-ICE 的后面板装有 Micro-B USB 连接器。Atmel-ICE 调试器程序员 - 图 325.3. 底部面板
Atmel-ICE 的底部面板有一个标签,上面显示了序列号和制造日期。 寻求技术支持时,请包括这些详细信息。Atmel-ICE 调试器程序员 - 图 335.4 .架构说明
Atmel-ICE 架构如图 5-1 的方框图所示。
图 5-1。 Atmel-ICE 框图Atmel-ICE 调试器程序员 - 图 345.4.1. Atmel-ICE 主板
电源由 USB 总线提供给 Atmel-ICE,由降压开关模式稳压器调节至 3.3V。 VTG 引脚仅用作参考输入,一个单独的电源为可变电压供电tage 板载电平转换器的一侧。 Atmel-ICE 主板的核心是 Atmel AVR UC3 微控制器 AT32UC3A4256,根据正在处理的任务,它的运行频率在 1MHz 到 60MHz 之间。 微控制器包括一个片上 USB 2.0 高速模块,允许与调试器之间的高数据吞吐量。
Atmel-ICE 和目标设备之间的通信是通过一组电平转换器完成的,这些转换器在目标的工作电压之间转换信号tage 和内部卷tagAtmel-ICE 上的 e 级。 信号路径中还有齐纳过电压tage 保护二极管、串联终端电阻、电感滤波器和 ESD 保护二极管。 所有信号通道都可以在 1.62V 至 5.5V 的范围内运行,尽管 Atmel-ICE 硬件无法驱动出更高的电压tage 大于 5.0V。 最大工作频率因使用的目标接口而异。
5.4.2.Atmel-ICE 目标连接器
Atmel-ICE 没有有源探头。 50 密尔 IDC 电缆用于直接连接到目标应用程序,或通过某些套件中包含的适配器连接到目标应用程序。 有关电缆和适配器的更多信息,请参阅组装 Atmel-ICE 部分
5.4.3. Atmel-ICE 目标连接器部件号
为了将 Atmel-ICE 50-mil IDC 电缆直接连接到目标板,任何标准的 50-mil 10 针接头都应该足够了。 建议使用键控接头以确保在连接到目标时方向正确,例如套件随附的适配器板上使用的接头。
此接头的部件号是:SAMTEC 的 FTSH-105-01-L-DV-KAP

软件整合

6.1. 爱特梅尔工作室
6.1.1.Atmel Studio 中的软件集成
Atmel Studio 是一个集成开发环境 (IDE),用于在 Windows 环境中编写和调试 Atmel AVR 和 Atmel SAM 应用程序。 Atmel Studio 提供了一个项目管理工具,源码 file 用于 C/C++、编程、仿真和片上调试的编辑器、模拟器、汇编器和前端。
Atmel Studio 6.2 或更高版本必须与 Atmel-ICE 一起使用。
6.1.2. 编程选项
Atmel Studio 支持使用 Atmel-ICE 对 Atmel AVR 和 Atmel SAM ARM 设备进行编程。 编程对话框可以配置为使用 JTAG、aWire、SPI、PDI、TPI、SWD模式,根据目标器件选择。
配置时钟频率时,不同的规则适用于不同的接口和目标系列:

  • SPI 编程使用目标时钟。 将时钟频率配置为低于目标设备当前运行频率的四分之一。
  • JTAG Atmel megaAVR 设备上的编程由时钟提供时钟 这意味着编程时钟频率被限制为设备本身的最大工作频率。 (通常为 16MHz。)
  • J 上的 AVR XMEGA 编程TAG PDI 接口由程序员计时。 这意味着编程时钟频率受限于器件的最大工作频率(通常为 32MHz)。
  • J 上的 AVR UC3 编程TAG 接口由程序员计时。 这意味着编程时钟频率受限于设备本身的最大工作频率。 (限于 33MHz。)
  • aWire 接口上的 AVR UC3 编程由目标设备中的 SAB 总线速度提供最佳频率。 Atmel-ICE 调试器将自动调整 aWire 波特率以满足此标准。 尽管通常没有必要,但用户可以根据需要限制最大波特率(例如在嘈杂的环境中)。
  • SWD 接口上的 SAM 设备编程由编程器计时。 Atmel-ICE 支持的最大频率为 2MHz。 该频率不应超过目标 CPU 频率的 10 倍,fSWD ≤ 10fSYSCLK。

6.1.3.调试选项
使用 Atmel Studio 调试 Atmel AVR 设备时,项目属性中的“工具”选项卡 view 包含一些重要的配置选项。 此处详细说明了需要进一步说明的选项。
目标时钟频率
准确设置目标时钟频率对于通过 J 实现 Atmel megaAVR 设备的可靠调试至关重要TAG 界面。 此设置应小于正在调试的应用程序中 AVR 目标设备最低工作频率的四分之一。 有关详细信息,请参阅 megaAVR 特殊注意事项。
debugWIRE 目标设备上的调试会话由目标设备本身计时,因此不需要频率设置。 Atmel-ICE 将在调试会话开始时自动选择正确的通信波特率。 但是,如果您遇到与嘈杂的调试环境相关的可靠性问题,一些工具可以将 debugWIRE 速度强制为其“推荐”设置的一小部分。
AVR XMEGA 目标设备上的调试会话可以达到设备本身的最大速度(通常为 32MHz)。
通过 J 在 AVR UC3 目标设备上调试会话TAG 接口的时钟频率可以达到设备本身的最大速度(限制为 33MHz)。 但是,最佳频率将略低于目标设备上的当前 SAB 时钟。
通过 aWire 接口在 UC3 目标设备上进行的调试会话将由 Atmel-ICE 本身自动调整到最佳波特率。 然而,如果您遇到与嘈杂的调试环境相关的可靠性问题,一些工具提供了将 aWire 速度强制低于可配置限制的可能性。
SAM 目标设备上通过 SWD 接口的调试会话的时钟频率最高可达 CPU 时钟的十倍(但最大限制为 2MHz)
保存EEPROM
选择此选项可避免在调试会话之前对目标重新编程期间擦除 EEPROM。
使用外部复位
如果您的目标应用程序禁用了 JTAG 接口,外部复位必须在编程过程中被拉低。 选择此选项可避免重复询问是否使用外部复位。
6.2 命令行工具
Atmel Studio 附带一个名为 atprogram 的命令行实用程序,可用于使用 Atmel-ICE 对目标进行编程。 在 Atmel Studio 安装期间,一个名为“Atmel Studio 7.0. 命令提示符”是在“开始”菜单上的 Atmel 文件夹中创建的。 双击此快捷方式将打开命令提示符并可以输入编程命令。 命令行实用程序安装在文件夹 Atmel/Atmel Studio 7.0/atbackend/ 中的 Atmel Studio 安装路径中。
要获得有关命令行实用程序的更多帮助,请键入以下命令:
atprogram –帮助

高级调试技术

7.1. Atmel AVR UC3 目标
7.1.1. EVTI / EVTO 用法
Atmel-ICE 上无法访问 EVTI 和 EVTO 引脚。 但是,它们仍然可以与其他外部设备结合使用。
EVTI 可用于以下目的:

  • 可以强制目标停止执行以响应外部事件。 如果 DC 寄存器中的事件控制 (EIC) 位写入 0b01,则 EVTI 引脚上的高到低转换将产生断点条件。 EVTI 必须在一个 CPU 时钟周期内保持低电平以保证断点出现。发生这种情况时,DS 中的外部断点位 (EXB) 被设置。
  • 生成跟踪同步消息。 Atmel-ICE 不使用。 EVTO 可用于以下目的:
  • 指示 CPU 已进入调试模式 当目标设备进入调试模式时,将 DC 中的 EOS 位设置为 0b01 会导致 EVTO 引脚被拉低一个 CPU 时钟周期。 该信号可用作外部示波器的触发源。
  • 指示 CPU 已到达断点或观察点。 通过在相应的断点/观察点控制寄存器中设置 EOC 位,可以在 EVTO 引脚上指示断点或观察点状态。 DC 中的 EOS 位必须设置为 0xb10 才能启用此功能。 然后可以将 EVTO 引脚连接到外部示波器以检查观察点
  • 生成跟踪定时信号。 Atmel-ICE 不使用。

7.2 debugWIRE 目标
7.2.1.debugWIRE软件断点
与 Atmel megaAVR (JTAG)强迫症。 这意味着它没有任何程序计数器断点比较器可供用户用于调试目的。 一个这样的比较器确实存在用于运行到光标和单步操作的目的,但硬件不支持额外的用户断点。
相反,调试器必须使用 AVR BREAK 指令。 这条指令可以放在FLASH中,当它被加载执行时会导致AVR CPU进入停止模式。 为了在调试期间支持断点,调试器必须在用户请求断点的位置将 BREAK 指令插入 FLASH。 必须缓存原始指令以供以后替换。
当单步执行 BREAK 指令时,调试器必须执行原始缓存指令以保持程序行为。 在极端情况下,BREAK 必须从 FLASH 中删除并在以后替换。 当从断点单步执行时,所有这些情况都会导致明显的延迟,当目标时钟频率非常低时,这种情况会加剧。
因此,建议尽可能遵守以下准则:

  • 在调试期间始终以尽可能高的频率运行目标。 debugWIRE 物理接口的时钟来自目标时钟。
  • 尽量减少添加和删除断点的数量,因为每个断点都需要在目标上替换一个 FLASH 页面
  • 尝试一次添加或删除少量断点,以尽量减少 FLASH 页面写入操作的次数
  • 如果可能,避免在双字指令上放置断点

发布历史和已知问题

8.1 .固件发布历史
表 8-1。 公共固件修订

固件版本(十进制) 日期

相关变动

1.36 29.09.2016 添加了对 UPDI 接口的支持(tinyX 设备)
使 USB 端点大小可配置
1.28 27.05.2015 添加了对 SPI 和 USART DGI 接口的支持。
提高了 SWD 速度。 修正了一些小错误。
1.22 03.10.2014 添加了代码分析。
修复了与 J 有关的问题TAG 具有超过 64 个指令位的菊花链。
修复 ARM 重置扩展。 修复了目标电源 LED 问题。
1.13 08.04.2014 JTAG 时钟频率固定。
修复带有长 SUT 的 debugWIRE。
固定振荡器校准命令。
1.09 12.02.2014 首次发布 Atmel-ICE。

8.2 .关于 Atmel-ICE 的已知问题
8.2.1. 一般规定

  • 最初的 Atmel-ICE 批次有一个较弱的 USB 新版本已经用一个新的和更强大的 USB 连接器进行了修改。 作为临时解决方案,环氧树脂胶已应用于第一个版本的已生产单元,以提高机械稳定性。

8.2.2. Atmel AVR XMEGA OCD 特定问题

  • 对于 ATxmegaA1 系列,仅支持版本 G 或更高版本

8.2.1. Atmel AVR – 设备特定问题

  • 在调试会话期间对 ATmega32U6 循环上电可能会导致与设备失去联系

产品合规性

9.1. RoHS 和 WEEE
Atmel-ICE 和所有附件均按照 RoHS 指令 (2002/95/EC) 和 WEEE 指令 (2002/96/EC) 制造。
9.2. CE 和 FCC
Atmel-ICE 单元已根据指令的基本要求和其他相关规定进行了测试:

  • 指令 2004/108/EC(B 类)
  • FCC 第 15 部分 B 子部分
  • 2002/95/EC(RoHS、WEEE)

以下标准用于评估:

  • EN 61000-6-1 (2007)
  • EN 61000-6-3 (2007) + A1(2011)
  • FCC CFR 47 第 15 部分 (2013)

技术建设 File 位于:
已尽一切努力将本产品的电磁辐射降至最低。 但是,在某些情况下,系统(本产品连接到目标应用电路)可能会发射超过上述标准允许的最大值的单个电磁分量频率。 发射的频率和幅度将由几个因素决定,包括使用该产品的目标应用的布局和布线。

修订历史

博士。 牧师

日期

评论

42330C 10/2016 添加了 UPDI 接口并更新了固件发布历史
42330B 03/2016 • 修改了片上调试章节
• 发布历史和已知问题章节中固件发布历史的新格式
• 添加了调试电缆引出线
42330A 06/2014 初始文件发布

爱特梅尔®, Atmel 标志及其组合, Enabling Unlimited Possibilities®, 自动调压器®, 巨型AVR®,STK®, 小AVR®, 超美嘉®和其他是 Atmel Corporation 在美国和其他国家/地区的注册商标或商标。 手臂®, ARM 连接® 标志,皮质®和其他是 ARM Ltd. Windows 的注册商标或商标® 是 Microsoft Corporation 在美国和/或其他国家/地区的注册商标。 其他术语和产品名称可能是其他人的商标。
免责声明:本文档中的信息与 Atmel 产品有关。 本文档或与爱特梅尔产品的销售有关的任何知识产权均未通过禁止反言或其他方式授予任何明示或暗示的许可。 位于 ATMEL 上的销售条款和条件中规定的除外 WEB网站、ATMEL 不承担任何责任,并否认与其产品相关的任何明示、默示或法定保证,包括但不限于适销性、特定用途适用性或非侵权的默示保证。 在任何情况下,ATMEL 均不对因使用或无法使用而引起的任何直接、间接、后果性、惩罚性、特殊或偶然的损害(包括但不限于损益损害、业务中断或信息丢失)承担责任本文件,即使 ATMEL 已被告知
此类损害的可能性。 Atmel 对本文档内容的准确性或完整性不作任何陈述或保证,并保留随时更改规格和产品说明的权利,恕不另行通知。 Atmel 不承诺更新此处包含的信息。 除非另有特别规定,否则 Atmel 产品不适合且不得用于汽车应用。 Atmel 产品无意、无授权或无担保地用作旨在支持或维持生命的应用中的组件。
安全关键、军事和汽车应用免责声明:Atmel 产品并非设计用于且不会用于此类产品故障可合理预期会导致重大人身伤害或死亡的任何应用(“安全关键应用程序”)未经 Atmel 官员的具体书面同意。 安全关键应用包括但不限于生命支持设备和系统、用于运行核设施和武器系统的设备或系统。 除非 Atmel 明​​确指定为军用级产品,否则 Atmel 产品既不设计也不打算用于军事或航空航天应用或环境。 除非 Atmel 明​​确指定为汽车级产品,否则 Atmel 产品既不设计也不打算用于汽车应用。

爱特梅尔标志爱特梅尔公司
1600 Technology Drive, 圣何塞, CA 95110 美国
电话:(+1)(408) 441.0311
女:(+1)(408) 436.4200
www.atmel.com
© 2016 爱特梅尔公司。
版本:Atmel-42330C-Atmel-ICE_User Guide-10/2016
Atmel-ICE 调试器程序员 - 图标 2

文件/资源

Atmel The Atmel-ICE 调试器程序员 [pdf] 用户指南
The Atmel-ICE Debugger Programmers, The Atmel-ICE, Debugger Programmers, 程序员

参考

发表评论

您的电子邮件地址不会被公开。 必填字段已标记 *