AVR debugwire en Linux

7

Entonces, he conectado un ATtiny88 y lo estoy programando con el AVR Dragon usando ISP. También he configurado la cadena de herramientas de compilación, usando avrdude, y las herramientas gnu avr. Todo está funcionando muy bien.

Ahora me gustaría hacer la depuración en el circuito utilizando el debugwire anunciado que también está conectado al ISP y que el dragon soporta. ¿Pero qué herramientas utilizo? Veo que hay un avr-gdb, pero parece que necesito algún tipo de simulador, sin embargo, me gustaría depurar en el circuito en la MCU real. ¿Es esto posible?

Gracias de antemano.

    
pregunta bjarkef

2 respuestas

2

Echa un vistazo a avarice . Su página man también tiene algo que decir sobre debugwire . Sin embargo, no sé si serán buenas o malas noticias.

    
respondido por el XTL
0

habilitar debugwire

habilitar con avrdude (fusible para attiny88):

avrdude -c dragon_isp -P usb -p attiny88 -v -U hfuse:w:0xd9:m

compilación

  • debe compilarse con -ggdb o genial (--gdb3) pero no parece ayudar con macros
  • sin optimizaciones

    COMPILE = $ (GCC_PATH) -ggdb3 -Wall -Wextra $ (OPTIMIZATION) -std = gnu11 -flto -mmcu = $ (DEVICE) -DF_CPU = $ (CLOCK)

necesita main.hex y main.elf

depuración

inicia la avaricia:

avarice -g -w -P attiny88 :4242

luego inicia gdb:

avr-gdb main.elf

y conéctate:

target remote localhost:4242

puntos de interrupción

solo intercambie puntos de interrupción con debugwire, por lo que si los necesita, use:

asm('break');

volver al modo spi / icsp

NB. ¡El pin VTG / VCC (2 en el encabezado) debe estar conectado al suministro del chip para que esto funcione!

avrdude -c dragon_isp -P usb -p attiny88 -v -U hfuse:w:0xdd:m
    
respondido por el Matt Venn

Lea otras preguntas en las etiquetas