[Risolto] Errore di compilazione con ATtiny84

Ok, ho risolto! :slight_smile:

Grazie a questo prezioso link trovato in rete (e successivamente tradotto in italiano):

Qui si parla di un bug del linker riguardo l'architettura "avr25" (alla quale appartengono 84/85) che sarebbero state "dimenticate" nei file di configurazione. Dice anche come aggiornare il toolset per risolverlo.

Pubblico le operazioni che ho eseguito dato che possono essere utili:

  • Scaricato e installato l'ultima versione di WinAVR
  • Copiato tutti i file di WinAVR in PathArduino/hardware/tools/avr (avendo prima cura di rinomirare quella originale come avr_OLD)
  • Creato una dir "etc" in PathArduino/hardware/tools/avr
  • Modificato il file "avrdude.conf" presente in PathArduino/hardware/tools/avr/bin aggiungendo nelle sezioni "ATtiny84" e "ATtiny85" ESCLUSIVAMENTE le righe:

pagel = 0xB3;
bs2 = 0xB4;

Per chiarire meglio l'esatto punto di inserimento, ad esempio, la parte relativa a "ATtiny84" è diventata:

#------------------------------------------------------------
# ATtiny84
#------------------------------------------------------------

part
     id            = "t84";
     desc          = "ATtiny84";
     has_debugwire = yes;
     flash_instr   = 0xB4, 0x07, 0x17;
     eeprom_instr  = 0xBB, 0xFF, 0xBB, 0xEE, 0xBB, 0xCC, 0xB2, 0x0D,
	             0xBC, 0x07, 0xB4, 0x07, 0xBA, 0x0D, 0xBB, 0xBC,
	             0x99, 0xE1, 0xBB, 0xAC;
## no STK500 devcode in XML file, use the ATtiny45 one
     stk500_devcode   = 0x14;
##  avr910_devcode   = ?;
##  Try the AT90S2313 devcode:
     avr910_devcode   = 0x20;
     signature        = 0x1e 0x93 0x0c;
     reset            = io;
     chip_erase_delay = 4500;

# aggiunti per eliminare il bug di compilazione.
     pagel = 0xB3;
     bs2 = 0xB4;
     
 ...... altre impostazioni...continua sezione .....
  • Infine ho copiato il file "avrdude.conf" in PathArduino/hardware/tools/avr/etc (la directory creata precedentemente).

Riavviando l'IDE ho potuto compilare con successo fino a oltre 7K, quindi credo che il problema sia stato risolto.

L'autore del post dice che attualmente non c'è una fonte definitiva per le impostazioni di pagel e bs2. Cmq con i valori inseriti pare andare perfettamente. Inoltre non ho inserito le righe con "read" (indicate nel post) perchè le ho trovate già inserite e ho preferito non modificarle.

Per quanto riguarda la toolchain ho le stesse versioni di ivan64.