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

PaoloP: Anche io. Inoltre, qualcuno ha il link per l'IDE 1.0.1 beta che ha indicato Massimo Banzi?

Trovi i vari link qui.

Avete letto il bugfix????

  • including of AVR toolchain on Linux

Forse questo risolve il problema del thread che ho aperto. Ora scarico questa beta e provo subito

  • fixing the ArduinoISP sketch (lowering baud rate from 19200 to 9600)

Questo fix sembra adattabile anche alla versione 002x compilata con le ultime versioni di gcc. Se vi ricordate, quando segnalai che con i sistemi più recenti non riuscivo più a compilare uno sketch ArduinoISP funzionante, un utente mi aveva detto di aver risolto abbassando proprio a 9600. Quindi qui pare che più che un problema dell'Arduino in sé sia proprio un problema di avr-gcc.

Aggiungo anche che pare risolto anche il bug degli sketch compilati per micro con più di 128 kB. Nel bugfix si cita anche il seguente: http://code.google.com/p/arduino/issues/detail?id=729&can=1&q=Milestone%3D1.0.1 che è dato per risolto.

leo72: Forse questo risolve il problema del thread che ho aperto. Ora scarico questa beta e provo subito

Non credo, questo è quello che c'è scritto nel readme per la toolchain, non mi pare che sia quella Atmel, semplicemente forzano l'IDE ad usare quella posta nella sua cartella invece di quella presente nel sistema, esattamente come avviene in Windows.

VR Toolchain for 32 bit Linux (i486-linux-gnu)

This toolchain was created by extracting the Debian gcc-avr and binutils-avr
packages from Ubuntu 9.04 (Jaunty Jackalope).  These versions closely match
the toolchain Arduino bundles on Mac and Windows.

AVR libc 1.6.4 was compiled compiled from source on Jaunty and then and
copied to the avr/lib/avr directory.  The eeprom.h file was replaced by
Arduino's modified copy.

Ubuntu libraries libgmp and libmpfr were copied to avr/lib.  The main
gcc binaries avr-gcc, avr-g++ and avr-cpp were moved to avr/bin.gcc, and
scripts were placed in the avr/bin directory to run these with
LD_LIBRARY_PATH set to use libgmp and libmpfr from the avr/lib directory.

A patch was applied to the Arduino IDE to use this toolchain if the
tools/avr/bin directory is present.  If this directory is removed, Arduino
will attempt to use the AVR toolchain provided by your system.

Finally, this readme file was added.

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 http://www.atmel.com/tools/ATMELAVRTOOLCHAIN3_2_3FORLINUX.aspx

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

m

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

[quote author=Massimo Banzi link=topic=96976.msg731636#msg731636 date=1332234944] A quanto ne so io la fix risolve i problemi di compilazioni incontrati dal progetto DIYDrones che utilizza dei mega2560 pieni zeppi di codice. [/quote]

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... :D

[quote author=Massimo Banzi link=topic=96976.msg731636#msg731636 date=1332234944] La toolchain ATMEL gira solo su windows a quanto ne so... ho chiesto di averla anche su mac... [/quote] 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?