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
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.
BrainBooster:
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
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
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!
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.
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
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".
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.
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
Quello che devi fare fallo subito (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.
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.
@astro ma il semplice -F non funziona, invece -R lo richiami come il -F ma funge
ho aggiornato anche il usage con la nuova opzione ed il relativo warning. (gli automatismi non mi piacciono, perferisco che data la pericolosità dalla cosa, l'utente debba richiamarla volontariamente e manualmente).
[quote author=Michele Menniti link=topic=96976.msg729806#msg729806 date=1332098231]se metti mano all'IDE però sappi che dovresti farlo sia sulla 0022/3 che sulla 1.0.
[/quote]
Voto per la 1.0.
[quote author=Michele Menniti link=topic=96976.msg729806#msg729806 date=1332098231]se metti mano all'IDE però sappi che dovresti farlo sia sulla 0022/3 che sulla 1.0.
Voto per la 1.0.
[/quote]
Paolo, dove lo hai visto questo referendum o sondaggio? questo è il nostro male, uno si mette a disposizione gratuitamente per il bene della comunità e subito spuntano i paletti dei propri interessi personali. Fammi indovinare, scommetto che stai usando la 1.0 per le tue cose
Dai, domani metto il link per scaricare avrdude 5.11.1 e se ci riesco vi dico come modificare il file preferences.txt per attivare la funzione -R in caso serva (si spera mai)
Paolo, dove lo hai visto questo referendum o sondaggio? questo è il nostro male, uno si mette a disposizione gratuitamente per il bene della comunità e subito spuntano i paletti dei propri interessi personali. Fammi indovinare, scommetto che stai usando la 1.0 per le tue cose
[/quote]
Si uso la 1.0 e tutto quello che ho fatto fino adesso, anche se veramente poco , è tutto condiviso nel forum. XD
Arduino 1.0 è la piattaforma su cui lavorare. Fare migliorie sulla 22/23 è tempo perso perché va in obsolescenza, non la supportiamo più e non sarà più compatibile con tutti i prodotti nuovi arduino che escono ora (per esempio la Leonardo)