[WIN] Aggiornam. compilatore IDE 0022-0023-1.0 all'ULTIMA VERSIONE ATMEL

Però già sarebbe una buona cosa: in questo modo se riesco a compilare la toolchain con le patch Ateml, posso infilarla nell'albero dell'IDE e risolvo il problema.

Ma se non ha la toolchain aggiornata, allora come risolve il problema della gestione di 256 kB di Flash sui Mega2560?

leo72:
Aggiungo anche che pare risolto anche il bug degli sketch compilati per micro con più di 128k
che è dato per risolto.

Non si risolve con una opzione da riga di comando, il problema è insito nel compilatore ed è un suo limite, però questa cosa conferma che l'Arduino team è a conoscenza del problema almeno dal Novembre 2011, quindi non capisco come mai Massimo ne ha negato l'esistenza.
Allo stato attuale delle cose pare che solo la Toolchain di Atmel è in grado di compilare correttamente per micro con più di 128k di flash.

Capisco ciò che dici ma se non si risolve con un'opzione perché il bug è segnato come "fixed"?

leo72:
Però già sarebbe una buona cosa: in questo modo se riesco a compilare la toolchain con le patch Ateml, posso infilarla nell'albero dell'IDE e risolvo il problema.

Il problema è proprio questo, a quanto pare non sono disponibili tutti i sorgenti di Atmel, quindi non puoi ricompilare la loro toolchain, puoi solo usare i loro eseguibili già compilati.
La questione 256k non la risolvi con l'avr-gcc ufficiale, per esempio c'è l'issue sul bug eicall oltre i 128k che non è ancora risolta, e solo questa basta a invalidare la compilazione oltre tale limite.

leo72:
Capisco ciò che dici ma se non si risolve con un'opzione perché il bug è segnato come "fixed"?

Per me non è assolutamente fixed, e poi gli unici che possono dire fixed sono i ragazzi di GNU.org se parliamo del loro avr-gcc non modificato.

A quanto ne so io la fix risolve i problemi di compilazioni incontrati dal progetto DIYDrones che utilizza dei mega2560 pieni zeppi di codice.

La toolchain ATMEL gira solo su windows a quanto ne so... ho chiesto di averla anche su mac... Oggi nel tardo pomeriggio mi sento al telefono con il responsabile dell'open source di ATMEL. Se avete delle richieste da fare è il momento giusto di raccogliere le domande e poi io gliele pongo.

m

@Massimo qui ci sono gli strumenti di atmel compresa la toolchain per linux

manca quella per il mac e vorrei evitare di doverla compilare io :frowning:

m

...dai sù, un po di lavoro (quando c'è) non fà mai male :stuck_out_tongue_closed_eyes:

Immaginavo una cosa del genere.

La toolchain ATMEL gira solo su windows a quanto ne so... ho chiesto di averla anche su mac... Oggi nel tardo pomeriggio mi sento al telefono con il responsabile dell'open source di ATMEL. Se avete delle richieste da fare è il momento giusto di raccogliere le domande e poi io gliele pongo.

Sul loro sito c'è pure la versione per Linux, però sembra che non sia possibile ricompilarla in modo da poterla installare nel modo tradizionale, in compenso ci sono gli eseguibili già compilati e pronti all'uso per Linux.
Da quello che ho visto della 1.0.1 RC1 per Linux dovrebbe essere relativamente semplice sostituire la toolchain GNU, dopo averla installata, con quella Atmel, sicuramente tocca perderci del tempo, ma credo sia possibile farlo.
Puoi chiedere ad Atmel se nella loro toolchain è stato risolto anche questo bug che non ha ancora un fix da parte di gnu.org ?
Per quanto riguarda la toolchain Atmel all'interno dell'IDE di Arduino per windows il problema l'ho già risolto per la 0022 e 0023, in giornata pure per la 1.0.
Se Atmel non ha nulla in contrario si può creare un pacchetto di autoinstallazione per Windows che contiene tutta la loro toolchain, solo la parte 8 bit, e le varie modifiche per l'IDE, in questo modo basta lanciare l'eseguibile e tutte le operazioni di sostituzione, salvaguardando la toolchain originale, vengono fatte in automatico in modo che anche chi non è molto pratico del S.O. non ha problemi per farlo.

Mah, ti dovrebbero coprire d'oro ed invece sarà un miracolo se accettano il tuo aiuto gratis, cosa di cui mio permetto di dubitare, ma forse se glielo dice Banzi, che è un pezzo grosso... :smiley:

Scusa, non ho capito questa affermazione. Nella 1.0.1RC vedo che la toolchain è stata inserita anche nella versione per Linux, e vedo anche che il compilatore la usa al posto di quella presente sul sistema.

leo72:
Scusa, non ho capito questa affermazione. Nella 1.0.1RC vedo che la toolchain è stata inserita anche nella versione per Linux, e vedo anche che il compilatore la usa al posto di quella presente sul sistema.

Quello che ti sfugge è che la toolchain è sempre quella di gnu.org, non è quella di Atmel.
Con la versione per Linux della 1.0.1 RC1 non c'è allegata nessun compilatore, devi sempre installarlo partendo dal repository, la differenza è che viene posto all'interno della cartella del IDE e viene usato questo al posto di quello di default eventualmente installato nel sistema, però questa cosa dovrebbe rendere molto più semplice la sostituzione con la toolchain Atmel.

astrobeed:
Quello che ti sfugge è che la toolchain è sempre quella di gnu.org, non è quella di Atmel.
Con la versione per Linux della 1.0.1 RC1 non c'è allegata nessun compilatore, devi sempre installarlo partendo dal repository, l

No, non è così. Allegato all'IDE 1.0.1RC ci sono anche il compilatore (avr-gcc), le librerie (avr-libs) e le utility (binutils-avr), e non sono quelle presenti nel mio sistema. avr-gcc allegato all'IDE è la versione 4.3.2 mentre io ho la 4.3.4 (Ubuntu 10.04), ho controllato proprio stamani quando l'ho scaricato.

avr-gcc IDE:

avr-gcc (GCC) 4.3.2
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

avr-gcc Ubuntu 10.04:

avr-gcc (GCC) 4.3.4
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

leo72:
No, non è così. Allegato all'IDE 1.0.1RC ci sono anche il compilatore (avr-gcc), le librerie (avr-libs) e le utility (binutils-avr), e non sono quelle presenti nel mio sistema. avr-gcc allegato all'IDE è la versione 4.3.2 mentre io ho la 4.3.4 (Ubuntu 10.04), ho controllato proprio stamani quando l'ho scaricato.

[

Comunque sia non è quello Atmel ed è la stessa versione allegata con Windows, la 4.3.2, con la toolchain Atmel c'è la 4.5.1

Probabilmente hanno scaricato una versione vecchia della toolchain oppure hanno compilato da qualche script vecchio.

Come si fa a sapere se è la toolchain Atmel (anche vecchia) oppure no?

leo72:
Come si fa a sapere se è la toolchain Atmel (anche vecchia) oppure no?

Leo, non può essere quella Atmel, ed anche scritto nel readme, in particolare questa riga:
"These versions closely match the toolchain Arduino bundles on Mac and Windows"

astrobeed:
Leo, non può essere quella Atmel, ed anche scritto nel readme, in particolare questa riga:
"These versions closely match the toolchain Arduino bundles on Mac and Windows"

+1.
Non avevo letto il readme allegato, c'è scritto chiaro e tondo che è una toolchain "pot-pourri", creata mettendo insieme un sacco di strumenti provenienti dal repo della versione Jaunty di Ubuntu.

leo72:
Non avevo letto il readme allegato, c'è scritto chiaro e tondo che è una toolchain "pot-pourri", creata mettendo insieme un sacco di strumenti provenienti dal repo della versione Jaunty di Ubuntu.

Adesso faccio una ipotesi, poi magari Massimo ce la conferma, a causa dei noti problemi delle varie versioni più recenti di avr-gcc per Linux è probabile che hanno preso la decisione di installare la stessa release presente con Windows perché funziona in modo affidabile e senza particolari problemi, esclusa la questione >128k e finché rimaniamo su i processori usati ufficialmente da Arduino.

Sicuramente è così. Anche su Ubuntu hanno aggiornato avr-gcc solo col passaggio alla 11.10, fino alla 11.04 c'è stata la 4.3.5, affidabile e perfettamente funzionante (tolto quel problema).