Go Down

Topic: [WIN] Aggiornam. compilatore IDE 0022-0023-1.0 all'ULTIMA VERSIONE ATMEL (Read 57448 times) previous topic - next topic

astrobeed


In un vecchio post tu specificasti meglio questa cosa. Le vecchie versioni di avr-gcc distribuite con l'IDE versione Windows hanno il limite a 64 KB di Flash.


Dai test che ho fatto la versione 4.3.2 di avr gcc compila sketch fino a 128kbyte di flash, ovvero 64 kword, senza problemi, mentre se ci sono dei dati posti nella flash oltre i 64 k o il programma va oltre le 65word ci sono problemi del tipo software in crash, autoreset, dati alterati etc.
Il bug dei dati posti oltre 64k è una issue ufficiale, i 128k sono un limite di quella versione del compilatore perché probabilmente alla data del suo rilascio non esistevano AVR 8 bit con più di 128k, non ho verificato le date, ma non credo di sbagliarmi.

BrainBooster


Michele Menniti


Grazie del feedback Meniti,sempre gentilissimo :)

Figurati, è un piacere, e poi hai realizzato una cosa coi czz :D
ora esce l'errore:
Code: [Select]
avrdude: Yikes!  Invalid device signature.
avrdude: Expected signature for ATtiny2313 is 1E 91 0A

che è una cosa buona, perché comunque carica lo sketch, FUNZIONA!!!!, e però ti avvisa che hai la sign sballata.
Ma dimmi una cosa, e questa è una prova che non faccio :smiley-sweat:, così facendo, qualsiasi micro butto lì sopra me lo programma o comunque c'è un minimo di controllo sul tipo di micro installato, altrimenti sai che casino!
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

leo72



In un vecchio post tu specificasti meglio questa cosa. Le vecchie versioni di avr-gcc distribuite con l'IDE versione Windows hanno il limite a 64 KB di Flash.


Dai test che ho fatto la versione 4.3.2 di avr gcc compila sketch fino a 128kbyte di flash, ovvero 64 kword, senza problemi, mentre se ci sono dei dati posti nella flash oltre i 64 k o il programma va oltre le 65word ci sono problemi del tipo software in crash, autoreset, dati alterati etc.
Il bug dei dati posti oltre 64k è una issue ufficiale, i 128k sono un limite di quella versione del compilatore perché probabilmente alla data del suo rilascio non esistevano AVR 8 bit con più di 128k, non ho verificato le date, ma non credo di sbagliarmi.


Bene, quindi io avendo la 4.3.5 compilo senza problemi sketch che possono occupare tutta la memoria di un 1284. Ottimo a sapersi.
Se qualcuno ha bisogno, il service di compilazione è aperto a tutti  ;)

BrainBooster

#94
Mar 18, 2012, 07:01 pm Last Edit: Mar 18, 2012, 07:03 pm by BrainBooster Reason: 1
Ho fatto in modo che ci sia il -F fisso, e che non ti cacci fuori in caso di signature non combaciante.
credo che come ho detto prima, questo avrdude programmi ciecamente qualsiasi cosa sul socket quindi occhio!.
Questa era solo una prova per vedere se il problema è aggirabile, nulla di definitivo.
Adesso potrei pensare di aggiungere un flag (opzionale) per l'upload cieco.

Michele Menniti


Ho fatto in modo che ci sia il -F fisso, e che non ti cacci fuori in caso di signature non combaciante.
credo che come ho detto prima, questo avrdude programmi ciecamente qualsiasi cosa lul socket quindi occhio!.
Questa era solo una prova per vedere se il problema è aggirabile, nulla di definitivo.
Adesso potrei pensare di aggiungere un flag (opzionale) per l'upload cieco.

Va bene, lo conservo come AVRDUDE_programma_morti, se fai qualcosa di più efficiente fammi sapere ;)
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

BrainBooster

Bella idea! :) spero che torni utile per resuscitarei morti.
Anche così com'è, se usato con criterio e con tutte le prudenze del caso , và bene ;)

Michele Menniti


Bella idea! :) spero che torni utile per resuscitarei morti.
Anche così com'è, se usato con criterio e con tutte le prudenze del caso , và bene ;)

Sì, infatti ho messo un blink su tre led su questo 2313 che avevo conservato per "usi futuri" e funziona tranquillamente in stand-alone, col mio programmatore gli imposto i fuse che voglio e questo micro è prontissimo per finire nel primo progetto utile. Grazie!
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Testato

bel lavoro BB

grazie ad Astro e Leo per gli approfondimenti sui limiti di avrgcc
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

PaoloP



@Menniti lascia il resto così com'è , copia solo l'eseguibile

Non funziona è si è pure incazzato con te :smiley-eek-blue:
Code: [Select]
Yikes!  Invalid device signature.
         Double check connections and try again, BB!

Giuro che quel BB non l'ho scritto io ma è uscito da solo :smiley-roll-sweat:


Mi sto piegando dalle risate!!  :smiley-yell: :smiley-yell: :smiley-yell:

astrobeed

Ci siamo quasi, per la prima volta sono riuscito a compilare senza errori, e con eseguibile funzionante, MultiWii 1.9 con la toolchain Atmel.
MultiWii ha la caratteristica di accedere direttamente ai registri macchina scavalcando Wiring, è un buon banco di prova per la toolchain.




BrainBooster

Io ho appena finito di ricompilare avrdude 5.11.1 su windoows e gli ho aggiunto una funzione in più.
Adesso è possibile lanciarlo attivando il flag "-R" che sta per "resurrect".
Con l'opzione -R è possibile attivare l'opzione resurrect che permette ad avrdude di programmare (su richiesta) anche i micro con la signature danneggiata ma ancora funzionanti, attenzione, non ho provato ma credo che con -R avrdude programmi anche in caso di micro sbagliato, quindi spero che quelli che lo useranno sapranno quello che stanno facendo ;)
in seguito vedrò se è possibile implementare l'uso del -R anche dall'ide di arduino magari modificando le upload options ;)

Michele Menniti




@Menniti lascia il resto così com'è , copia solo l'eseguibile

Non funziona è si è pure incazzato con te :smiley-eek-blue:
Code: [Select]
Yikes!  Invalid device signature.
         Double check connections and try again, BB!

Giuro che quel BB non l'ho scritto io ma è uscito da solo :smiley-roll-sweat:


Mi sto piegando dalle risate!!  :smiley-yell: :smiley-yell: :smiley-yell:

XD
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

astrobeed


Io ho appena finito di ricompilare avrdude 5.11.1 su windoows e gli ho aggiunto una funzione in più.
Adesso è possibile lanciarlo attivando il flag "-R" che sta per "resurrect".


L'ideale sarebbe che in caso di signature 0xffffff fa l'override da solo, scrivendo comunque una warning, così non c'è il rischio di programmare un micro diverso dal previsto, cosa che potrebbe brickarlo.

Michele Menniti


Io ho appena finito di ricompilare avrdude 5.11.1 su windoows e gli ho aggiunto una funzione in più.
Adesso è possibile lanciarlo attivando il flag "-R" che sta per "resurrect".
Con l'opzione -R è possibile attivare l'opzione resurrect che permette ad avrdude di programmare (su richiesta) anche i micro con la signature danneggiata ma ancora funzionanti, attenzione, non ho provato ma credo che con -R avrdude programmi anche in caso di micro sbagliato, quindi spero che quelli che lo useranno sapranno quello che stanno facendo ;)
in seguito vedrò se è possibile implementare l'uso del -R anche dall'ide di arduino magari modificando le upload options ;)

Quello che devi fare fallo subito :D (non so se conosci l'origine di questa frase....); se metti mano all'IDE però sappi che dovresti farlo sia sulla 0022/3 che sulla 1.0.
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Go Up