Articulo de referencia

debugWIRE

debugWIRE es un protocolo de comunicación serie, diseñado por Atmel . Se utiliza para la depuración en chip de microcontroladores AVR . Protocolo debugWIRE está diseñado como un...

debugWIRE es un protocolo de comunicación serie, diseñado por Atmel . Se utiliza para la depuración en chip de microcontroladores AVR .

Protocolo

debugWIRE está diseñado como una alternativa más simple a JTAG , dirigida a microcontroladores (MCU) con recursos limitados. Es compatible con el clásico ATtiny y algunos microcontroladores ATmega más pequeños, como el ATmega328 . Al usar debugWIRE, se tiene acceso completo de lectura y escritura a toda la memoria y control total sobre el flujo de ejecución. Admite instrucciones de paso a paso, ejecución hasta el cursor, salida de paso y interrupción por software. Un punto de interrupción (ejecución hasta el cursor) se establecerá reprogramando el código de operación BREAK [ 1 ] en la memoria flash del MCU. Se debe tener cuidado debido al número limitado de ciclos de escritura garantizados (10000) del dispositivo. [ 2 ] Para evitar reprogramar la memoria flash, use paso a paso o ejecución hasta el cursor, que usarán un único punto de interrupción de hardware.

Modelos de programadores

debugWIRE es compatible con todos los depuradores de hardware modernos de Microchip . Esto incluye Atmel-ICE, [ 3 ] JTAGICE3, AVR Dragon, JTAGICE mkII y SNAP. [ 4 ] También es posible construir un depurador de hardware debugWIRE económico [ 5 ] basado en un boceto de Arduino de código abierto , [ 6 ] utilizando un adaptador USB-Serial general o una placa ATtiny85, [ 7 ] o un microcontrolador CH552. [ 8 ]

Especificaciones de debugWIRE

debugWIRE se activa configurando (programando a cero) el fusible DWEN (habilitación de debugWIRE), normalmente ubicado en el byte alto del fusible. Después de esta acción, la función del pin /RESET ya no está disponible y el protocolo ISP no se puede utilizar. debugWIRE se puede deshabilitar con cualquiera de los depuradores mencionados enviando un comando de reinicio especial que deshabilita temporalmente la función debugWIRE y vuelve a habilitar /RESET y también ISP hasta el siguiente ciclo de apagado. debugWIRE no puede programar los fusibles de un dispositivo. Si desea deshabilitar debugWIRE permanentemente, debe deshabilitar la función temporalmente y programar el fusible utilizando la función ISP ahora disponible. [ 9 ] debugWIRE utiliza una conexión serie de drenaje abierto de 1 cable . La velocidad de transmisión predeterminada utilizada es el reloj del MCU/128. Enviar un BREAK devolverá 0x55 que se utiliza para detectar la velocidad de transmisión. El MCU devolverá un BREAK cuando se alcance un punto de interrupción o se detecte una colisión en la conexión debugWIRE. 0x06 se usa para deshabilitar debugWIRE y volver a habilitar /RESET e ISP, 0x07 reinicia el MCU, 0xF0 devuelve el PC, 0xF3 el ID de debugWIRE. [ 10 ] [ 11 ] [ 12 ]

Referencias

  1. Manual de instrucciones del AVR
  2. Resumen de la hoja de datos de ATtiny25-ATtiny45-ATtiny85.pdf
  3. Atmel-ICE
  4. Depurador en circuito MPLAB SNAP
  5. Un depurador de hardware debugWIRE por menos de 10 €
  6. dw-link---Un depurador debugWIRE basado en Arduino
  7. dwire-debug
  8. Paquete de placas Arduino para depurar Uno/ATmega328P con el depurador CH552 en Arduino IDE 2.0.0
  9. Artículo de debugWIRE (en alemán)
  10. El protocolo debugWIRE
  11. Depurador debugWIRE sencillo e independiente (código abierto)
  12. Microchip Makes (25 de noviembre de 2015). "Depuración avanzada con placas Arduino" vía YouTube.