1: handler.h -> falta __attribute__ ((weak)) em cada declaração 2: main.cc -> while(1); -> falta ";" 3: my_handler.cc -> asm("reti\n"); no final das funções 4: system.cc -> asm("out %0, %1;" : : "i"(GIMSK), "r"(0x01)); erro: (0x02) -> (0xC0) 5: system.cc -> if(count == 60), ou seja, o tratador está zerando o timer toda vez que uma interrupção ocorre, e não a cada 60 interrupções. 6: timer.h -> as fuções start e stop estão invertidas. 7: avr8.h -> no enum: DDRB = 0x17 8: makefile -> foram removidos os -fomit-frame-poiter das linhas de compilação de handler.cc, vector.cc e my_handler.cc 9: context.h -> na "função" REST_CONTEXT() invertida a ortem de recuperação de registradores da pilha. 10: vector.h -> funções __vectors e __bad_interrupts precisam estar dentro de um extern "C"{}