Dai un'occhiata all'avarizia. La sua pagina man ha anche qualcosa da dire su debugwire. Non so se sarà una buona o cattiva notizia, però.
abilita debugwire
abilita con avrdude (fusibile per attiny88):
avrdude -c dragon_isp -P usb -p attiny88 -v -U hfuse:w:0xd9:m
compilazione
- deve essere compilato con -ggdb o great (--gdb3) ma non sembra essere d'aiuto con le macro
-
nessuna ottimizzazione
COMPILE =$(GCC_PATH) -ggdb3 -Wall -Wextra $(OTTIMIZZAZIONE) -std=gnu11 -flto -mmcu=$(DISPOSITIVO) -DF_CPU=$(OROLOGIO)
servono main.hex e main.elf
debug
iniziare l'avarizia:
avarice -g -w -P attiny88 :4242
poi avvia gdb:
avr-gdb main.elf
e connettiti:
target remote localhost:4242
punti di interruzione
sw solo punti di interruzione con debugwire, quindi se hai bisogno di punti di interruzione usa:
asm('break');
torna alla modalità spi/icsp
NB. Il pin VTG/VCC (2 sull'intestazione) deve essere collegato all'alimentazione del chip affinché funzioni!
avrdude -c dragon_isp -P usb -p attiny88 -v -U hfuse:w:0xdd:m