logotipo de AtmelProgramadores del depurador ICE
Guía del usuarioLos programadores del depurador Atmel-ICE Programadores y Depuradores
Atmel-ICE
GUÍA DEL USUARIO

El depurador Atmel-ICE

Atmel-ICE es una poderosa herramienta de desarrollo para depurar y programar microcontroladores Atmel ®SAM y Atmel AVR basados ​​en ARM® Cortex®-M con capacidad de depuración en chip ®.
Es compatible con:

  • Programación y depuración en chip de todos los microcontroladores Atmel AVR de 32 bits en ambos JTAG e interfaces aWire
  • Programación y depuración en chip de todos los dispositivos de la familia Atmel AVR XMEGA® en ambos JTAG e interfaces PDI de 2 hilos
  • Programación (JTAG, SPI, UPDI) y depuración de todos los microcontroladores Atmel AVR de 8 bits compatibles con OCD en JTAG, debugWIRE o interfaces UPDI
  • Programación y depuración de todos los microcontroladores basados ​​en Atmel SAM ARM Cortex-M en SWD y JTAG interfaces
  • Programación (TPI) de todos los microcontroladores Atmel tinyAVR® de 8 bits con soporte para esta interfaz

Consulte la lista de dispositivos compatibles en la Guía del usuario de Atmel Studio para obtener una lista completa de dispositivos e interfaces compatibles con esta versión de firmware.

Introducción

1.1. Introducción al Atmel-ICE
Atmel-ICE es una poderosa herramienta de desarrollo para depurar y programar microcontroladores Atmel SAM y Atmel AVR basados ​​en ARM Cortex-M con capacidad de depuración en chip.
Es compatible con:

  • Programación y depuración en chip de todos los microcontroladores Atmel AVR UC3 en ambos JTAG e interfaces aWire
  • Programación y depuración en chip de todos los dispositivos de la familia AVR XMEGA en ambos JTAG e interfaces PDI de 2 hilos
  • Programación (JTAG y SPI) y depuración de todos los microcontroladores AVR de 8 bits con soporte OCD en ambos JTAG o interfaces debugWIRE
  • Programación y depuración de todos los microcontroladores basados ​​en Atmel SAM ARM Cortex-M en SWD y JTAG interfaces
  • Programación (TPI) de todos los microcontroladores Atmel tinyAVR de 8 bits con soporte para esta interfaz

1.2. Características de Atmel-ICE

  • Totalmente compatible con Atmel Studio
  • Admite la programación y depuración de todos los microcontroladores Atmel AVR UC3 de 32 bits
  • Admite la programación y depuración de todos los dispositivos AVR XMEGA de 8 bits
  • Admite la programación y depuración de todos los dispositivos Atmel megaAVR® y tinyAVR de 8 bits con TOC
  • Admite la programación y depuración de todos los microcontroladores basados ​​en SAM ARM Cortex-M
  • Volumen operativo objetivotage rango de 1.62V a 5.5V
  • Toma menos de 3mA del VTref de destino cuando se usa la interfaz debugWIRE y menos de 1mA para todas las demás interfaces
  • Soporta JTAG frecuencias de reloj de 32kHz a 7.5MHz
  • Admite frecuencias de reloj PDI de 32 kHz a 7.5 MHz
  • Admite velocidades de transmisión de debugWIRE de 4 kbit/s a 0.5 Mbit/s
  • Admite velocidades de transmisión de aWire de 7.5 kbit/s a 7 Mbit/s
  • Soporta frecuencias de reloj SPI de 8kHz a 5MHz
  • Admite tasas de baudios UPDI de hasta 750 kbit/s
  • Soporta frecuencias de reloj SWD de 32kHz a 10MHz
  • Interfaz de host USB 2.0 de alta velocidad
  • Captura de trazas en serie ITM a hasta 3 MB/s
  • Admite interfaces DGI SPI y USART cuando no se está depurando o programando
  • Admite J de 10 mil de 50 pinesTAG Conector con patillas AVR y Cortex. El cable de sonda estándar admite cabezales AVR de 6 pines ISP/PDI/TPI de 100 mil, así como cabezales de 10 pines de 50 mil. Hay un adaptador disponible para admitir encabezados de 6 pines de 50 mil, 10 pines de 100 mil y 20 pines de 100 mil. Hay varias opciones de kits disponibles con diferentes cables y adaptadores.

1.3. Requisitos del sistema
La unidad Atmel-ICE requiere que se instale en su computadora un entorno de depuración front-end Atmel Studio versión 6.2 o posterior.
El Atmel-ICE debe conectarse a la computadora host mediante el cable USB proporcionado o un cable Micro-USB certificado.

Primeros pasos con el Atmel-ICE

2.1. Contenido del kit completo
El kit completo de Atmel-ICE contiene estos elementos:

  • Unidad Atmel-ICE
  • Cable USB (1.8 m, alta velocidad, Micro-B)
  • Placa adaptadora que contiene adaptadores AVR de 50 mil, AVR/SAM de 100 mil y SAM de 100 pines de 20 mil
  • Cable plano IDC con conector de 10 mil de 50 pines y conector de 6 mil de 100 pines
  • Mini cable de calamar de 50 pines de 10 mil con 10 conectores de 100 mil

Figura 2-1. Contenido completo del kit Atmel-ICELos programadores del depurador Atmel-ICE - Figura 12.2. Contenido del kit básico
El kit básico Atmel-ICE contiene estos elementos:

  • Unidad Atmel-ICE
  • Cable USB (1.8 m, alta velocidad, Micro-B)
  • Cable plano IDC con conector de 10 mil de 50 pines y conector de 6 mil de 100 pines

Figura 2-2. Contenido del kit básico Atmel-ICELos programadores del depurador Atmel-ICE - Figura 22.3. Contenido del kit de PCBA
El kit Atmel-ICE PCBA contiene estos elementos:

  • Unidad Atmel-ICE sin encapsulación plástica

Figura 2-3. Contenido del kit de PCBA Atmel-ICELos programadores del depurador Atmel-ICE - Figura 32.4. Juegos de piezas de repuesto
Están disponibles los siguientes juegos de repuestos:

  • Juego de adaptadores
  • Kit de cables

Figura 2-4. Contenido del kit del adaptador Atmel-ICELos programadores del depurador Atmel-ICE - Figura 42.5. Equiparseview
Las opciones del kit Atmel-ICE se muestran esquemáticamente aquí:
Figura 2-6. Kit Atmel-ICE terminadoviewLos programadores del depurador Atmel-ICE - Figura 52.6. Montaje del Atmel-ICE
La unidad Atmel-ICE se envía sin cables conectados. Se proporcionan dos opciones de cable en el kit completo:

  • Cable plano IDC de 50 mil y 10 pines con ISP de 6 pines y conectores de 10 pines
  • Cable mini-calamar de 50 pines de 10 mil con 10 conectores de 100 mil

Figura 2-7. Cables Atmel-ICELos programadores del depurador Atmel-ICE - Figura 6Para la mayoría de los propósitos, se puede usar el cable plano IDC de 50 mil y 10 pines, conectándose de forma nativa a sus conectores de 10 o 6 pines, o conectándose a través de la placa adaptadora. Se proporcionan tres adaptadores en una PCBA pequeña. Se incluyen los siguientes adaptadores:

  • J de 100 pines de 10 milésimas de pulgadaTAG/Adaptador SWD
  • SAM J de 100 mil y 20 pinesTAG/Adaptador SWD
  • Adaptador SPI/debugWIRE/PDI/aWire de 50 mil y 6 pines

Figura 2-8. Adaptadores Atmel-ICELos programadores del depurador Atmel-ICE - Figura 7Nota: 
Un J de 50 milTAG no se ha proporcionado el adaptador; esto se debe a que el cable IDC de 50 pines de 10 mil puede usarse para conectarse directamente a un J de 50 milTAG encabezamiento. Para obtener el número de pieza del componente utilizado para el conector de 50 pines de 10 mil, consulte los números de pieza de los conectores de destino Atmel-ICE.
El encabezado ISP/PDI de 6 pines se incluye como parte del cable IDC de 10 pines. Esta terminación se puede cortar si no se requiere.
Para ensamblar su Atmel-ICE en su configuración predeterminada, conecte el cable IDC de 10 pines y 50 mil a la unidad como se muestra a continuación. Asegúrese de orientar el cable de modo que el hilo rojo (clavija 1) del cable se alinee con el indicador triangular de la correa azul de la caja. El cable debe conectarse hacia arriba desde la unidad. Asegúrese de conectarse al puerto correspondiente al pinout de su objetivo: AVR o SAM.
Figura 2-9. Conexión de cable Atmel-ICELos programadores del depurador Atmel-ICE - Figura 8Figura 2-10. Conexión de sonda Atmel-ICE AVR
Los programadores del depurador Atmel-ICE - Figura 9Figura 2-11. Conexión de sonda Atmel-ICE SAMLos programadores del depurador Atmel-ICE - Figura 102.7. Apertura del Atmel-ICE
Nota: 
Para un funcionamiento normal, la unidad Atmel-ICE no debe abrirse. La apertura de la unidad se realiza bajo su propio riesgo.
Se deben tomar precauciones antiestáticas.
La carcasa de Atmel-ICE consta de tres componentes de plástico separados: cubierta superior, cubierta inferior y correa azul, que se unen durante el montaje. Para abrir la unidad, simplemente inserte un destornillador plano grande en las aberturas del cinturón azul, aplique un poco de presión hacia adentro y gírelo suavemente. Repita el proceso en los otros agujeros de pargo y la cubierta superior se abrirá.
Figura 2-12. Apertura del Atmel-ICE (1)
Los programadores del depurador Atmel-ICE - Figura 11Figura 2-13. Apertura del Atmel-ICE (2)
Los programadores del depurador Atmel-ICE - Figura 12Figura 2-14. Apertura del Atmel-ICE(3)Los programadores del depurador Atmel-ICE - Figura 13Para volver a cerrar la unidad, simplemente alinee correctamente las cubiertas superior e inferior y presiónelas con firmeza.
2.8. Alimentando el Atmel-ICE
El Atmel-ICE es alimentado por el bus USB vol.tagmi. Requiere menos de 100 mA para funcionar y, por lo tanto, puede alimentarse a través de un concentrador USB. El LED de alimentación se iluminará cuando la unidad esté enchufada. Cuando no esté conectada en una sesión activa de programación o depuración, la unidad entrará en el modo de bajo consumo de energía para conservar la batería de su computadora. El Atmel-ICE no se puede apagar; debe desenchufarse cuando no esté en uso.
2.9. Conexión a la computadora host
El Atmel-ICE se comunica principalmente mediante una interfaz HID estándar y no requiere un controlador especial en la computadora host. Para usar la funcionalidad avanzada de puerta de enlace de datos de Atmel-ICE, asegúrese de instalar el controlador USB en la computadora host. Esto se hace automáticamente cuando se instala el software frontal proporcionado de forma gratuita por Atmel. Ver www.atmel.com para obtener más información o para descargar el software front-end más reciente.
El Atmel-ICE debe estar conectado a un puerto USB disponible en la computadora host usando el cable USB provisto, o un micro cable USB certificado adecuado. El Atmel-ICE contiene un controlador compatible con USB 2.0 y puede funcionar tanto en modo de velocidad completa como de alta velocidad. Para obtener los mejores resultados, conecte el Atmel-ICE directamente a un concentrador de alta velocidad compatible con USB 2.0 en la computadora host usando el cable provisto.
2.10. Instalación del controlador USB
2.10.1. Ventanas
Al instalar el Atmel-ICE en una computadora con Microsoft® Windows®, el controlador USB se carga cuando se conecta el Atmel-ICE por primera vez.
Nota: 
Asegúrese de instalar los paquetes de software frontales antes de enchufar la unidad por primera vez.
Una vez instalado correctamente, el Atmel-ICE aparecerá en el administrador de dispositivos como un "Dispositivo de interfaz humana".

Conexión del Atmel-ICE

3.1. Conexión a dispositivos de destino AVR y SAM
El Atmel-ICE está equipado con dos conectores J de 50 mil y 10 pines.TAG conectores Ambos conectores están conectados eléctricamente directamente, pero se ajustan a dos pinouts diferentes; el AVR JTAG encabezado y el encabezado de depuración de ARM Cortex. El conector debe seleccionarse en función del pinout de la placa de destino y no del tipo de MCU de destino, por ejemplo.ampUn dispositivo SAM montado en una pila AVR STK® 600 debe usar el encabezado AVR.
Varios cables y adaptadores están disponibles en los diferentes kits Atmel-ICE. Un excesoview de opciones de conexión se muestra.
Figura 3-1. Opciones de conexión Atmel-ICELos programadores del depurador Atmel-ICE - Figura 14El cable rojo marca el pin 1 del conector de 10 mil de 50 pines. El pin 1 del conector de 6 milésimas de pulgada de 100 pines se coloca a la derecha de la codificación cuando se ve el conector desde el cable. El pin 1 de cada conector del adaptador está marcado con un punto blanco. La siguiente figura muestra el pinout del cable de depuración. El conector marcado con A se enchufa en el depurador mientras que el lado B se enchufa en la placa de destino.
Figura 3-2. Asignación de pines del cable de depuración
Los programadores del depurador Atmel-ICE - Figura 153.2. Conexión a una JTAG Objetivo
El Atmel-ICE está equipado con dos conectores J de 50 mil y 10 pines.TAG conectores Ambos conectores están conectados eléctricamente directamente, pero se ajustan a dos pinouts diferentes; el AVR JTAG encabezado y el encabezado de depuración de ARM Cortex. El conector debe seleccionarse en función del pinout de la placa de destino y no del tipo de MCU de destino, por ejemplo.ampUn dispositivo SAM montado en una pila AVR STK600 debe usar el encabezado AVR.
El pinout recomendado para el AVR J de 10 pinesTAG El conector se muestra en la Figura 4-6. La distribución de pines recomendada para el conector de depuración ARM Cortex de 10 pines se muestra en la Figura 4-2.
Conexión directa a un cabezal estándar de 10 pines y 50 mil
Utilice el cable plano de 50 pines de 10 mil (incluido en algunos kits) para conectarse directamente a una placa compatible con este tipo de encabezado. Utilice el puerto del conector AVR en el Atmel-ICE para los encabezados con el pinout AVR y el puerto del conector SAM para los encabezados que cumplan con el pinout del encabezado ARM Cortex Debug.
A continuación se muestran los pinouts para ambos puertos de conector de 10 pines.
Conexión a un cabezal estándar de 10 pines y 100 mil 
Utilice un adaptador estándar de 50 mil a 100 mil para conectarse a cabezales de 100 mil. Se puede utilizar una placa adaptadora (incluida en algunos kits) para este propósito, o alternativamente el JTAGEl adaptador ICE3 se puede utilizar para objetivos AVR.
Los programadores del depurador Atmel-ICE - Figura 16 Importante: 
La jTAGEl adaptador ICE3 de 100 mil no se puede usar con el puerto del conector SAM, ya que los pines 2 y 10 (AVR GND) del adaptador están conectados.
Conexión a un encabezado personalizado de 100 mil
Si su placa de destino no tiene un J compatible de 10 pinesTAG encabezado en 50 o 100 mil, puede asignar a un pinout personalizado utilizando el cable "mini-calamar" de 10 pines (incluido en algunos kits), que da acceso a diez enchufes individuales de 100 mil.
Conexión a un cabezal de 20 pines y 100 milr
Utilice la placa adaptadora (incluida en algunos kits) para conectarse a objetivos con un cabezal de 20 pines y 100 milésimas de pulgada.
Tabla 3-1. Atmel-ICE JTAG Descripción del pin

Nombre AVR pasador de puerto SAM pasador de puerto Descripción
TCC 1 4 Reloj de prueba (señal de reloj del Atmel-ICE al dispositivo de destino).
EMT 5 2 Selección del modo de prueba (señal de control del Atmel-ICE al dispositivo de destino).
TDI 9 8 Entrada de datos de prueba (datos transmitidos desde el Atmel-ICE al dispositivo de destino).
TDO 3 6 Test Data Out (datos transmitidos desde el dispositivo de destino al Atmel-ICE).
nTRST 8 Restablecimiento de prueba (opcional, solo en algunos dispositivos AVR). Se utiliza para restablecer la JTAG Controlador TAP.
nSRST 6 10 Restablecer (opcional). Se utiliza para restablecer el dispositivo de destino. Se recomienda conectar este pin, ya que permite que Atmel-ICE mantenga el dispositivo de destino en un estado de reinicio, lo que puede ser esencial para la depuración en ciertos escenarios.
VTG 4 1 Volumen objetivotage referencia. El Atmel-ICEamples el objetivo voltage en este pin para alimentar correctamente los convertidores de nivel. El Atmel-ICE extrae menos de 3 mA de este pin en modo debugWIRE y menos de 1 mA en otros modos.
Tierra 2, 10 3, 5, 9 Suelo. Todos deben estar conectados para garantizar que el Atmel-ICE y el dispositivo de destino compartan la misma referencia de tierra.

3.3. Conexión a un objetivo aWire
La interfaz aWire requiere solo una línea de datos además de VCC y GND. En el objetivo, esta línea es la línea nRESET, aunque el depurador usa la JTAG Línea TDO como línea de datos.
La distribución de pines recomendada para el conector aWire de 6 pines se muestra en la Figura 4-8.
Conexión a un cabezal aWire de 6 mil y 100 pines
Use la derivación de 6 mil de 100 pines en el cable plano (incluido en algunos kits) para conectar a un cabezal aWire estándar de 100 mil.
Conexión a un cabezal aWire de 6 mil y 50 pines
Utilice la placa adaptadora (incluida en algunos kits) para conectarse a un cabezal aWire estándar de 50 mil.
Conexión a un encabezado personalizado de 100 mil
El cable mini-calamar de 10 pines debe usarse para conectar entre el puerto del conector Atmel-ICE AVR y la placa de destino. Se requieren tres conexiones, como se describe en la siguiente tabla.
Tabla 3-2. Asignación de pines Atmel-ICE aWire

Pines del puerto Atmel-ICE AVR

Pines de destino Alfiler de mini calamares

Asignación de pines de aWire

Clavija 1 (TCK) 1
Pin 2 (GND) Tierra 2 6
Clavija 3 (TDO) DATOS 3 1
Clavija 4 (VTG) VTG 4 2
Patilla 5 (TMS) 5
Clavija 6 (nSRST) 6
Pin 7 (no conectado) 7
Patilla 8 (nTRST) 8
Patilla 9 (TDI) 9
Pin 10 (GND) 0

3.4. Conexión a un objetivo PDI
La distribución de pines recomendada para el conector PDI de 6 pines se muestra en la Figura 4-11.
Conexión a un encabezado PDI de 6 mil de 100 pines
Utilice la derivación de 6 mil de 100 pines en el cable plano (incluido en algunos kits) para conectar a un cabezal PDI estándar de 100 mil.
Conexión a un encabezado PDI de 6 mil de 50 pines
Utilice la placa adaptadora (incluida en algunos kits) para conectarse a un cabezal PDI estándar de 50 mil.
Conexión a un encabezado personalizado de 100 mil
El cable mini-calamar de 10 pines debe usarse para conectar entre el puerto del conector Atmel-ICE AVR y la placa de destino. Se requieren cuatro conexiones, como se describe en la siguiente tabla.
Los programadores del depurador Atmel-ICE - Figura 16 Importante: 
El pinout requerido es diferente del JTAGHIELO mkII JTAG sonda, donde PDI_DATA está conectado al pin 9. El Atmel-ICE es compatible con el pinout utilizado por el Atmel-ICE, JTAGProductos ICE3, AVR ONE! y AVR Dragon™.
Tabla 3-3. Asignación de pines Atmel-ICE PDI

Pines del puerto Atmel-ICE AVR Pines de destino Alfiler de mini calamares

Asignación de pines de aWire

Clavija 1 (TCK) 1
Pin 2 (GND) Tierra 2 6
Clavija 3 (TDO) DATOS 3 1
Clavija 4 (VTG) VTG 4 2
Patilla 5 (TMS) 5
Clavija 6 (nSRST) 6
Pin 7 (no conectado) 7
Patilla 8 (nTRST) 8
Patilla 9 (TDI) 9
Pin 10 (GND) 0

3.4 Conexión a un objetivo PDI
La distribución de pines recomendada para el conector PDI de 6 pines se muestra en la Figura 4-11.
Conexión a un encabezado PDI de 6 mil de 100 pines
Utilice la derivación de 6 mil de 100 pines en el cable plano (incluido en algunos kits) para conectar a un cabezal PDI estándar de 100 mil.
Conexión a un encabezado PDI de 6 mil de 50 pines
Utilice la placa adaptadora (incluida en algunos kits) para conectarse a un cabezal PDI estándar de 50 mil.
Conexión a un encabezado personalizado de 100 mil
El cable mini-calamar de 10 pines debe usarse para conectar entre el puerto del conector Atmel-ICE AVR y la placa de destino. Se requieren cuatro conexiones, como se describe en la siguiente tabla.
Los programadores del depurador Atmel-ICE - Figura 16 Importante:
El pinout requerido es diferente del JTAGHIELO mkII JTAG sonda, donde PDI_DATA está conectado al pin 9. El Atmel-ICE es compatible con el pinout utilizado por el Atmel-ICE, JTAGICE3, AVR ONE! y AVR Dragón productos.
Tabla 3-3. Asignación de pines Atmel-ICE PDI

Pin del puerto Atmel-ICE AVR Pines de destino Alfiler de mini calamares Asignación de pines Atmel STK600 PDI
Clavija 1 (TCK) 1
Pin 2 (GND) Tierra 2 6
Clavija 3 (TDO) PDI_DATOS 3 1
Clavija 4 (VTG) VTG 4 2
Patilla 5 (TMS) 5
Clavija 6 (nSRST) PDI_CLK 6 5
Pin 7 (no conectado) 7
Patilla 8 (nTRST) 8
Patilla 9 (TDI) 9
Pin 10 (GND) 0

3.5 Conexión a un objetivo UPDI
La distribución de pines recomendada para el conector UPDI de 6 pines se muestra en la Figura 4-12.
Conexión a un encabezado UPDI de 6 mil de 100 pines
Use la derivación de 6 mil de 100 pines en el cable plano (incluido en algunos kits) para conectar a un cabezal UPDI estándar de 100 mil.
Conexión a un encabezado UPDI de 6 mil de 50 pines
Utilice la placa adaptadora (incluida en algunos kits) para conectarse a un encabezado UPDI estándar de 50 mil.
Conexión a un encabezado personalizado de 100 mil
El cable mini-calamar de 10 pines debe usarse para conectar entre el puerto del conector Atmel-ICE AVR y la placa de destino. Se requieren tres conexiones, como se describe en la siguiente tabla.
Tabla 3-4. Asignación de pines UPDI Atmel-ICE

Pin del puerto Atmel-ICE AVR Pines de destino Alfiler de mini calamares

Asignación de pines Atmel STK600 UPDI

Clavija 1 (TCK) 1
Pin 2 (GND) Tierra 2 6
Clavija 3 (TDO) UPDI_DATOS 3 1
Clavija 4 (VTG) VTG 4 2
Patilla 5 (TMS) 5
Clavija 6 (nSRST) [/RESET sentido] 6 5
Pin 7 (no conectado) 7
Patilla 8 (nTRST) 8
Patilla 9 (TDI) 9
Pin 10 (GND) 0

3.6 Conexión a un destino debugWIRE
La distribución de pines recomendada para el conector debugWIRE (SPI) de 6 pines se muestra en la Tabla 3-6.
Conexión a un encabezado SPI de 6 mil de 100 pines
Use la derivación de 6 mil de 100 pines en el cable plano (incluido en algunos kits) para conectar a un cabezal SPI estándar de 100 mil.
Conexión a un encabezado SPI de 6 mil de 50 pines
Utilice la placa adaptadora (incluida en algunos kits) para conectarse a un encabezado SPI estándar de 50 mil.
Conexión a un encabezado personalizado de 100 mil
El cable mini-calamar de 10 pines debe usarse para conectar entre el puerto del conector Atmel-ICE AVR y la placa de destino. Se requieren tres conexiones, como se describe en la Tabla 3-5.
Aunque la interfaz debugWIRE solo requiere una línea de señal (RESET), VCC y GND para operar correctamente, se recomienda tener acceso al conector SPI completo para que la interfaz debugWIRE se pueda habilitar y deshabilitar mediante la programación SPI.
Cuando el fusible DWEN está habilitado, la interfaz SPI se anula internamente para que el módulo OCD tenga control sobre el pin RESET. El debugWIRE OCD es capaz de deshabilitarse temporalmente (usando el botón en la pestaña de depuración en el cuadro de diálogo de propiedades en Atmel Studio), liberando así el control de la línea RESET. La interfaz SPI vuelve a estar disponible (solo si el fusible SPIEN está programado), lo que permite desprogramar el fusible DWEN utilizando la interfaz SPI. Si se cambia la alimentación antes de que se desprograme el fusible DWEN, el módulo debugWIRE volverá a tomar el control del pin RESET.
Nota:
Se recomienda enfáticamente dejar que Atmel Studio se encargue de configurar y borrar el fusible DWEN.
No es posible usar la interfaz debugWIRE si los bits de bloqueo en el dispositivo AVR de destino están programados. Siempre asegúrese de que los bits de bloqueo estén borrados antes de programar el fusible DWEN y nunca establezca los bits de bloqueo mientras el fusible DWEN está programado. Si tanto el fusible de habilitación de debugWIRE (DWEN) como los bits de bloqueo están configurados, se puede usar High Voltage Programación para hacer un borrado de chip, y así borrar los lockbits.
Cuando se borren los bits de bloqueo, se volverá a habilitar la interfaz debugWIRE. La interfaz SPI solo es capaz de leer fusibles, leer la firma y realizar un borrado de chip cuando el fusible DWEN no está programado.
Tabla 3-5. Asignación de pines Atmel-ICE debugWIRE

Pin del puerto Atmel-ICE AVR Pines de destino

Alfiler de mini calamares

Clavija 1 (TCK) 1
Pin 2 (GND) Tierra 2
Clavija 3 (TDO) 3
Clavija 4 (VTG) VTG 4
Patilla 5 (TMS) 5
Clavija 6 (nSRST) REINICIAR 6
Pin 7 (no conectado) 7
Patilla 8 (nTRST) 8
Patilla 9 (TDI) 9
Pin 10 (GND) 0

3.7 Conexión a un objetivo SPI
La distribución de pines recomendada para el conector SPI de 6 pines se muestra en la Figura 4-10.
Conexión a un encabezado SPI de 6 mil de 100 pines
Use la derivación de 6 mil de 100 pines en el cable plano (incluido en algunos kits) para conectar a un cabezal SPI estándar de 100 mil.
Conexión a un encabezado SPI de 6 mil de 50 pines
Utilice la placa adaptadora (incluida en algunos kits) para conectarse a un encabezado SPI estándar de 50 mil.
Conexión a un encabezado personalizado de 100 mil
El cable mini-calamar de 10 pines debe usarse para conectar entre el puerto del conector Atmel-ICE AVR y la placa de destino. Se requieren seis conexiones, como se describe en la siguiente tabla.
Los programadores del depurador Atmel-ICE - Figura 16 Importante:
La interfaz SPI se desactiva efectivamente cuando se programa el fusible de habilitación de debugWIRE (DWEN), incluso si el fusible SPIEN también está programado. Para volver a habilitar la interfaz SPI, se debe ejecutar el comando 'disable debugWIRE' durante una sesión de depuración de debugWIRE. Deshabilitar debugWIRE de esta manera requiere que el fusible SPIEN ya esté programado. Si Atmel Studio no puede desactivar debugWIRE, es probable que el fusible SPIEN NO esté programado. Si este es el caso, es necesario utilizar un alto vol.tage interfaz de programación para programar el fusible SPIEN.
Los programadores del depurador Atmel-ICE - icono Información:
La interfaz SPI a menudo se denomina "ISP", ya que fue la primera interfaz de programación en el sistema en los productos Atmel AVR. Ahora hay otras interfaces disponibles para la programación del sistema.
Tabla 3-6. Asignación de pines Atmel-ICE SPI

Pines del puerto Atmel-ICE AVR Pines de destino Alfiler de mini calamares

Asignación de pines SPI

Clavija 1 (TCK) SCK 1 3
Pin 2 (GND) Tierra 2 6
Clavija 3 (TDO) MISO 3 1
Clavija 4 (VTG) VTG 4 2
Patilla 5 (TMS) 5
Clavija 6 (nSRST) / REINICIAR 6 5
Pin 7 (no conectado) 7
Patilla 8 (nTRST) 8
Patilla 9 (TDI) MOSI 9 4
Pin 10 (GND) 0

3.8 Conexión a un objetivo TPI
La distribución de pines recomendada para el conector TPI de 6 pines se muestra en la Figura 4-13.
Conexión a un encabezado TPI de 6 mil de 100 pines
Use la toma de 6 mil de 100 pines en el cable plano (incluido en algunos kits) para conectar a un cabezal TPI estándar de 100 mil.
Conexión a un encabezado TPI de 6 mil de 50 pines
Utilice la placa adaptadora (incluida en algunos kits) para conectarse a un encabezado TPI estándar de 50 mil.
Conexión a un encabezado personalizado de 100 mil
El cable mini-calamar de 10 pines debe usarse para conectar entre el puerto del conector Atmel-ICE AVR y la placa de destino. Se requieren seis conexiones, como se describe en la siguiente tabla.
Tabla 3-7. Asignación de pines TPI Atmel-ICE

Pines del puerto Atmel-ICE AVR Pines de destino Alfiler de mini calamares

asignación de pines TPI

Clavija 1 (TCK) RELOJ 1 3
Pin 2 (GND) Tierra 2 6
Clavija 3 (TDO) DATOS 3 1
Clavija 4 (VTG) VTG 4 2
Patilla 5 (TMS) 5
Clavija 6 (nSRST) / REINICIAR 6 5
Pin 7 (no conectado) 7
Patilla 8 (nTRST) 8
Patilla 9 (TDI) 9
Pin 10 (GND) 0

3.9 Conexión a un objetivo SWD
La interfaz ARM SWD es un subconjunto de la JTAG interfaz, haciendo uso de los pines TCK y TMS, lo que significa que cuando se conecta a un dispositivo SWD, el J de 10 pinesTAG técnicamente se puede utilizar el conector. El BRAZO JTAG y AVR JTAG Sin embargo, los conectores no son compatibles con los pines, por lo que esto depende del diseño de la placa de destino en uso. Cuando utilice un STK600 o una placa que utilice el AVR JTAG distribución de pines, se debe usar el puerto del conector AVR en el Atmel-ICE. Cuando se conecta a una placa, que hace uso del ARM JTAG distribución de pines, se debe usar el puerto del conector SAM en el Atmel-ICE.
La distribución de pines recomendada para el conector de depuración Cortex de 10 pines se muestra en la Figura 4-4.
Conexión a un encabezado Cortex de 10 mil y 50 pines
Utilice el cable plano (incluido en algunos kits) para conectar a un cabezal Cortex estándar de 50 mil.
Conexión a un encabezado de diseño Cortex de 10 pines y 100 mil
Use la placa adaptadora (incluida en algunos kits) para conectarse a un encabezado de salida de pines Cortex de 100 mil.
Conexión a un cabezal SAM de 20 pines y 100 mil
Utilice la placa adaptadora (incluida en algunos kits) para conectarse a un cabezal SAM de 20 pines y 100 milésimas de pulgada.
Conexión a un encabezado personalizado de 100 mil
El cable mini-calamar de 10 pines debe usarse para conectar entre el puerto del conector Atmel-ICE AVR o SAM y la placa de destino. Se requieren seis conexiones, como se describe en la siguiente tabla.
Tabla 3-8. Asignación de pines Atmel-ICE SWD

Nombre AVR  pasador de puerto SAM pasador de puerto Descripción
LK SWDC 1 4 Reloj de depuración de cable serie.
SWDIO 5 2 Entrada/salida de datos de depuración de cable serie.
SWO 3 6 Salida de cable serial (opcional, no implementada en todos los dispositivos).
nSRST 6 10 Reiniciar.
VTG 4 1 Volumen objetivotage referencia.
Tierra 2, 10 3, 5, 9 Suelo.

3.10 Conexión a la interfaz de puerta de enlace de datos
El Atmel-ICE admite una interfaz de puerta de enlace de datos (DGI) limitada cuando no se utiliza la depuración y la programación. La funcionalidad es idéntica a la que se encuentra en los kits Atmel Xplained Pro alimentados por el dispositivo Atmel EDBG.
La interfaz de puerta de enlace de datos es una interfaz para transmitir datos desde el dispositivo de destino a una computadora. Esto pretende ser una ayuda en la depuración de aplicaciones, así como para la demostración de funciones en la aplicación que se ejecuta en el dispositivo de destino.
DGI consta de múltiples canales para la transmisión de datos. El Atmel-ICE admite los siguientes modos:

  • USART
  • Inspección de la inducción

Tabla 3-9. Configuración de pines Atmel-ICE DGI USART

puerto AVR

Puerto SAM Pin DGI USART

Descripción

3 6 TX Transmita el pin de Atmel-ICE al dispositivo de destino
4 1 VTG Volumen objetivotage (referencia voltage)
8 7 RX Reciba el pin del dispositivo de destino a Atmel-ICE
9 8 Clic Reloj USART
2, 10 3, 5, 9 Tierra Suelo

Tabla 3-10. Distribución de pines Atmel-ICE DGI SPI

puerto AVR

Puerto SAM Pasador DGI SPI

Descripción

1 4 SCK Reloj SPI
3 6 MISO Maestro en esclavo fuera
4 1 VTG Volumen objetivotage (referencia voltage)
5 2 ncs Seleccionar chip activo bajo
9 8 MOSI Maestro hacia fuera Esclavo hacia adentro
2, 10 3, 5, 9 Tierra Suelo

Los programadores del depurador Atmel-ICE - Figura 16 Importante:  Las interfaces SPI y USART no se pueden usar simultáneamente.
Los programadores del depurador Atmel-ICE - Figura 16 Importante:  DGI y programación o depuración no se pueden usar simultáneamente.

Depuración en chip

4.1 Introducción
Depuración en chip
Un módulo de depuración en chip es un sistema que permite a un desarrollador monitorear y controlar la ejecución en un dispositivo desde una plataforma de desarrollo externa, generalmente a través de un dispositivo conocido como depurador o adaptador de depuración.
Con un sistema OCD, la aplicación se puede ejecutar manteniendo las características eléctricas y de tiempo exactas en el sistema de destino, al tiempo que se puede detener la ejecución de forma condicional o manual e inspeccionar el flujo y la memoria del programa.
Modo de ejecución
Cuando está en modo Run, la ejecución del código es completamente independiente del Atmel-ICE. El Atmel-ICE monitoreará continuamente el dispositivo de destino para ver si se ha producido una condición de ruptura. Cuando esto sucede, el sistema OCD interrogará al dispositivo a través de su interfaz de depuración, lo que permitirá al usuario view el estado interno del dispositivo.
Modo detenido
Cuando se alcanza un punto de interrupción, la ejecución del programa se detiene, pero algunas E/S pueden continuar ejecutándose como si no se hubiera producido ningún punto de interrupción. por ejemploampes decir, suponga que se acaba de iniciar una transmisión USART cuando se alcanza un punto de interrupción. En este caso, el USART continúa funcionando a toda velocidad completando la transmisión, aunque el núcleo esté en modo detenido.
Puntos de interrupción de hardware
El módulo OCD de destino contiene una serie de comparadores de contadores de programas implementados en el hardware. Cuando el contador del programa coincide con el valor almacenado en uno de los registros del comparador, el OCD entra en modo detenido. Dado que los puntos de interrupción de hardware requieren hardware dedicado en el módulo OCD, la cantidad de puntos de interrupción disponibles depende del tamaño del módulo OCD implementado en el objetivo. Por lo general, el depurador "reserva" uno de estos comparadores de hardware para uso interno.
Puntos de interrupción de software
Un punto de interrupción de software es una instrucción BREAK colocada en la memoria del programa en el dispositivo de destino. Cuando se carga esta instrucción, la ejecución del programa se interrumpirá y el OCD entrará en modo detenido. Para continuar con la ejecución, se debe dar un comando de "inicio" desde el OCD. No todos los dispositivos Atmel tienen módulos OCD compatibles con la instrucción BREAK.
4.2 Dispositivos SAM con JTAG/SWD
Todos los dispositivos SAM cuentan con la interfaz SWD para programación y depuración. Además, algunos dispositivos SAM cuentan con una JTAG interfaz con idéntica funcionalidad. Consulte la hoja de datos del dispositivo para conocer las interfaces compatibles de ese dispositivo.
4.2.1.Componentes ARM CoreSight
Los microcontroladores basados ​​en Atmel ARM Cortex-M implementan componentes OCD compatibles con CoreSight. Las características de estos componentes pueden variar de un dispositivo a otro. Para obtener más información, consulte la hoja de datos del dispositivo, así como la documentación de CoreSight proporcionada por ARM.
4.2.1.JTAG Interfaz física
La jTAG La interfaz consta de un controlador de puerto de acceso de prueba (TAP) de 4 hilos que cumple con IEEE® 1149.1 estándar. El estándar IEEE se desarrolló para proporcionar una forma estándar de la industria para probar de manera eficiente la conectividad de la placa de circuito (Boundary Scan). Los dispositivos Atmel AVR y SAM han ampliado esta funcionalidad para incluir soporte completo de programación y depuración en chip.
Figura 4-1. jTAG Conceptos básicos de la interfazLos programadores del depurador Atmel-ICE - Figura 25

4.2.2.1 SAMJTAG Asignación de pines (conector de depuración Cortex-M)
Al diseñar una PCB de aplicación que incluye un Atmel SAM con JTAG interfaz, se recomienda utilizar el pinout como se muestra en la figura a continuación. Se admiten las variantes de 100 mil y 50 mil de este patillaje, según el cableado y los adaptadores incluidos con el kit en particular.
Figura 4-2. sam jTAG Asignación de pines de cabecera
Los programadores del depurador Atmel-ICE - Figura 20

Tabla 4-1. sam jTAG Descripción del pin

Nombre Alfiler

Descripción

TCC 4 Reloj de prueba (señal de reloj del Atmel-ICE al dispositivo de destino).
EMT 2 Selección del modo de prueba (señal de control del Atmel-ICE al dispositivo de destino).
TDI 8 Entrada de datos de prueba (datos transmitidos desde el Atmel-ICE al dispositivo de destino).
TDO 6 Test Data Out (datos transmitidos desde el dispositivo de destino al Atmel-ICE).
nRESETABLECER 10 Restablecer (opcional). Se utiliza para restablecer el dispositivo de destino. Se recomienda conectar este pin, ya que permite que Atmel-ICE mantenga el dispositivo de destino en un estado de reinicio, lo que puede ser esencial para la depuración en ciertos escenarios.
VTG 1 Volumen objetivotage referencia. El Atmel-ICEamples el objetivo voltage en este pin para alimentar correctamente los convertidores de nivel. El Atmel-ICE consume menos de 1 mA de este pin en este modo.
Tierra 3, 5, 9 Suelo. Todos deben estar conectados para garantizar que el Atmel-ICE y el dispositivo de destino compartan la misma referencia de tierra.
LLAVE 7 Conectado internamente al pin TRST en el conector AVR. Recomendado como no conectado.

Los programadores del depurador Atmel-ICE - icono 1 Consejo: Recuerde incluir un condensador de desacoplamiento entre el pin 1 y GND.
4.2.2.2 JTAG Margarita Encadenamiento
La jTAG La interfaz permite que varios dispositivos se conecten a una sola interfaz en una configuración en cadena. Todos los dispositivos de destino deben estar alimentados por el mismo volumen de suministro.tage, comparten un nodo de tierra común y deben conectarse como se muestra en la figura a continuación.
Figura 4-3. jTAG Cadena de margaritasLos programadores del depurador Atmel-ICE - Figura 23

Al conectar dispositivos en cadena, se deben considerar los siguientes puntos:

  • Todos los dispositivos deben compartir una tierra común, conectada a GND en la sonda Atmel-ICE
  • Todos los dispositivos deben estar funcionando con el mismo volumen objetivo.tagmi. VTG en Atmel-ICE debe estar conectado a este vol.tage.
  • TMS y TCK están conectados en paralelo; TDI y TDO están conectados en serie
  • nSRST en la sonda Atmel-ICE debe conectarse a RESET en los dispositivos si alguno de los dispositivos en la cadena desactiva su JTAG puerto
  • "Dispositivos antes" se refiere al número de JTAG dispositivos por los que la señal TDI tiene que pasar en la conexión en cadena antes de llegar al dispositivo de destino. De manera similar, "dispositivos después" es la cantidad de dispositivos por los que la señal tiene que pasar después del dispositivo de destino antes de llegar al Atmel-ICE TDO.
  • Los bits de instrucción "antes" y "después" se refieren a la suma total de todos los JTAG longitudes de registro de instrucciones de los dispositivos, que se conectan antes y después del dispositivo de destino en la cadena de margarita
  • La longitud total de IR (bits de instrucción anteriores + longitud IR del dispositivo de destino Atmel + bits de instrucción posteriores) está limitada a un máximo de 256 bits. El número de dispositivos en la cadena está limitado a 15 antes y 15 después.

Los programadores del depurador Atmel-ICE - icono 1 Consejo:
Daisy encadenando exampejemplo: TDI → ATmega1280 → ATxmega128A1 → ATUC3A0512 → TDO.
Para conectarse al Atmel AVR XMEGA® dispositivo, la configuración de la conexión en cadena es:

  • Dispositivos antes: 1
  • Dispositivos después: 1
  • Bits de instrucción anteriores: 4 (los dispositivos AVR de 8 bits tienen 4 bits IR)
  • Bits de instrucción después de: 5 (los dispositivos AVR de 32 bits tienen 5 bits IR)

Tabla 4-2. Longitudes IR de MCU Atmel

Tipo de dispositivo longitud de infrarrojos
AVR de 8 bits 4 bits
AVR de 32 bits 5 bits
SAM 4 bits

4.2.3. Conexión a una JTAG Objetivo
El Atmel-ICE está equipado con dos conectores J de 50 mil y 10 pines.TAG conectores Ambos conectores están conectados eléctricamente directamente, pero se ajustan a dos pinouts diferentes; el AVR JTAG encabezado y el encabezado de depuración de ARM Cortex. El conector debe seleccionarse en función del pinout de la placa de destino y no del tipo de MCU de destino, por ejemplo.ampUn dispositivo SAM montado en una pila AVR STK600 debe usar el encabezado AVR.
El pinout recomendado para el AVR J de 10 pinesTAG El conector se muestra en la Figura 4-6.
La distribución de pines recomendada para el conector de depuración ARM Cortex de 10 pines se muestra en la Figura 4-2.
Conexión directa a un cabezal estándar de 10 pines y 50 mil
Utilice el cable plano de 50 pines de 10 mil (incluido en algunos kits) para conectarse directamente a una placa compatible con este tipo de encabezado. Utilice el puerto del conector AVR en el Atmel-ICE para los encabezados con el pinout AVR y el puerto del conector SAM para los encabezados que cumplan con el pinout del encabezado ARM Cortex Debug.
A continuación se muestran los pinouts para ambos puertos de conector de 10 pines.
Conexión a un cabezal estándar de 10 pines y 100 mil
Utilice un adaptador estándar de 50 mil a 100 mil para conectarse a cabezales de 100 mil. Se puede utilizar una placa adaptadora (incluida en algunos kits) para este propósito, o alternativamente el JTAGEl adaptador ICE3 se puede utilizar para objetivos AVR.
Los programadores del depurador Atmel-ICE - Figura 16 Importante:
La jTAGEl adaptador ICE3 de 100 mil no se puede usar con el puerto del conector SAM, ya que los pines 2 y 10 (AVR GND) del adaptador están conectados.
Conexión a un encabezado personalizado de 100 mil
Si su placa de destino no tiene un J compatible de 10 pinesTAG encabezado en 50 o 100 mil, puede asignar a un pinout personalizado utilizando el cable "mini-calamar" de 10 pines (incluido en algunos kits), que da acceso a diez enchufes individuales de 100 mil.
Conexión a un cabezal de 20 mil de 100 pines
Utilice la placa adaptadora (incluida en algunos kits) para conectarse a objetivos con un cabezal de 20 pines y 100 milésimas de pulgada.
Tabla 4-3. Atmel-ICE JTAG Descripción del pin

Nombre AVR pasador de puerto SAM pasador de puerto Descripción
TCC 1 4 Reloj de prueba (señal de reloj del Atmel-ICE al dispositivo de destino).
EMT 5 2 Selección del modo de prueba (señal de control del Atmel-ICE al dispositivo de destino).
TDI 9 8 Entrada de datos de prueba (datos transmitidos desde el Atmel-ICE al dispositivo de destino).
TDO 3 6 Test Data Out (datos transmitidos desde el dispositivo de destino al Atmel-ICE).
nTRST 8 Restablecimiento de prueba (opcional, solo en algunos dispositivos AVR). Se utiliza para restablecer la JTAG Controlador TAP.
nSRST 6 10 Restablecer (opcional). Se utiliza para restablecer el dispositivo de destino. Se recomienda conectar este pin, ya que permite que Atmel-ICE mantenga el dispositivo de destino en un estado de reinicio, lo que puede ser esencial para la depuración en ciertos escenarios.
VTG 4 1 Volumen objetivotage referencia. El Atmel-ICEamples el objetivo voltage en este pin para alimentar correctamente los convertidores de nivel. El Atmel-ICE extrae menos de 3 mA de este pin en modo debugWIRE y menos de 1 mA en otros modos.
Tierra 2, 10 3, 5, 9 Suelo. Todos deben estar conectados para garantizar que el Atmel-ICE y el dispositivo de destino compartan la misma referencia de tierra.

4.2.4. Interfaz física SWD
La interfaz ARM SWD es un subconjunto de la JTAG interfaz, haciendo uso de pines TCK y TMS. El BRAZO JTAG y AVR JTAG Sin embargo, los conectores no son compatibles con pines, por lo que al diseñar una PCB de aplicación, que utiliza un dispositivo SAM con SWD o JTAG interfaz, se recomienda utilizar el pinout ARM que se muestra en la siguiente figura. El puerto del conector SAM en el Atmel-ICE se puede conectar directamente a este pinout.
Figura 4-4. ARM SWD/J recomendadoTAG Asignación de pines de cabeceraLos programadores del depurador Atmel-ICE - Figura 18

El Atmel-ICE es capaz de transmitir trazas ITM en formato UART a la computadora host. Trace se captura en el pin TRACE/SWO del encabezado de 10 pines (JTAG pasador TDO). Los datos se almacenan internamente en el Atmel-ICE y se envían a través de la interfaz HID a la computadora central. La tasa máxima de datos fiables es de unos 3 MB/s.
4.2.5. Conexión a un objetivo SWD
La interfaz ARM SWD es un subconjunto de la JTAG interfaz, haciendo uso de los pines TCK y TMS, lo que significa que cuando se conecta a un dispositivo SWD, el J de 10 pinesTAG técnicamente se puede utilizar el conector. El BRAZO JTAG y AVR JTAG Sin embargo, los conectores no son compatibles con los pines, por lo que esto depende del diseño de la placa de destino en uso. Cuando utilice un STK600 o una placa que utilice el AVR JTAG distribución de pines, se debe usar el puerto del conector AVR en el Atmel-ICE. Cuando se conecta a una placa, que hace uso del ARM JTAG distribución de pines, se debe usar el puerto del conector SAM en el Atmel-ICE.
La distribución de pines recomendada para el conector de depuración Cortex de 10 pines se muestra en la Figura 4-4.
Conexión a un encabezado Cortex de 10 mil y 50 pines
Utilice el cable plano (incluido en algunos kits) para conectar a un cabezal Cortex estándar de 50 mil.
Conexión a un encabezado de diseño Cortex de 10 pines y 100 mil
Use la placa adaptadora (incluida en algunos kits) para conectarse a un encabezado de salida de pines Cortex de 100 mil.
Conexión a un cabezal SAM de 20 pines y 100 mil
Utilice la placa adaptadora (incluida en algunos kits) para conectarse a un cabezal SAM de 20 pines y 100 milésimas de pulgada.
Conexión a un encabezado personalizado de 100 mil
El cable mini-calamar de 10 pines debe usarse para conectar entre el puerto del conector Atmel-ICE AVR o SAM y la placa de destino. Se requieren seis conexiones, como se describe en la siguiente tabla.
Tabla 4-4. Asignación de pines Atmel-ICE SWD

Nombre AVR pasador de puerto SAM pasador de puerto Descripción
LK SWDC 1 4 Reloj de depuración de cable serie.
SWDIO 5 2 Entrada/salida de datos de depuración de cable serie.
SWO 3 6 Salida de cable serial (opcional, no implementada en todos los dispositivos).
nSRST 6 10 Reiniciar.
VTG 4 1 Volumen objetivotage referencia.
Tierra 2, 10 3, 5, 9 Suelo.

4.2.6 Consideraciones especiales
BORRAR pin
Algunos dispositivos SAM incluyen un pin ERASE que se afirma para realizar un borrado completo del chip y desbloquear dispositivos en los que se establece el bit de seguridad. Esta función está acoplada al propio dispositivo, así como al controlador de flash y no forma parte del núcleo ARM.
El pin ERASE NO forma parte de ningún encabezado de depuración y, por lo tanto, Atmel-ICE no puede afirmar esta señal para desbloquear un dispositivo. En tales casos, el usuario debe realizar el borrado manualmente antes de iniciar una sesión de depuración.
Interfaces físicas JTAG interfaz
La línea RESET siempre debe estar conectada para que el Atmel-ICE pueda habilitar el JTAG interfaz.
Interfaz SWD
La línea RESET siempre debe estar conectada para que el Atmel-ICE pueda habilitar la interfaz SWD.
4.3 Dispositivos AVR UC3 con JTAG/un alambre
Todos los dispositivos AVR UC3 cuentan con la JTAG Interfaz para programación y depuración. Además, algunos dispositivos AVR UC3 cuentan con la interfaz aWire con funcionalidad idéntica utilizando un solo cable. Consulte la hoja de datos del dispositivo para conocer las interfaces compatibles de ese dispositivo
4.3.1 Sistema de depuración en chip Atmel AVR UC3
El sistema Atmel AVR UC3 OCD está diseñado de acuerdo con el estándar Nexus 2.0 (IEEE-ISTO 5001™-2003), que es un estándar de depuración en chip abierto altamente flexible y potente para microcontroladores de 32 bits. Es compatible con las siguientes características:

  • Solución de depuración compatible con Nexus
  • OCD admite cualquier velocidad de CPU
  • Seis puntos de interrupción de hardware de contador de programa
  • Dos puntos de interrupción de datos
  • Los puntos de interrupción se pueden configurar como puntos de observación
  • Los puntos de interrupción de hardware se pueden combinar para dar una interrupción en los rangos
  • Número ilimitado de puntos de interrupción del programa de usuario (usando BREAK)
  • Rastreo de ramificación de contador de programa en tiempo real, rastreo de datos, rastreo de proceso (compatible solo con depuradores con puerto de captura de rastreo paralelo)

Para obtener más información sobre el sistema AVR UC3 OCD, consulte los Manuales de referencia técnica AVR32UC, que se encuentran en www.atmel.com/uc3.
4.3.2.JTAG Interfaz física
La jTAG La interfaz consta de un controlador de puerto de acceso de prueba (TAP) de 4 hilos que cumple con IEEE® 1149.1 estándar. El estándar IEEE se desarrolló para proporcionar una forma estándar de la industria para probar de manera eficiente la conectividad de la placa de circuito (Boundary Scan). Los dispositivos Atmel AVR y SAM han ampliado esta funcionalidad para incluir soporte completo de programación y depuración en chip.
Figura 4-5. jTAG Conceptos básicos de la interfazLos programadores del depurador Atmel-ICE - Figura 17

4.3.2.1 AVR JTAG Distribución de pines
Al diseñar una PCB de aplicación, que incluye un Atmel AVR con JTAG interfaz, se recomienda utilizar el pinout como se muestra en la figura a continuación. Se admiten las variantes de 100 mil y 50 mil de este patillaje, según el cableado y los adaptadores incluidos con el kit en particular.
Figura 4-6. AVRJTAG Asignación de pines de cabecera
Los programadores del depurador Atmel-ICE - Figura 22

Mesa 4-5. AVR JTAG Descripción del pin

Nombre Alfiler

Descripción

TCC 1 Reloj de prueba (señal de reloj del Atmel-ICE al dispositivo de destino).
EMT 5 Selección del modo de prueba (señal de control del Atmel-ICE al dispositivo de destino).
TDI 9 Entrada de datos de prueba (datos transmitidos desde el Atmel-ICE al dispositivo de destino).
TDO 3 Test Data Out (datos transmitidos desde el dispositivo de destino al Atmel-ICE).
nTRST 8 Restablecimiento de prueba (opcional, solo en algunos dispositivos AVR). Se utiliza para restablecer la JTAG Controlador TAP.
nSRST 6 Restablecer (opcional). Se utiliza para restablecer el dispositivo de destino. Se recomienda conectar este pin, ya que permite que Atmel-ICE mantenga el dispositivo de destino en un estado de reinicio, lo que puede ser esencial para la depuración en ciertos escenarios.
VTG 4 Volumen objetivotage referencia. El Atmel-ICEamples el objetivo voltage en este pin para alimentar correctamente los convertidores de nivel. El Atmel-ICE extrae menos de 3 mA de este pin en modo debugWIRE y menos de 1 mA en otros modos.
Tierra 2, 10 Suelo. Ambos deben estar conectados para garantizar que el Atmel-ICE y el dispositivo de destino compartan la misma referencia de tierra.

Los programadores del depurador Atmel-ICE - icono 1 Consejo: Recuerde incluir un condensador de desacoplamiento entre el pin 4 y GND.
4.3.2.2 JTAG Margarita Encadenamiento
La jTAG La interfaz permite que varios dispositivos se conecten a una sola interfaz en una configuración en cadena. Todos los dispositivos de destino deben estar alimentados por el mismo volumen de suministro.tage, comparten un nodo de tierra común y deben conectarse como se muestra en la figura a continuación.
Figura 4-7. jTAG Cadena de margaritasLos programadores del depurador Atmel-ICE - Figura 19

Al conectar dispositivos en cadena, se deben considerar los siguientes puntos:

  • Todos los dispositivos deben compartir una tierra común, conectada a GND en la sonda Atmel-ICE
  • Todos los dispositivos deben estar funcionando con el mismo volumen objetivo.tagmi. VTG en Atmel-ICE debe estar conectado a este vol.tage.
  • TMS y TCK están conectados en paralelo; TDI y TDO están conectados en una cadena en serie.
  • nSRST en la sonda Atmel-ICE debe conectarse a RESET en los dispositivos si alguno de los dispositivos en la cadena desactiva su JTAG puerto
  • "Dispositivos antes" se refiere al número de JTAG dispositivos por los que la señal TDI tiene que pasar en la conexión en cadena antes de llegar al dispositivo de destino. De manera similar, "dispositivos después" es la cantidad de dispositivos por los que la señal tiene que pasar después del dispositivo de destino antes de llegar al Atmel-ICE TDO.
  • Los bits de instrucción "antes" y "después" se refieren a la suma total de todos los JTAG longitudes de registro de instrucciones de los dispositivos, que se conectan antes y después del dispositivo de destino en la cadena de margarita
  • La longitud total de IR (bits de instrucción anteriores + longitud IR del dispositivo de destino Atmel + bits de instrucción posteriores) está limitada a un máximo de 256 bits. El número de dispositivos en la cadena está limitado a 15 antes y 15 después.

Consejo: 

Daisy encadenando exampejemplo: TDI → ATmega1280 → ATxmega128A1 → ATUC3A0512 → TDO.
Para conectarse al Atmel AVR XMEGA® dispositivo, la configuración de la conexión en cadena es:

  • Dispositivos antes: 1
  • Dispositivos después: 1
  • Bits de instrucción anteriores: 4 (los dispositivos AVR de 8 bits tienen 4 bits IR)
  • Bits de instrucción después de: 5 (los dispositivos AVR de 32 bits tienen 5 bits IR)

Tabla 4-6. Longitudes IR de Atmel MCUS

Tipo de dispositivo longitud de infrarrojos
AVR de 8 bits 4 bits
AVR de 32 bits 5 bits
SAM 4 bits

4.3.3.Conexión a JTAG Objetivo
El Atmel-ICE está equipado con dos conectores J de 50 mil y 10 pines.TAG conectores Ambos conectores están conectados eléctricamente directamente, pero se ajustan a dos pinouts diferentes; el AVR JTAG encabezado y el encabezado de depuración de ARM Cortex. El conector debe seleccionarse en función del pinout de la placa de destino y no del tipo de MCU de destino, por ejemplo.ampUn dispositivo SAM montado en una pila AVR STK600 debe usar el encabezado AVR.
El pinout recomendado para el AVR J de 10 pinesTAG El conector se muestra en la Figura 4-6.
La distribución de pines recomendada para el conector de depuración ARM Cortex de 10 pines se muestra en la Figura 4-2.
Conexión directa a un cabezal estándar de 10 pines y 50 mil
Utilice el cable plano de 50 pines de 10 mil (incluido en algunos kits) para conectarse directamente a una placa compatible con este tipo de encabezado. Utilice el puerto del conector AVR en el Atmel-ICE para los encabezados con el pinout AVR y el puerto del conector SAM para los encabezados que cumplan con el pinout del encabezado ARM Cortex Debug.
A continuación se muestran los pinouts para ambos puertos de conector de 10 pines.
Conexión a un cabezal estándar de 10 pines y 100 mil

Utilice un adaptador estándar de 50 mil a 100 mil para conectarse a cabezales de 100 mil. Se puede utilizar una placa adaptadora (incluida en algunos kits) para este propósito, o alternativamente el JTAGEl adaptador ICE3 se puede utilizar para objetivos AVR.
Los programadores del depurador Atmel-ICE - Figura 16 Importante:
La jTAGEl adaptador ICE3 de 100 mil no se puede usar con el puerto del conector SAM, ya que los pines 2 y 10 (AVR GND) del adaptador están conectados.
Conexión a un encabezado personalizado de 100 mil
Si su placa de destino no tiene un J compatible de 10 pinesTAG encabezado en 50 o 100 mil, puede asignar a un pinout personalizado utilizando el cable "mini-calamar" de 10 pines (incluido en algunos kits), que da acceso a diez enchufes individuales de 100 mil.
Conexión a un cabezal de 20 mil de 100 pines
Utilice la placa adaptadora (incluida en algunos kits) para conectarse a objetivos con un cabezal de 20 pines y 100 milésimas de pulgada.
Tabla 4-7. Atmel-ICE JTAG Descripción del pin

Nombre

clavija del puerto AVR Pin del puerto SAM

Descripción

TCC 1 4 Reloj de prueba (señal de reloj del Atmel-ICE al dispositivo de destino).
EMT 5 2 Selección del modo de prueba (señal de control del Atmel-ICE al dispositivo de destino).
TDI 9 8 Entrada de datos de prueba (datos transmitidos desde el Atmel-ICE al dispositivo de destino).
TDO 3 6 Test Data Out (datos transmitidos desde el dispositivo de destino al Atmel-ICE).
nTRST 8 Restablecimiento de prueba (opcional, solo en algunos dispositivos AVR). Se utiliza para restablecer la JTAG Controlador TAP.
nSRST 6 10 Restablecer (opcional). Se utiliza para restablecer el dispositivo de destino. Se recomienda conectar este pin, ya que permite que Atmel-ICE mantenga el dispositivo de destino en un estado de reinicio, lo que puede ser esencial para la depuración en ciertos escenarios.
VTG 4 1 Volumen objetivotage referencia. El Atmel-ICEamples el objetivo voltage en este pin para alimentar correctamente los convertidores de nivel. El Atmel-ICE extrae menos de 3 mA de este pin en modo debugWIRE y menos de 1 mA en otros modos.
Tierra 2, 10 3, 5, 9 Suelo. Todos deben estar conectados para garantizar que el Atmel-ICE y el dispositivo de destino compartan la misma referencia de tierra.

 4.3.4 Interfaz física aWire
La interfaz aWire utiliza el cable RESET del dispositivo AVR para permitir funciones de programación y depuración. El Atmel-ICE transmite una secuencia de habilitación especial, que desactiva la funcionalidad de REINICIO predeterminada del pin. Al diseñar una PCB de aplicación, que incluye un Atmel AVR con la interfaz aWire, se recomienda utilizar el pinout como se muestra en la Figura 4 -8. Se admiten las variantes de 100 mil y 50 mil de este patillaje, según el cableado y los adaptadores incluidos con el kit en particular.
Figura 4-8. Asignación de pines del cabezal aWireLos programadores del depurador Atmel-ICE - Figura 24

Los programadores del depurador Atmel-ICE - icono 1 Consejo:
Dado que aWire es una interfaz semidúplex, se recomienda una resistencia pull-up en la línea RESET del orden de 47 kΩ para evitar la detección de bits de inicio falsos al cambiar de dirección.
La interfaz aWire se puede utilizar como interfaz de programación y depuración. Todas las características del sistema OCD disponibles a través de la J de 10 pinesTAG También se puede acceder a la interfaz mediante aWire.
4.3.5 Conexión a un objetivo aWire
La interfaz aWire requiere solo una línea de datos además de VCC y GND. En el objetivo, esta línea es la línea nRESET, aunque el depurador usa la JTAG Línea TDO como línea de datos.
La distribución de pines recomendada para el conector aWire de 6 pines se muestra en la Figura 4-8.
Conexión a un cabezal aWire de 6 mil y 100 pines
Use la derivación de 6 mil de 100 pines en el cable plano (incluido en algunos kits) para conectar a un cabezal aWire estándar de 100 mil.
Conexión a un cabezal aWire de 6 mil y 50 pines
Utilice la placa adaptadora (incluida en algunos kits) para conectarse a un cabezal aWire estándar de 50 mil.
Conexión a un encabezado personalizado de 100 mil
El cable mini-calamar de 10 pines debe usarse para conectar entre el puerto del conector Atmel-ICE AVR y la placa de destino. Se requieren tres conexiones, como se describe en la siguiente tabla.
Tabla 4-8. Asignación de pines Atmel-ICE aWire

Pines del puerto Atmel-ICE AVR Pines de destino Alfiler de mini calamares

Asignación de pines de aWire

Clavija 1 (TCK) 1
Pin 2 (GND) Tierra 2 6
Clavija 3 (TDO) DATOS 3 1
Clavija 4 (VTG) VTG 4 2
Patilla 5 (TMS) 5
Clavija 6 (nSRST) 6
Pin 7 (no conectado) 7
Patilla 8 (nTRST) 8
Patilla 9 (TDI) 9
Pin 10 (GND) 0

4.3.6. Consideraciones especiales
JTAG interfaz
En algunos dispositivos Atmel AVR UC3, la JTAG El puerto no está habilitado de forma predeterminada. Al utilizar estos dispositivos es imprescindible conectar la línea RESET para que el Atmel-ICE pueda habilitar el JTAG interfaz.
una interfaz de alambre
La tasa de baudios de las comunicaciones aWire depende de la frecuencia del reloj del sistema, ya que los datos deben sincronizarse entre estos dos dominios. El Atmel-ICE detectará automáticamente que el reloj del sistema se ha bajado y volverá a calibrar su tasa de baudios en consecuencia. La calibración automática solo funciona hasta una frecuencia de reloj del sistema de 8 kHz. Cambiar a un reloj del sistema más bajo durante una sesión de depuración puede provocar que se pierda el contacto con el objetivo.
Si es necesario, la velocidad en baudios de aWire se puede restringir configurando el parámetro de reloj aWire. La detección automática seguirá funcionando, pero se impondrá un valor máximo a los resultados.
Cualquier condensador estabilizador conectado al pin RESET debe desconectarse cuando se usa un cable, ya que interferirá con el funcionamiento correcto de la interfaz. Se recomienda un pullup externo débil (10 kΩ o superior) en esta línea.

Apagar el modo de suspensión
Algunos dispositivos AVR UC3 tienen un regulador interno que se puede utilizar en modo de alimentación de 3.3 V con líneas de E/S reguladas de 1.8 V. Esto significa que el regulador interno alimenta tanto el núcleo como la mayor parte de las E/S. ¡Solo Atmel AVR UNO! El depurador admite la depuración durante el uso de los modos de suspensión en los que este regulador está apagado.
4.3.7. Uso de EVTI/EVTO
Los pines EVTI y EVTO no son accesibles en el Atmel-ICE. Sin embargo, todavía se pueden utilizar junto con otros equipos externos.
EVTI se puede utilizar para los siguientes propósitos:

  • Se puede obligar al objetivo a detener la ejecución en respuesta a un evento externo. Si los bits de Event In Control (EIC) en el registro de CC se escriben en 0b01, la transición de alto a bajo en el pin EVTI generará una condición de punto de interrupción. EVTI debe permanecer bajo durante un ciclo de reloj de la CPU para garantizar que se establezca un punto de interrupción. El bit de punto de interrupción externo (EXB) en DS se establece cuando esto ocurre.
  • Generación de mensajes de sincronización de seguimiento. No utilizado por el Atmel-ICE.

EVTO se puede utilizar para los siguientes propósitos:

  • Indicar que la CPU ha ingresado a depuración Al establecer los bits EOS en DC en 0b01, el pin EVTO se baja durante un ciclo de reloj de la CPU cuando el dispositivo de destino ingresa al modo de depuración. Esta señal se puede utilizar como fuente de disparo para un osciloscopio externo.
  • Indica que la CPU ha alcanzado un punto de interrupción o un punto de vigilancia. Al configurar el bit EOC en un registro de control de punto de interrupción/punto de observación correspondiente, el estado del punto de interrupción o del punto de observación se indica en el pin EVTO. Los bits EOS en DC deben establecerse en 0xb10 para habilitar esta función. El pin EVTO se puede conectar a un osciloscopio externo para examinar el punto de observación.
  • Generación de señales de temporización de trazas. No utilizado por el Atmel-ICE.

4.4 Dispositivos tinyAVR, megaAVR y XMEGA
Los dispositivos AVR cuentan con varias interfaces de programación y depuración. Consulte la hoja de datos del dispositivo para conocer las interfaces compatibles de ese dispositivo.

  • Algunos tinyAVR® los dispositivos tienen un TPI El TPI se puede usar solo para programar el dispositivo, y estos dispositivos no tienen ninguna capacidad de depuración en el chip.
  • Algunos dispositivos tinyAVR y algunos dispositivos megaAVR tienen la interfaz debugWIRE, que se conecta a un sistema de depuración en chip conocido como tinyOCD. Todos los dispositivos con debugWIRE también tienen la interfaz SPI para el sistema
  • Algunos dispositivos megaAVR tienen una JTAG interfaz para programación y depuración, con un sistema de depuración en chip también conocido como Todos los dispositivos con JTAG también cuentan con la interfaz SPI como una interfaz alternativa para la programación en el sistema.
  • Todos los dispositivos AVR XMEGA tienen la interfaz PDI para programación y algunos dispositivos AVR XMEGA también tienen una JTAG interfaz con idéntica funcionalidad.
  • Los nuevos dispositivos tinyAVR tienen una interfaz UPDI, que se utiliza para programar y depurar

Tabla 4-9. Resumen de interfaces de programación y depuración

UPDI TPI Inspección de la inducción depuraciónWIR E JTAG PDI un alambre

Departamento de Trabajo de los Estados Unidos

diminutoAVR Nuevos dispositivos Algunos dispositivos Algunos dispositivos Algunos dispositivos
mega AV R Todos los dispositivos Algunos dispositivos Algunos dispositivos
AVRXMEGA Algunos dispositivos Todos los dispositivos
AVR CU Todos los dispositivos Algunos dispositivos
SAM Algunos dispositivos Todos los dispositivos

4.4.1.JTAG Interfaz física
La jTAG La interfaz consta de un controlador de puerto de acceso de prueba (TAP) de 4 hilos que cumple con IEEE® 1149.1 estándar. El estándar IEEE se desarrolló para proporcionar una forma estándar de la industria para probar de manera eficiente la conectividad de la placa de circuito (Boundary Scan). Los dispositivos Atmel AVR y SAM han ampliado esta funcionalidad para incluir soporte completo de programación y depuración en chip.
Figura 4-9. jTAG Conceptos básicos de la interfazLos programadores del depurador Atmel-ICE - Figura 214.4.2. Conexión a una JTAG Objetivo
El Atmel-ICE está equipado con dos conectores J de 50 mil y 10 pines.TAG conectores Ambos conectores están conectados eléctricamente directamente, pero se ajustan a dos pinouts diferentes; el AVR JTAG encabezado y el encabezado de depuración de ARM Cortex. El conector debe seleccionarse en función del pinout de la placa de destino y no del tipo de MCU de destino, por ejemplo.ampUn dispositivo SAM montado en una pila AVR STK600 debe usar el encabezado AVR.
El pinout recomendado para el AVR J de 10 pinesTAG El conector se muestra en la Figura 4-6.
La distribución de pines recomendada para el conector de depuración ARM Cortex de 10 pines se muestra en la Figura 4-2.
Conexión directa a un cabezal estándar de 10 pines y 50 mil
Utilice el cable plano de 50 pines de 10 mil (incluido en algunos kits) para conectarse directamente a una placa compatible con este tipo de encabezado. Utilice el puerto del conector AVR en el Atmel-ICE para los encabezados con el pinout AVR y el puerto del conector SAM para los encabezados que cumplan con el pinout del encabezado ARM Cortex Debug.
A continuación se muestran los pinouts para ambos puertos de conector de 10 pines.
Conexión a un cabezal estándar de 10 pines y 100 mil
Utilice un adaptador estándar de 50 mil a 100 mil para conectarse a cabezales de 100 mil. Se puede utilizar una placa adaptadora (incluida en algunos kits) para este propósito, o alternativamente el JTAGEl adaptador ICE3 se puede utilizar para objetivos AVR.
Los programadores del depurador Atmel-ICE - Figura 16 Importante:
La jTAGEl adaptador ICE3 de 100 mil no se puede usar con el puerto del conector SAM, ya que los pines 2 y 10 (AVR GND) del adaptador están conectados.
Conexión a un encabezado personalizado de 100 mil
Si su placa de destino no tiene un J compatible de 10 pinesTAG encabezado en 50 o 100 mil, puede asignar a un pinout personalizado utilizando el cable "mini-calamar" de 10 pines (incluido en algunos kits), que da acceso a diez enchufes individuales de 100 mil.
Conexión a un cabezal de 20 mil de 100 pines
Utilice la placa adaptadora (incluida en algunos kits) para conectarse a objetivos con un cabezal de 20 pines y 100 milésimas de pulgada.
Tabla 4-10. Atmel-ICE JTAG Descripción del pin

Nombre AVR pasador de puerto SAM pasador de puerto Descripción
TCC 1 4 Reloj de prueba (señal de reloj del Atmel-ICE al dispositivo de destino).
EMT 5 2 Selección del modo de prueba (señal de control del Atmel-ICE al dispositivo de destino).
TDI 9 8 Entrada de datos de prueba (datos transmitidos desde el Atmel-ICE al dispositivo de destino).
TDO 3 6 Test Data Out (datos transmitidos desde el dispositivo de destino al Atmel-ICE).
nTRST 8 Restablecimiento de prueba (opcional, solo en algunos dispositivos AVR). Se utiliza para restablecer la JTAG Controlador TAP.
nSRST 6 10 Restablecer (opcional). Se utiliza para restablecer el dispositivo de destino. Se recomienda conectar este pin, ya que permite que Atmel-ICE mantenga el dispositivo de destino en un estado de reinicio, lo que puede ser esencial para la depuración en ciertos escenarios.
VTG 4 1 Volumen objetivotage referencia. El Atmel-ICEamples el objetivo voltage en este pin para alimentar correctamente los convertidores de nivel. El Atmel-ICE extrae menos de 3 mA de este pin en modo debugWIRE y menos de 1 mA en otros modos.
Tierra 2, 10 3, 5, 9 Suelo. Todos deben estar conectados para garantizar que el Atmel-ICE y el dispositivo de destino compartan la misma referencia de tierra.

4.4.3.Interfaz física SPI
La programación en el sistema utiliza el SPI interno (interfaz periférica en serie) del Atmel AVR objetivo para descargar el código en las memorias flash y EEPROM. No es una interfaz de depuración. Al diseñar una PCB de aplicación, que incluye un AVR con la interfaz SPI, se debe usar el pinout como se muestra en la figura a continuación.
Figura 4-10. Asignación de pines del encabezado SPILos programadores del depurador Atmel-ICE - Figura 264.4.4. Conexión a un objetivo SPI
La distribución de pines recomendada para el conector SPI de 6 pines se muestra en la Figura 4-10.
Conexión a un encabezado SPI de 6 mil de 100 pines
Use la derivación de 6 mil de 100 pines en el cable plano (incluido en algunos kits) para conectar a un cabezal SPI estándar de 100 mil.
Conexión a un encabezado SPI de 6 mil de 50 pines
Utilice la placa adaptadora (incluida en algunos kits) para conectarse a un encabezado SPI estándar de 50 mil.
Conexión a un encabezado personalizado de 100 mil
El cable mini-calamar de 10 pines debe usarse para conectar entre el puerto del conector Atmel-ICE AVR y la placa de destino. Se requieren seis conexiones, como se describe en la siguiente tabla.
Los programadores del depurador Atmel-ICE - Figura 16 Importante:
La interfaz SPI se desactiva efectivamente cuando se programa el fusible de habilitación de debugWIRE (DWEN), incluso si el fusible SPIEN también está programado. Para volver a habilitar la interfaz SPI, se debe ejecutar el comando 'disable debugWIRE' durante una sesión de depuración de debugWIRE. Deshabilitar debugWIRE de esta manera requiere que el fusible SPIEN ya esté programado. Si Atmel Studio no puede desactivar debugWIRE, es probable que el fusible SPIEN NO esté programado. Si este es el caso, es necesario utilizar un alto vol.tage interfaz de programación para programar el fusible SPIEN.
Los programadores del depurador Atmel-ICE - icono Información:
La interfaz SPI a menudo se denomina "ISP", ya que fue la primera interfaz de programación en el sistema en los productos Atmel AVR. Ahora hay otras interfaces disponibles para la programación del sistema.
Tabla 4-11. Asignación de pines Atmel-ICE SPI

Pines del puerto Atmel-ICE AVR Pines de destino Alfiler de mini calamares

Asignación de pines SPI

Clavija 1 (TCK) SCK 1 3
Pin 2 (GND) Tierra 2 6
Clavija 3 (TDO) MISO 3 1
Clavija 4 (VTG) VTG 4 2
Patilla 5 (TMS) 5
Clavija 6 (nSRST) / REINICIAR 6 5
Pin 7 (no conectado) 7
Patilla 8 (nTRST) 8
Patilla 9 (TDI) MOSI 9 4
Pin 10 (GND) 0

4.4.5. IDP
La interfaz de programación y depuración (PDI) es una interfaz patentada de Atmel para la programación externa y la depuración en el chip de un dispositivo. PDI Physical es una interfaz de 2 pines que proporciona una comunicación síncrona semidúplex bidireccional con el dispositivo de destino.
Al diseñar una PCB de aplicación, que incluye un Atmel AVR con la interfaz PDI, se debe usar el pinout que se muestra en la figura a continuación. Uno de los adaptadores de 6 pines proporcionados con el kit Atmel-ICE se puede usar para conectar la sonda Atmel-ICE a la placa de circuito impreso de la aplicación.
Figura 4-11. Asignación de pines del encabezado PDILos programadores del depurador Atmel-ICE - Figura 274.4.6.Conexión a un objetivo PDI
La distribución de pines recomendada para el conector PDI de 6 pines se muestra en la Figura 4-11.
Conexión a un encabezado PDI de 6 mil de 100 pines
Utilice la derivación de 6 mil de 100 pines en el cable plano (incluido en algunos kits) para conectar a un cabezal PDI estándar de 100 mil.
Conexión a un encabezado PDI de 6 mil de 50 pines
Utilice la placa adaptadora (incluida en algunos kits) para conectarse a un cabezal PDI estándar de 50 mil.
Conexión a un encabezado personalizado de 100 mil
El cable mini-calamar de 10 pines debe usarse para conectar entre el puerto del conector Atmel-ICE AVR y la placa de destino. Se requieren cuatro conexiones, como se describe en la siguiente tabla.
Los programadores del depurador Atmel-ICE - Figura 16 Importante:
El pinout requerido es diferente del JTAGHIELO mkII JTAG sonda, donde PDI_DATA está conectado al pin 9. El Atmel-ICE es compatible con el pinout utilizado por el Atmel-ICE, JTAGICE3, AVR ONE! y AVR Dragón productos.
Tabla 4-12. Asignación de pines Atmel-ICE PDI

Pin del puerto Atmel-ICE AVR

Pines de destino Alfiler de mini calamares

Asignación de pines Atmel STK600 PDI

Clavija 1 (TCK) 1
Pin 2 (GND) Tierra 2 6
Clavija 3 (TDO) PDI_DATOS 3 1
Clavija 4 (VTG) VTG 4 2
Patilla 5 (TMS) 5
Clavija 6 (nSRST) PDI_CLK 6 5
Pin 7 (no conectado) 7
Patilla 8 (nTRST) 8
Patilla 9 (TDI) 9
Pin 10 (GND) 0

4.4.7. Interfaz física UPDI
La interfaz unificada de programa y depuración (UPDI) es una interfaz patentada de Atmel para la programación externa y la depuración en el chip de un dispositivo. Es un sucesor de la interfaz física PDI de 2 hilos, que se encuentra en todos los dispositivos AVR XMEGA. UPDI es una interfaz de un solo cable que proporciona una comunicación asíncrona semidúplex bidireccional con el dispositivo de destino para fines de programación y depuración.
Al diseñar una placa de circuito impreso de aplicación, que incluye un Atmel AVR con la interfaz UPDI, se debe utilizar la distribución de pines que se muestra a continuación. Uno de los adaptadores de 6 pines proporcionados con el kit Atmel-ICE se puede usar para conectar la sonda Atmel-ICE a la placa de circuito impreso de la aplicación.
Figura 4-12. Asignación de pines del encabezado UPDILos programadores del depurador Atmel-ICE - Figura 284.4.7.1 UPDI y /RESET
La interfaz UPDI de un solo cable puede ser un pin dedicado o un pin compartido, según el dispositivo AVR de destino. Consulte la hoja de datos del dispositivo para obtener más información.
Cuando la interfaz UPDI está en un pin compartido, el pin se puede configurar para que sea UPDI, /RESET o GPIO configurando los fusibles RSTPINCFG[1:0].
Los fusibles RSTPINCFG[1:0] tienen las siguientes configuraciones, como se describe en la hoja de datos. Las implicaciones prácticas de cada elección se dan aquí.
Tabla 4-13. RSTPINCFG[1:0] Configuración de fusibles

RSTPINCFG[1:0] Configuración

Uso

00 Entrada y salida de GP Pin de E/S de uso general. Para acceder a UPDI, se debe aplicar un pulso de 12V a este pin. No hay ninguna fuente de reinicio externa disponible.
01 UPDI Pin dedicado de programación y depuración. No hay ninguna fuente de reinicio externa disponible.
10 Reiniciar Restablecer entrada de señal. Para acceder a UPDI, se debe aplicar un pulso de 12V a este pin.
11 Reservado NA

Nota:  Los dispositivos AVR más antiguos tienen una interfaz de programación, conocida como "High-Voltage Programación” (existen variantes tanto en serie como en paralelo). En general, esta interfaz requiere que se apliquen 12 V al pin /RESET durante la sesión de programación. La interfaz UPDI es una interfaz completamente diferente. El pin UPDI es principalmente un pin de programación y depuración, que se puede fusionar para tener una función alternativa (/RESET o GPIO). Si se selecciona la función alternativa, se requiere un pulso de 12 V en ese pin para reactivar la funcionalidad UPDI.
Nota:  Si un diseño requiere compartir la señal UPDI debido a restricciones de pines, se deben tomar medidas para garantizar que el dispositivo se pueda programar. Para asegurarse de que la señal UPDI pueda funcionar correctamente, así como para evitar daños a los componentes externos por el pulso de 12 V, se recomienda desconectar cualquier componente en este pin cuando intente depurar o programar el dispositivo. Esto se puede hacer usando una resistencia de 0 Ω, que se monta de manera predeterminada y se quita o reemplaza por un encabezado de clavija durante la depuración. Esta configuración significa efectivamente que la programación debe realizarse antes de montar el dispositivo.
Los programadores del depurador Atmel-ICE - Figura 16 Importante:  El Atmel-ICE no admite 12V en la línea UPDI. En otras palabras, si el pin UPDI se ha configurado como GPIO o RESET, el Atmel-ICE no podrá habilitar la interfaz UPDI.
4.4.8.Conexión a un destino UPDI
La distribución de pines recomendada para el conector UPDI de 6 pines se muestra en la Figura 4-12.
Conexión a un encabezado UPDI de 6 mil de 100 pines
Use la derivación de 6 mil de 100 pines en el cable plano (incluido en algunos kits) para conectar a un cabezal UPDI estándar de 100 mil.
Conexión a un encabezado UPDI de 6 mil de 50 pines
Utilice la placa adaptadora (incluida en algunos kits) para conectarse a un encabezado UPDI estándar de 50 mil.
Conexión a un encabezado personalizado de 100 mil

El cable mini-calamar de 10 pines debe usarse para conectar entre el puerto del conector Atmel-ICE AVR y la placa de destino. Se requieren tres conexiones, como se describe en la siguiente tabla.
Tabla 4-14. Asignación de pines UPDI Atmel-ICE

Pin del puerto Atmel-ICE AVR Pines de destino Alfiler de mini calamares

Asignación de pines Atmel STK600 UPDI

Clavija 1 (TCK) 1
Pin 2 (GND) Tierra 2 6
Clavija 3 (TDO) UPDI_DATOS 3 1
Clavija 4 (VTG) VTG 4 2
Patilla 5 (TMS) 5
Clavija 6 (nSRST) [/RESET sentido] 6 5
Pin 7 (no conectado) 7
Patilla 8 (nTRST) 8
Patilla 9 (TDI) 9
Pin 10 (GND) 0

4.4.9 Interfaz física TPI
TPI es una interfaz de solo programación para algunos dispositivos AVR ATtiny. No es una interfaz de depuración y estos dispositivos no tienen capacidad OCD. Cuando diseñe una PCB de aplicación que incluya un AVR con la interfaz TPI, se debe usar el pinout que se muestra en la figura a continuación.

Figura 4-13. Asignación de pines del encabezado TPILos programadores del depurador Atmel-ICE - Figura 294.4.10.Conexión a un objetivo TPI
La distribución de pines recomendada para el conector TPI de 6 pines se muestra en la Figura 4-13.
Conexión a un encabezado TPI de 6 mil de 100 pines
Use la toma de 6 mil de 100 pines en el cable plano (incluido en algunos kits) para conectar a un cabezal TPI estándar de 100 mil.
Conexión a un encabezado TPI de 6 mil de 50 pines
Utilice la placa adaptadora (incluida en algunos kits) para conectarse a un encabezado TPI estándar de 50 mil.
Conexión a un encabezado personalizado de 100 mil
El cable mini-calamar de 10 pines debe usarse para conectar entre el puerto del conector Atmel-ICE AVR y la placa de destino. Se requieren seis conexiones, como se describe en la siguiente tabla.
Tabla 4-15. Asignación de pines TPI Atmel-ICE

Pines del puerto Atmel-ICE AVR Pines de destino Alfiler de mini calamares

asignación de pines TPI

Clavija 1 (TCK) RELOJ 1 3
Pin 2 (GND) Tierra 2 6
Clavija 3 (TDO) DATOS 3 1
Clavija 4 (VTG) VTG 4 2
Patilla 5 (TMS) 5
Clavija 6 (nSRST) / REINICIAR 6 5
Pin 7 (no conectado) 7
Patilla 8 (nTRST) 8
Patilla 9 (TDI) 9
Pin 10 (GND) 0

4.4.11. Depuración avanzada (AVR JTAG /debugWIRE dispositivos)
Periféricos de E/S
La mayoría de los periféricos de E/S continuarán ejecutándose aunque la ejecución del programa sea detenida por un punto de interrupción. Example: Si se alcanza un punto de interrupción durante una transmisión UART, la transmisión se completará y se establecerán los bits correspondientes. El indicador TXC (transmisión completa) se establecerá y estará disponible en el siguiente paso único del código, aunque normalmente sucedería más tarde en un dispositivo real.
Todos los módulos de E/S continuarán ejecutándose en modo detenido con las siguientes dos excepciones:

  • Temporizador/Contadores (configurable mediante el software front-end)
  • Temporizador de vigilancia (siempre detenido para evitar reinicios durante la depuración)

Acceso de E/S paso a paso único
Dado que la E/S continúa funcionando en modo detenido, se debe tener cuidado para evitar ciertos problemas de temporización. por ejemploample, el código:
Al ejecutar este código normalmente, el registro TEMP no leería 0xAA porque los datos aún no se habrían bloqueado físicamente en el pin en el momento en que es sampliderado por la operación IN. Se debe colocar una instrucción NOP entre la instrucción OUT y la instrucción IN para garantizar que el valor correcto esté presente en el registro PIN.
Sin embargo, cuando se realiza un paso único de esta función a través del OCD, este código siempre dará 0xAA en el registro PIN, ya que la E/S se ejecuta a toda velocidad incluso cuando el núcleo se detiene durante el paso único.
Paso único y temporización
Ciertos registros deben leerse o escribirse dentro de un número determinado de ciclos después de habilitar una señal de control. Dado que el reloj de E/S y los periféricos continúan funcionando a toda velocidad en el modo detenido, el paso único a través de dicho código no cumplirá con los requisitos de temporización. Entre dos pasos individuales, el reloj de E/S puede haber ejecutado millones de ciclos. Para leer o escribir con éxito registros con tales requisitos de temporización, toda la secuencia de lectura o escritura debe realizarse como una operación atómica que ejecuta el dispositivo a toda velocidad. Esto se puede hacer usando una macro o una llamada de función para ejecutar el código, o usando la función de ejecutar al cursor en el entorno de depuración.
Acceso a registros de 16 bits
Los periféricos Atmel AVR suelen contener varios registros de 16 bits a los que se puede acceder a través del bus de datos de 8 bits (p. ej.: TCNTn de un temporizador de 16 bits). Se debe acceder al registro de 16 bits mediante dos operaciones de lectura o escritura. La interrupción en medio de un acceso de 16 bits o el paso único a través de esta situación pueden generar valores erróneos.
Acceso restringido al registro de E/S
Ciertos registros no se pueden leer sin afectar su contenido. Dichos registros incluyen aquellos que contienen banderas que se borran mediante la lectura o registros de datos almacenados en búfer (por ejemplo: UDR). El front-end del software evitará la lectura de estos registros cuando esté en modo detenido para preservar la naturaleza no intrusiva prevista de la depuración de OCD. Además, algunos registros no se pueden escribir de forma segura sin que se produzcan efectos secundarios: estos registros son de solo lectura. por ejemploampen:

  • Registros de banderas, donde una bandera se borra escribiendo '1' en cualquiera de estos registros. Estos registros son de solo lectura.
  • Los registros UDR y SPDR no se pueden leer sin afectar el estado del módulo. Estos registros no son

4.4.12. Consideraciones especiales megaAVR
Puntos de interrupción de software
Dado que contiene una versión anterior del módulo OCD, ATmega128[A] no admite el uso de la instrucción BREAK para puntos de interrupción de software.
JTAG reloj
La frecuencia de reloj de destino debe especificarse con precisión en el front-end del software antes de iniciar una sesión de depuración. Por razones de sincronización, la JTAG La señal TCK debe ser inferior a un cuarto de la frecuencia de reloj objetivo para una depuración confiable. Al programar a través de JTAG interfaz, la frecuencia TCK está limitada por la clasificación de frecuencia máxima del dispositivo de destino, y no por la frecuencia de reloj real que se utiliza.
Cuando utilice el oscilador RC interno, tenga en cuenta que la frecuencia puede variar de un dispositivo a otro y se ve afectada por la temperatura y la VCC cambios. Sea conservador al especificar la frecuencia de reloj de destino.
JTAGFusibles EN y OCDEN

La jTAG la interfaz está habilitada usando la JTAGFusible EN, que está programado por defecto. Esto permite el acceso a la JTAG interfaz de programación A través de este mecanismo, se puede programar el fusible OCDEN (por defecto, OCDEN está desprogramado). Esto permite el acceso al OCD para facilitar la depuración del dispositivo. El front-end del software siempre se asegurará de que el fusible OCDEN se deje sin programar al finalizar una sesión, restringiendo así el consumo de energía innecesario por parte del módulo OCD. Si la JTAGEl fusible EN se desactivó involuntariamente, solo se puede volver a habilitar usando SPI o High Voltage métodos de programación.
Si la JTAGEl fusible EN está programado, el JTAG la interfaz todavía se puede deshabilitar en el firmware configurando el bit JTD. Esto hará que el código no se pueda depurar y no se debe hacer al intentar una sesión de depuración. Si dicho código ya se está ejecutando en el dispositivo Atmel AVR al iniciar una sesión de depuración, Atmel-ICE afirmará la línea RESET mientras se conecta. Si esta línea está cableada correctamente, forzará el restablecimiento del dispositivo AVR de destino, lo que permitirá un JTAG conexión.
Si la JTAG la interfaz está habilitada, la JTAG los pines no se pueden utilizar para funciones de pin alternativas. Seguirán dedicados JTAG pines hasta que la JTAG La interfaz se desactiva configurando el bit JTD del código del programa, o borrando el JTAGES fusible a través de una interfaz de programación.

Los programadores del depurador Atmel-ICE - icono 1 Consejo:
Asegúrese de marcar la casilla de verificación "usar restablecimiento externo" tanto en el diálogo de programación como en el diálogo de opciones de depuración para permitir que Atmel-ICE afirme la línea RESET y vuelva a habilitar el JTAG interfaz en dispositivos que ejecutan código que desactiva el JTAG interfaz configurando el bit JTD.
Eventos IDR/OCDR
El IDR (registro de datos de entrada y salida) también se conoce como OCDR (registro de depuración en chip) y el depurador lo utiliza ampliamente para leer y escribir información en la MCU cuando está en modo detenido durante una sesión de depuración. Cuando el programa de aplicación en modo de ejecución escribe un byte de datos en el registro OCDR del dispositivo AVR que se está depurando, el Atmel-ICE lee este valor y lo muestra en la ventana de mensajes de la interfaz del software. El registro OCDR se sondea cada 50 ms, por lo que escribirlo a una frecuencia más alta NO arrojará resultados confiables. Cuando el dispositivo AVR pierde energía mientras se está depurando, se pueden informar eventos OCDR falsos. Esto sucede porque Atmel-ICE aún puede sondear el dispositivo como el volumen objetivo.tage cae por debajo del volumen mínimo de funcionamiento del AVRtage.
4.4.13. Consideraciones especiales de AVR XMEGA
TOC y cronometraje
Cuando la MCU entra en modo detenido, el reloj OCD se utiliza como reloj de la MCU. El reloj OCD es el JTAG TCK si la JTAG se está utilizando la interfaz, o el PDI_CLK si se está utilizando la interfaz PDI.
Módulos de E/S en modo detenido
A diferencia de los dispositivos megaAVR de Atmel anteriores, en XMEGA los módulos de E/S se detienen en modo de parada. Esto significa que las transmisiones de USART se interrumpirán, los temporizadores (y PWM) se detendrán.
Puntos de interrupción de hardware
Hay cuatro comparadores de punto de interrupción de hardware: dos comparadores de dirección y dos comparadores de valor. Tienen ciertas restricciones:

  • Todos los puntos de interrupción deben ser del mismo tipo (programa o datos)
  • Todos los puntos de interrupción de datos deben estar en la misma área de memoria (E/S, SRAM o XRAM)
  • Solo puede haber un punto de interrupción si se usa el rango de direcciones

Estas son las diferentes combinaciones que se pueden establecer:

  • Dos puntos de interrupción de dirección de programa o datos únicos
  • Un punto de interrupción del rango de direcciones de datos o programas
  • Dos puntos de interrupción de dirección de datos únicos con comparación de valor único
  • Un punto de interrupción de datos con rango de direcciones, rango de valores o ambos

Atmel Studio le dirá si no se puede establecer el punto de interrupción y por qué. Los puntos de interrupción de datos tienen prioridad sobre los puntos de interrupción de programa, si hay puntos de interrupción de software disponibles.
Reset externo y PDI físico
La interfaz física PDI utiliza la línea de reinicio como reloj. Durante la depuración, el pullup de restablecimiento debe ser de 10k o más o eliminarse. Se deben quitar todos los condensadores de reinicio. Se deben desconectar otras fuentes de restablecimiento externas.
Depuración con suspensión para ATxmegaA1 rev H y versiones anteriores
Existía un error en las primeras versiones de los dispositivos ATxmegaA1 que impedía habilitar el OCD mientras el dispositivo estaba en ciertos modos de suspensión. Hay dos soluciones para volver a habilitar OCD:

  • Entra en el Atmel-ICE. Opciones en el menú Herramientas y habilite "Activar siempre el restablecimiento externo al reprogramar el dispositivo".
  • Realizar un borrado de chip

Los modos de suspensión que desencadenan este error son:

  • Corriente cortada
  • Ahorro de energía
  • Apoyar
  • Espera extendida

Consideraciones especiales de 4.4.1.debugWIRE
El pin de comunicación debugWIRE (dW) está ubicado físicamente en el mismo pin que el restablecimiento externo (RESET). Por lo tanto, no se admite una fuente de reinicio externa cuando la interfaz debugWIRE está habilitada.
El fusible de activación de debugWIRE (DWEN) debe configurarse en el dispositivo de destino para que funcione la interfaz debugWIRE. Este fusible no está programado de forma predeterminada cuando el dispositivo Atmel AVR se envía de fábrica. La interfaz debugWIRE en sí no se puede usar para configurar este fusible. Para configurar el fusible DWEN, se debe utilizar el modo SPI. El front-end del software maneja esto automáticamente siempre que los pines SPI necesarios estén conectados. También se puede configurar utilizando la programación SPI desde el cuadro de diálogo de programación de Atmel Studio.
Cualquiera: Intente iniciar una sesión de depuración en la parte debugWIRE. Si la interfaz debugWIRE no está habilitada, Atmel Studio ofrecerá volver a intentarlo o intentar habilitar debugWIRE mediante la programación SPI. Si tiene conectado el encabezado SPI completo, se habilitará debugWIRE y se le pedirá que encienda el objetivo. Esto es necesario para que los cambios de fusibles sean efectivos.
O: Abra el cuadro de diálogo de programación en modo SPI y verifique que la firma coincida con el dispositivo correcto. Verifique el fusible DWEN para habilitar debugWIRE.
Los programadores del depurador Atmel-ICE - Figura 16 Importante:
¡Es importante dejar programado el fusible SPIEN, el fusible RSTDISBL sin programar! Si no lo hace, el dispositivo se atascará en el modo debugWIRE y High VoltagSe requerirá la programación para revertir la configuración DWEN.
Para deshabilitar la interfaz debugWIRE, use High Voltage programación para desprogramar el fusible DWEN. Alternativamente, use la interfaz debugWIRE para desactivarse temporalmente, lo que permitirá que se lleve a cabo la programación SPI, siempre que el fusible SPIEN esté configurado.
Los programadores del depurador Atmel-ICE - Figura 16 Importante:
Si NO se dejó programado el fusible SPIEN, Atmel Studio no podrá completar esta operación, y High VoltagSe debe utilizar la programación.
Durante una sesión de depuración, seleccione la opción de menú 'Deshabilitar debugWIRE y Cerrar' en el menú 'Depurar'. DebugWIRE se desactivará temporalmente y Atmel Studio utilizará la programación SPI para desprogramar el fusible DWEN.

Tener el fusible DWEN programado permite que algunas partes del sistema del reloj funcionen en todos los modos de suspensión. Esto aumentará el consumo de energía del AVR mientras está en modo de suspensión. Por lo tanto, el fusible DWEN siempre debe desactivarse cuando no se utiliza debugWIRE.
Al diseñar una PCB de aplicación de destino en la que se utilizará debugWIRE, se deben tener en cuenta las siguientes consideraciones para un funcionamiento correcto:

  • Las resistencias pull-up en la línea dW/(RESET) no deben ser más pequeñas (más fuertes) que 10 kΩ. La resistencia pull-up no es necesaria para la funcionalidad debugWIRE, ya que la herramienta de depuración proporciona
  • Cualquier condensador estabilizador conectado al pin RESET debe desconectarse cuando se usa debugWIRE, ya que interferirán con el correcto funcionamiento de la interfaz.
  • Todas las fuentes de reinicio externas u otros controladores activos en la línea RESET deben estar desconectados, ya que pueden interferir con el correcto funcionamiento de la interfaz.

Nunca programe los bits de bloqueo en el dispositivo de destino. La interfaz debugWIRE requiere que los bits de bloqueo se borren para funcionar correctamente.
4.4.15. Puntos de interrupción del software debugWIRE
El debugWIRE OCD se reduce drásticamente en comparación con el Atmel megaAVR (JTAG) TOC. Esto significa que no tiene ningún comparador de punto de interrupción de contador de programa disponible para el usuario con fines de depuración. Existe un comparador de este tipo para fines de operaciones de ejecución a cursor y de un solo paso, pero los puntos de interrupción de usuario adicionales no son compatibles con el hardware.
En su lugar, el depurador debe hacer uso de la instrucción AVR BREAK. Esta instrucción se puede colocar en FLASH y, cuando se carga para su ejecución, hará que la CPU del AVR entre en modo detenido. Para admitir puntos de interrupción durante la depuración, el depurador debe insertar una instrucción BREAK en FLASH en el punto en el que los usuarios solicitan un punto de interrupción. La instrucción original debe almacenarse en caché para su posterior reemplazo.
Cuando se pasa por encima de una instrucción BREAK, el depurador tiene que ejecutar la instrucción almacenada en caché original para preservar el comportamiento del programa. En casos extremos, el BREAK debe eliminarse de FLASH y reemplazarse más tarde. Todos estos escenarios pueden causar retrasos aparentes cuando se realiza un solo paso desde los puntos de interrupción, lo que se exacerbará cuando la frecuencia de reloj objetivo sea muy baja.
Por lo tanto, se recomienda observar las siguientes pautas, cuando sea posible:

  • Ejecute siempre el destino a la mayor frecuencia posible durante la depuración. La interfaz física debugWIRE se cronometra desde el reloj de destino.
  • Intente minimizar la cantidad de adiciones y eliminaciones de puntos de interrupción, ya que cada uno requiere que se reemplace una página FLASH en el destino
  • Intente agregar o eliminar una pequeña cantidad de puntos de interrupción a la vez, para minimizar la cantidad de operaciones de escritura de la página FLASH
  • Si es posible, evite colocar puntos de interrupción en instrucciones de dos palabras

4.4.16. Comprender debugWIRE y el fusible DWEN
Cuando está habilitada, la interfaz debugWIRE toma el control del pin /RESET del dispositivo, lo que hace que sea mutuamente excluyente con la interfaz SPI, que también necesita este pin. Al habilitar y deshabilitar el módulo debugWIRE, siga uno de estos dos enfoques:

  • Deje que Atmel Studio se encargue de todo (recomendado)
  • Configure y borre DWEN manualmente (¡tenga cuidado, solo para usuarios avanzados!)

Los programadores del depurador Atmel-ICE - Figura 16 Importante: Al manipular DWEN manualmente, es importante que el fusible SPIEN permanezca activado para evitar tener que usar High-Voltagprogramación electrónica
Figura 4-14. Comprender debugWIRE y el fusible DWENLos programadores del depurador Atmel-ICE - Figura 304.4.17.Consideraciones especiales de TinyX-OCD (UPDI)
El pin de datos UPDI (UPDI_DATA) puede ser un pin dedicado o un pin compartido, según el dispositivo AVR de destino. Un pin UPDI compartido es tolerante a 12 V y se puede configurar para usarse como /RESET o GPIO. Para obtener más detalles sobre cómo usar el pin en estas configuraciones, consulte Interfaz física UPDI.
En los dispositivos que incluyen el módulo CRCSCAN (escaneo de memoria de verificación de redundancia cíclica), este módulo no debe usarse en modo de fondo continuo durante la depuración. El módulo OCD tiene recursos de comparación de puntos de interrupción de hardware limitados, por lo que las instrucciones BREAK se pueden insertar en flash (puntos de interrupción de software) cuando se requieren más puntos de interrupción, o incluso durante la ejecución paso a paso del código a nivel de fuente. El módulo CRC podría detectar incorrectamente este punto de interrupción como una corrupción del contenido de la memoria flash.
El módulo CRCSCAN también se puede configurar para realizar un escaneo CRC antes del arranque. En el caso de una discrepancia de CRC, el dispositivo no se iniciará y parecerá estar en un estado bloqueado. La única forma de recuperar el dispositivo de este estado es realizar un borrado completo del chip y programar una imagen flash válida o deshabilitar el CRCSCAN previo al arranque. (Un simple borrado de chip dará como resultado un flash en blanco con CRC no válido y, por lo tanto, la pieza aún no se iniciará). Atmel Studio desactivará automáticamente los fusibles CRCSCAN cuando el chip borre un dispositivo en este estado.
Al diseñar una PCB de aplicación de destino donde se utilizará la interfaz UPDI, se deben tener en cuenta las siguientes consideraciones para una operación correcta:

  • Las resistencias pull-up en la línea UPDI no deben ser más pequeñas (más fuertes) que 10 kΩ. No se debe usar una resistencia desplegable, o se debe quitar cuando se usa UPDI. El UPDI físico es compatible con push-pull, por lo que solo se requiere una resistencia de pull-up débil para evitar la activación del bit de inicio falso cuando la línea está
  • Si el pin UPDI se va a usar como pin RESET, cualquier condensador estabilizador debe desconectarse cuando se usa UPDI, ya que interferirá con el funcionamiento correcto de la interfaz.
  • Si el pin UPDI se usa como pin RESET o GPIO, todos los controladores externos en la línea deben desconectarse durante la programación o la depuración, ya que pueden interferir con el correcto funcionamiento de la interfaz.

Descripción del hardware

5.1.LED
El panel superior de Atmel-ICE tiene tres LED que indican el estado de las sesiones de programación o depuración actuales.Los programadores del depurador Atmel-ICE - Figura 31

Mesa 5-1. LED

CONDUJO Función

Descripción

Izquierda Potencia objetivo VERDE cuando la potencia objetivo está bien. El parpadeo indica un error de alimentación del objetivo. No se enciende hasta que se inicia una conexión de sesión de programación/depuración.
Medio Alimentación principal ROJO cuando la alimentación de la placa principal está bien.
Bien Estado Parpadea en VERDE cuando el objetivo está corriendo o dando pasos. APAGADO cuando el objetivo está detenido.

5.2 . Panel trasero
El panel trasero del Atmel-ICE alberga el conector USB Micro-B.Los programadores del depurador Atmel-ICE - Figura 325.3. Panel inferior
El panel inferior del Atmel-ICE tiene una etiqueta que muestra el número de serie y la fecha de fabricación. Cuando busque soporte técnico, incluya estos detalles.Los programadores del depurador Atmel-ICE - Figura 335.4 .Arquitectura Descripción
La arquitectura Atmel-ICE se muestra en el diagrama de bloques de la Figura 5-1.
Figura 5-1. Diagrama de bloques de Atmel-ICELos programadores del depurador Atmel-ICE - Figura 345.4.1. Placa principal Atmel-ICE
La alimentación se suministra al Atmel-ICE desde el bus USB, regulada a 3.3 V por un regulador de modo de interruptor reductor. El pin VTG se usa solo como entrada de referencia, y una fuente de alimentación separada alimenta el volumen variabletage lado de los convertidores de nivel a bordo. En el corazón de la placa principal Atmel-ICE se encuentra el microcontrolador Atmel AVR UC3 AT32UC3A4256, que funciona entre 1 MHz y 60 MHz, según las tareas que se procesen. El microcontrolador incluye un módulo USB 2.0 de alta velocidad en el chip, lo que permite un alto rendimiento de datos hacia y desde el depurador.
La comunicación entre el Atmel-ICE y el dispositivo objetivo se realiza a través de un banco de convertidores de nivel que cambian las señales entre el volumen operativo del objetivotage y el volumen internotage nivel en el Atmel-ICE. También en la ruta de la señal hay sobrevoltaje zenertage diodos de protección, resistencias de terminación en serie, filtros inductivos y diodos de protección ESD. Todos los canales de señal se pueden operar en el rango de 1.62 V a 5.5 V, aunque el hardware Atmel-ICE no puede generar un volumen mayor.tage que 5.0V. La frecuencia operativa máxima varía según la interfaz de destino en uso.
5.4.2.Conectores de destino Atmel-ICE
El Atmel-ICE no tiene una sonda activa. Se utiliza un cable IDC de 50 mil para conectarse a la aplicación de destino, ya sea directamente o mediante los adaptadores incluidos en algunos kits. Para obtener más información sobre el cableado y los adaptadores, consulte la sección Montaje del Atmel-ICE
5.4.3. Números de pieza de los conectores de destino Atmel-ICE
Para conectar el cable IDC Atmel-ICE de 50 milésimas de pulgada directamente a una placa de destino, cualquier encabezado estándar de 50 pines de 10 milésimas de pulgada debería ser suficiente. Se recomienda utilizar encabezados con clave para garantizar la orientación correcta al conectarse al objetivo, como los que se utilizan en la placa adaptadora incluida con el kit.
El número de pieza de este encabezado es: FTSH-105-01-L-DV-KAP de SAMTEC

Integración de software

6.1. Estudio Atmel
6.1.1.Integración de software en Atmel Studio
Atmel Studio es un entorno de desarrollo integrado (IDE) para escribir y depurar aplicaciones Atmel AVR y Atmel SAM en entornos Windows. Atmel Studio proporciona una herramienta de gestión de proyectos, fuente file editor, simulador, ensamblador y front-end para C/C++, programación, emulación y depuración en chip.
Atmel Studio versión 6.2 o posterior debe usarse junto con Atmel-ICE.
6.1.2. Opciones de programación
Atmel Studio admite la programación de dispositivos Atmel AVR y Atmel SAM ARM utilizando Atmel-ICE. El diálogo de programación se puede configurar para usar JTAG, aWire, SPI, PDI, TPI, modos SWD, según el dispositivo de destino seleccionado.
Al configurar la frecuencia del reloj, se aplican diferentes reglas para diferentes interfaces y familias de destino:

  • La programación SPI hace uso del reloj objetivo. Configure la frecuencia del reloj para que sea inferior a un cuarto de la frecuencia a la que se está ejecutando actualmente el dispositivo de destino.
  • JTAG la programación en los dispositivos Atmel megaAVR está cronometrada por el Esto significa que la frecuencia del reloj de programación está limitada a la frecuencia operativa máxima del propio dispositivo. (Generalmente 16 MHz.)
  • Programación AVR XMEGA en ambos JTAG y las interfaces PDI son cronometradas por el programador. Esto significa que la frecuencia del reloj de programación está limitada a la frecuencia operativa máxima del dispositivo (generalmente 32 MHz).
  • Programación AVR UC3 en JTAG la interfaz es cronometrada por el programador. Esto significa que la frecuencia del reloj de programación está limitada a la frecuencia máxima de funcionamiento del propio dispositivo. (Limitado a 33 MHz.)
  • La programación del AVR UC3 en la interfaz aWire está sincronizada por el La frecuencia óptima viene dada por la velocidad del bus SAB en el dispositivo de destino. El depurador Atmel-ICE ajustará automáticamente la tasa de baudios de aWire para cumplir con este criterio. Aunque normalmente no es necesario, el usuario puede limitar la velocidad máxima en baudios si es necesario (por ejemplo, en entornos ruidosos).
  • La programación del dispositivo SAM en la interfaz SWD está sincronizada por el programador. La frecuencia máxima admitida por Atmel-ICE es de 2 MHz. La frecuencia no debe exceder la frecuencia de la CPU de destino multiplicada por 10, fSWD ≤ 10fSYSCLK .

6.1.3.Opciones de depuración
Al depurar un dispositivo Atmel AVR usando Atmel Studio, la pestaña 'Herramienta' en las propiedades del proyecto view contiene algunas opciones de configuración importantes. Las opciones que necesitan más explicación se detallan aquí.
Frecuencia de reloj objetivo
Establecer con precisión la frecuencia de reloj objetivo es vital para lograr una depuración confiable del dispositivo Atmel megaAVR sobre el JTAG interfaz. Esta configuración debe ser inferior a un cuarto de la frecuencia operativa más baja de su dispositivo de destino AVR en la aplicación que se está depurando. Consulte Consideraciones especiales de megaAVR para obtener más información.
Las sesiones de depuración en los dispositivos de destino debugWIRE son cronometradas por el propio dispositivo de destino y, por lo tanto, no se requiere configuración de frecuencia. El Atmel-ICE seleccionará automáticamente la velocidad de transmisión correcta para comunicarse al comienzo de una sesión de depuración. Sin embargo, si experimenta problemas de confiabilidad relacionados con un entorno de depuración ruidoso, algunas herramientas ofrecen la posibilidad de forzar la velocidad de debugWIRE a una fracción de su configuración "recomendada".
Las sesiones de depuración en los dispositivos de destino AVR XMEGA se pueden sincronizar hasta la velocidad máxima del propio dispositivo (generalmente 32 MHz).
Sesiones de depuración en dispositivos de destino AVR UC3 a través de JTAG la interfaz se puede sincronizar hasta la velocidad máxima del propio dispositivo (limitada a 33 MHz). Sin embargo, la frecuencia óptima estará ligeramente por debajo del reloj SAB actual en el dispositivo de destino.
Las sesiones de depuración en los dispositivos de destino UC3 a través de la interfaz aWire se ajustarán automáticamente a la tasa de baudios óptima por parte del propio Atmel-ICE. Sin embargo, si experimenta problemas de confiabilidad relacionados con un entorno de depuración ruidoso, algunas herramientas ofrecen la posibilidad de forzar la velocidad de aWire por debajo de un límite configurable.
Las sesiones de depuración en dispositivos de destino SAM a través de la interfaz SWD se pueden sincronizar hasta diez veces el reloj de la CPU (pero con un límite de 2 MHz como máximo).
Conservar EEPROM
Seleccione esta opción para evitar borrar la EEPROM durante la reprogramación del objetivo antes de una sesión de depuración.
Usar restablecimiento externo
Si su aplicación de destino deshabilita la JTAG interfaz, el restablecimiento externo debe estar bajo durante la programación. Seleccionar esta opción evita que se le pregunte repetidamente si desea usar el restablecimiento externo.
6.2 Utilidad de línea de comandos
Atmel Studio viene con una utilidad de línea de comandos llamada atprogram que se puede usar para programar objetivos usando Atmel-ICE. Durante la instalación de Atmel Studio, un atajo llamado “Atmel Studio 7.0. Símbolo del sistema” se crearon en la carpeta Atmel en el menú Inicio. Al hacer doble clic en este acceso directo, se abrirá un símbolo del sistema y se pueden ingresar comandos de programación. La utilidad de línea de comandos se instala en la ruta de instalación de Atmel Studio en la carpeta Atmel/Atmel Studio 7.0/atbackend/.
Para obtener más ayuda sobre la utilidad de línea de comandos, escriba el comando:
atprogram –ayuda

Técnicas avanzadas de depuración

7.1. Objetivos Atmel AVR UC3
7.1.1. Uso de EVTI/EVTO
Los pines EVTI y EVTO no son accesibles en el Atmel-ICE. Sin embargo, todavía se pueden utilizar junto con otros equipos externos.
EVTI se puede utilizar para los siguientes propósitos:

  • Se puede obligar al objetivo a detener la ejecución en respuesta a un evento externo. Si los bits de Event In Control (EIC) en el registro de CC se escriben en 0b01, la transición de alto a bajo en el pin EVTI generará una condición de punto de interrupción. EVTI debe permanecer bajo durante un ciclo de reloj de la CPU para garantizar que se establezca un punto de interrupción. El bit de punto de interrupción externo (EXB) en DS se establece cuando esto ocurre.
  • Generación de mensajes de sincronización de seguimiento. No utilizado por el Atmel-ICE. EVTO se puede utilizar para los siguientes propósitos:
  • Indicar que la CPU ha ingresado a depuración Al establecer los bits EOS en DC en 0b01, el pin EVTO se baja durante un ciclo de reloj de la CPU cuando el dispositivo de destino ingresa al modo de depuración. Esta señal se puede utilizar como fuente de disparo para un osciloscopio externo.
  • Indica que la CPU ha alcanzado un punto de interrupción o un punto de vigilancia. Al configurar el bit EOC en un registro de control de punto de interrupción/punto de observación correspondiente, el estado del punto de interrupción o del punto de observación se indica en el pin EVTO. Los bits EOS en DC deben establecerse en 0xb10 para habilitar esta función. El pin EVTO se puede conectar a un osciloscopio externo para examinar el punto de observación.
  • Generación de señales de temporización de trazas. No utilizado por el Atmel-ICE.

7.2 Destinos debugWIRE
Puntos de interrupción del software 7.2.1.debugWIRE
El debugWIRE OCD se reduce drásticamente en comparación con el Atmel megaAVR (JTAG) TOC. Esto significa que no tiene ningún comparador de punto de interrupción de contador de programa disponible para el usuario con fines de depuración. Existe un comparador de este tipo para fines de operaciones de ejecución a cursor y de un solo paso, pero los puntos de interrupción de usuario adicionales no son compatibles con el hardware.
En su lugar, el depurador debe hacer uso de la instrucción AVR BREAK. Esta instrucción se puede colocar en FLASH y, cuando se carga para su ejecución, hará que la CPU del AVR entre en modo detenido. Para admitir puntos de interrupción durante la depuración, el depurador debe insertar una instrucción BREAK en FLASH en el punto en el que los usuarios solicitan un punto de interrupción. La instrucción original debe almacenarse en caché para su posterior reemplazo.
Cuando se pasa por encima de una instrucción BREAK, el depurador tiene que ejecutar la instrucción almacenada en caché original para preservar el comportamiento del programa. En casos extremos, el BREAK debe eliminarse de FLASH y reemplazarse más tarde. Todos estos escenarios pueden causar retrasos aparentes cuando se realiza un solo paso desde los puntos de interrupción, lo que se exacerbará cuando la frecuencia de reloj objetivo sea muy baja.
Por lo tanto, se recomienda observar las siguientes pautas, cuando sea posible:

  • Ejecute siempre el destino a la mayor frecuencia posible durante la depuración. La interfaz física debugWIRE se cronometra desde el reloj de destino.
  • Intente minimizar la cantidad de adiciones y eliminaciones de puntos de interrupción, ya que cada uno requiere que se reemplace una página FLASH en el destino
  • Intente agregar o eliminar una pequeña cantidad de puntos de interrupción a la vez, para minimizar la cantidad de operaciones de escritura de la página FLASH
  • Si es posible, evite colocar puntos de interrupción en instrucciones de dos palabras

Historial de versiones y problemas conocidos

8.1 .Historial de versiones de firmware
Tabla 8-1. Revisiones de firmware público

Versión de firmware (decimal) Fecha

Cambios relevantes

1.36 29.09.2016 Se agregó soporte para la interfaz UPDI (dispositivos tinyX)
Hizo configurable el tamaño del punto final USB
1.28 27.05.2015 Se agregó soporte para interfaces SPI y USART DGI.
Velocidad SWD mejorada. Correcciones de errores menores.
1.22 03.10.2014 Perfilado de código añadido.
Problema solucionado relacionado con JTAG Cadenas tipo margarita con más de 64 bits de instrucción.
Arreglo para la extensión de reinicio de ARM. Solucionado el problema del led de alimentación del objetivo.
1.13 08.04.2014 JTAG corrección de la frecuencia del reloj.
Arreglo para debugWIRE con SUT largo.
Comando fijo de calibración del oscilador.
1.09 12.02.2014 Primer lanzamiento de Atmel-ICE.

8.2 Problemas conocidos relacionados con Atmel-ICE
8.2.1.General

  • Los lotes iniciales de Atmel-ICE tenían un USB débil. Se ha realizado una nueva revisión con un conector USB nuevo y más robusto. Como solución provisional, se ha aplicado cola epoxi a las unidades ya producidas de la primera versión para mejorar la estabilidad mecánica.

8.2.2. Atmel AVR XMEGA OCD Problemas específicos

  • Para la familia ATxmegaA1, solo se admite la revisión G o posterior

8.2.1. Atmel AVR - Problemas específicos del dispositivo

  • El ciclo de encendido del ATmega32U6 durante una sesión de depuración puede causar una pérdida de contacto con el dispositivo

Cumplimiento del producto

9.1. RoHS y RAEE
El Atmel-ICE y todos los accesorios se fabrican de acuerdo con la directiva RoHS (2002/95/EC) y la directiva WEEE (2002/96/EC).
9.2. CE y FCC
La unidad Atmel-ICE ha sido probada de acuerdo con los requisitos esenciales y otras disposiciones relevantes de las Directivas:

  • Directiva 2004/108/CE (clase B)
  • FCC parte 15 subparte B
  • 2002/95/CE (RoHS, RAEE)

Los siguientes estándares se utilizan para la evaluación:

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

La construcción técnica File se encuentra en:
Se ha hecho todo lo posible para minimizar las emisiones electromagnéticas de este producto. Sin embargo, bajo ciertas condiciones, el sistema (este producto conectado a un circuito de aplicación de destino) puede emitir frecuencias de componentes electromagnéticos individuales que excedan los valores máximos permitidos por los estándares mencionados anteriormente. La frecuencia y la magnitud de las emisiones estarán determinadas por varios factores, incluido el diseño y el enrutamiento de la aplicación de destino con la que se utiliza el producto.

Historial de revisiones

Doc. Rdo.

Fecha

Comentarios

42330C 10/2016 Se agregó la interfaz UPDI y se actualizó el historial de versiones de firmware.
42330B 03/2016 • Capítulo revisado de depuración en chip
• Nuevo formato del historial de versiones de firmware en el capítulo Historial de versiones y Problemas conocidos
• Pinout de cable de depuración agregado
42330A 06/2014 Publicación inicial del documento

Atmel®, logotipo de Atmel y combinaciones de los mismos, Habilitación de posibilidades ilimitadas®, AVR®, mega AVR®, STK®, diminutoAVR®, XMEGA®, y otras son marcas registradas o marcas comerciales de Atmel Corporation en EE. UU. y otros países. BRAZO®, BRAZO conectado® logotipo, corteza®, y otras son marcas registradas o marcas comerciales de ARM Ltd. Windows® es una marca registrada de Microsoft Corporation en EE. UU. y otros países. Otros términos y nombres de productos pueden ser marcas comerciales de terceros.
DESCARGO DE RESPONSABILIDAD: La información de este documento se proporciona en relación con los productos Atmel. No se otorga ninguna licencia, expresa o implícita, por impedimento legal o de otro modo, a ningún derecho de propiedad intelectual mediante este documento o en relación con la venta de productos Atmel. EXCEPTO LO ESTABLECIDO EN LOS TÉRMINOS Y CONDICIONES DE VENTAS DE ATMEL UBICADOS EN EL ATMEL WEBSITIO WEB, ATMEL NO ASUME RESPONSABILIDAD ALGUNA Y RENUNCIA A CUALQUIER GARANTÍA EXPRESA, IMPLÍCITA O LEGAL RELACIONADA CON SUS PRODUCTOS, INCLUYENDO, ENTRE OTROS, LA GARANTÍA IMPLÍCITA DE COMERCIABILIDAD, IDONEIDAD PARA UN FIN DETERMINADO O NO VIOLACIÓN. EN NINGÚN CASO ATMEL SERÁ RESPONSABLE DE NINGÚN DAÑO DIRECTO, INDIRECTO, CONSECUENTE, PUNITIVO, ESPECIAL O INCIDENTAL (INCLUYENDO, SIN LIMITACIÓN, DAÑOS POR PÉRDIDAS Y BENEFICIOS, INTERRUPCIÓN DEL NEGOCIO O PÉRDIDA DE INFORMACIÓN) QUE SURJAN DEL USO O LA INCAPACIDAD DE USO ESTE DOCUMENTO, INCLUSO SI ATMEL HA SIDO INFORMADO
DE LA POSIBILIDAD DE TALES DAÑOS. Atmel no hace representaciones ni garantías con respecto a la exactitud o integridad del contenido de este documento y se reserva el derecho de realizar cambios en las especificaciones y descripciones de los productos en cualquier momento sin previo aviso. Atmel no se compromete a actualizar la información aquí contenida. A menos que se indique específicamente lo contrario, los productos de Atmel no son adecuados y no deben utilizarse en aplicaciones automotrices. Los productos de Atmel no están destinados, autorizados ni garantizados para su uso como componentes en aplicaciones destinadas a soportar o sostener la vida.
EXENCIÓN DE RESPONSABILIDAD DE APLICACIONES AUTOMOTRICES, MILITARES Y DE SEGURIDAD CRÍTICA: Los productos de Atmel no están diseñados y no se utilizarán en relación con ninguna aplicación en la que se esperaría razonablemente que la falla de dichos productos resultara en lesiones personales significativas o la muerte ("Seguridad crítica Aplicaciones”) sin el consentimiento específico por escrito de un funcionario de Atmel. Las aplicaciones críticas para la seguridad incluyen, entre otros, dispositivos y sistemas de soporte vital, equipos o sistemas para la operación de instalaciones nucleares y sistemas de armas. Los productos de Atmel no están diseñados ni destinados para su uso en aplicaciones o entornos militares o aeroespaciales a menos que Atmel los designe específicamente como de grado militar. Los productos Atmel no están diseñados ni destinados para su uso en aplicaciones automotrices a menos que Atmel los designe específicamente como de grado automotriz.

logotipo de AtmelCorporación Atmel
1600 Technology Drive, San José, CA 95110 EE. UU.
Teléfono: (+1)(408) 441.0311
Teléfono: (+1)(408) 436.4200
www.atmel.com
© 2016 Corporación Atmel.
Rev.: Atmel-42330C-Atmel-ICE_Guía del usuario-10/2016
Los programadores del depurador Atmel-ICE - icono 2

Documentos / Recursos

Atmel Los programadores del depurador Atmel-ICE [pdf] Guía del usuario
Los programadores del depurador Atmel-ICE, los programadores del depurador Atmel-ICE, los programadores

Referencias

Deja un comentario

Su dirección de correo electrónico no será publicada. Los campos obligatorios están marcados *