Ok, ho risolto! ![]()
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.