toolchain Atmel 3.4.2

Sono passato a fedora 17, ora è produttiva. Non ho ancora installato la toolchain 4.7.2 presente nel repo ufficiale di fedora, ora mi viene necessità di avere tutto ciò che avevo su F12 dove c'è la tolchain Atmel con gcc4.5.1 che avevo compilato prelevandola da http://distribute.atmel.no/tools/opensource/avr-gcc/

Allora sono andato qui http://distribute.atmel.no/tools/opensource/Atmel-AVR-Toolchain-3.4.2/avr/ e vedo che ci sono molte patch, mi chiedo cosa conviene fare, ricompilare o installare la versione fornita da Fedora?

Chi usa la toolchain Atmel in oggetto?

Ciao.

Cavolo, è recentissima! Avevo controllato 1 settimana fa e c'era ancora la 3.4.1 .

Io ho quest'ultima e compilo benissimo. Secondo me è meglio della toolchain che è distribuita con l'IDE di Arduino non solo perché mi pare che su alcuni micro compili codice più compatto ma anche perché non si porta dietro i famosi bug quando si compilano firmware più grossi di 64 kword.

Comunque ora che so che c'è la 3.4.2 me la installo subito ;)

Aggiornamento effettuato :wink:
ah, per rispondere alla tua domanda, io ho scaricato i binari già compilati. Avevo provato tempo fa a compilare la toolchain dai sorgenti ma ebbi diversi problemi, non so se per dipendenze mancanti o per mie mancanze :sweat_smile:
Con i binari precompilati è filato tutto liscio:
http://www.atmel.com/tools/ATMELAVRTOOLCHAINFORLINUX.aspx

Scaricato il pacchetto, lo scompatti e poi copi tutto quello che c’è dentro al posto del contenuto della cartella /hardware/tools/avr

Ok, leo allora oggi provo a compilare se tutto va bene procedo a fare i pacchetti sorgente per Fedora17, chi li volesse, s'attacca, perché ho traffico limitato, ma posso postare i file .spec da cui ricostruire i pacchetti, ma questi deve sapere come si fa.

Ciao.

leo72: ... Scaricato il pacchetto, lo scompatti e poi copi tutto quello che c'è dentro al posto del contenuto della cartella /hardware/tools/avr

Scusa Leo, vedo che esiste per Win e per Linux ... su OSX che si fa? Si deve partire dai sorgenti e compilare o ... magari la Linux 64bit va ?

Grazie.

Guglielmo

Bella domanda… nonostante MacOS sia un sistema *nix non credo che i binari per Linux vadano anche sulla Mela. Forse devi compilare dai sorgenti per avere la toolchain. C’è uno script per la compilazione, lancia quello… sperando che patchi i sorgenti. Altrimenti diventa lunga fare tutto a mano.

X iscrizione. Per comoilare la toolchain bisogna assicurarsi di avere la giusta versione di compilatore, spesso basta una versione differente per rompere tutto

Nel Readme allegato al link di Mauro ci sono le istruzioni per la compilazione nonché le dipendenze. Io ho optato come detto per i binari precompilati, che mi vanno benissimo.

Grazie Leo, ... arrggghhh ... era proprio quello che volevo evitare ... anche perché è sempre un casino con le varie dipendenze, la versione del compilatore, ecc.

Va bé ... aspettiamo ... magari nella 1.05 avranno il buon cuore dei mettere la toolchain aggiornata ... :)

Guglielmo

gpb01: magari nella 1.05 avranno il buon cuore dei mettere la toolchain aggiornata ... :)

chi visse sperando morì non si può dire... (Litfiba) ;)

leo72: chi visse sperando morì non si può dire... (Litfiba) ;)

Va bé ... ho capito, lancio VMware, apro la macchina virtuale Win e faccio tutto li ... XD :grin: :D :grin:

Guglielmo

Usata la nuova toolchain per compilare l'ultima versione del firmware del mio Led clock (che usa le lib PinChangeInt e leOS2) e tutto è filato liscio.

gpb01:

leo72: chi visse sperando morì non si può dire... (Litfiba) ;)

Va bé ... ho capito, lancio VMware, apro la macchina virtuale Win e faccio tutto li ... XD :grin: :D :grin:

Guglielmo

aspetta apsetta aspetta... mi stai dicendo che trovi più facile compilare progetti complessi da win? o che dalla WM usi i precompilati?

Scusate ma quale bisogna prendere?

8bit o 32bit? Io penso che sia la 8bit ma meglio chiedere. :grin:

lesto: aspetta apsetta aspetta... mi stai dicendo che trovi più facile compilare progetti complessi da win? o che dalla WM usi i precompilati?

Buona la seconda :D

... è una questione di tempo e anche ... di non voler incasinare la macchina su cui faccio normalmente "produzione" ;)

Guglielmo

erpomata: Scusate ma quale bisogna prendere?

8bit o 32bit? Io penso che sia la 8bit ma meglio chiedere. :grin:

Sì, la 8 bit (per Atmega168/328, Atmega2560, Atmega644/1284, Attiny84, Attiny85, Attiny2313 ecc....).

Durante il build di avr-binutils viene fuori questo errore:

../../binutils-2.23.1/bfd/elf32-avr.c:666:5: error: 'BFD_RELOC_AVR_7_LDS16' undeclared here (not in a function)
../../binutils-2.23.1/bfd/elf32-avr.c:667:5: error: 'BFD_RELOC_AVR_DIFF8' undeclared here (not in a function)
../../binutils-2.23.1/bfd/elf32-avr.c:668:5: error: 'BFD_RELOC_AVR_DIFF16' undeclared here (not in a function)
../../binutils-2.23.1/bfd/elf32-avr.c:669:5: error: 'BFD_RELOC_AVR_DIFF32' undeclared here (not in a function)
../../binutils-2.23.1/bfd/elf32-avr.c: In function 'bfd_elf_avr_final_write_processing':
../../binutils-2.23.1/bfd/elf32-avr.c:1448:10: error: 'bfd_mach_avr7' undeclared (first use in this function)
../../binutils-2.23.1/bfd/elf32-avr.c:1448:10: note: each undeclared identifier is reported only once for each function it appears in
../../binutils-2.23.1/bfd/elf32-avr.c:1480:10: error: 'bfd_mach_avrtiny' undeclared (first use in this function)
../../binutils-2.23.1/bfd/elf32-avr.c: In function 'elf32_avr_object_p':
../../binutils-2.23.1/bfd/elf32-avr.c:1547:12: error: 'bfd_mach_avr7' undeclared (first use in this function)
../../binutils-2.23.1/bfd/elf32-avr.c:1547:10: warning: assignment makes integer from pointer without a cast [enabled by default]
../../binutils-2.23.1/bfd/elf32-avr.c:1579:12: error: 'bfd_mach_avrtiny' undeclared (first use in this function)
../../binutils-2.23.1/bfd/elf32-avr.c:1579:10: warning: assignment makes integer from pointer without a cast [enabled by default]
make[4]: *** [elf32-avr.lo] Error 1
make[4]: *** Waiting for unfinished jobs....

Sto indagando, ma.... su github sembra ci sia una patch ma a me github non lo apre.

Chi si avventura nella compilazione da sorgente e pregato di comunicare qui.

ciao.

Un paio di info, dopo che ho provato a compilare i sorgenti: 1) mi pare che i sorgenti abbiano già le patch incluse, ho provato a verificarne solo una ma la modifica riportata era già presente 2) ho lanciato lo script ma questo è terminato subito perché voleva scrivere su /usr/xxxxx e questo non è buono... mica te l'ho detto di farlo, eh!

Per cui mi lascio i binari precompilati nella cartellina locale che funzionano proprio bene.

leo72: ... Scaricato il pacchetto, lo scompatti e poi copi tutto quello che c'è dentro al posto del contenuto della cartella /hardware/tools/avr

Fatto come dice Leo ma per attiny non mi compila. (Per la UNO nessun problema)

Ci sono da fare alcuni aggiustamenti. Questo articolo è dell'anno scorso ma dovrebbe valere anche per la nuova toolchain: http://www.leonardomiliani.com/2012/come-aggiornare-la-toolchain-avr-alla-versione-3-4-1-linux/ Io ho le modifiche fatte l'anno scorso ed appena aggiornata la toolchain ho compilato senza errori per tutti i micro di cui ho il core nell'IDE.