Go Down

Topic: [Linux] Aggiornare la toolchain Avr (Read 16 times) previous topic - next topic

lesto

comunque non dovrebbe dare problemi, anzi secondo me è più corretto costringere l'user a scrivewre la giusta estensione per i propri file. Si fa meno confusione.
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

leo72

@Mauro:
tempo fa anch'io ero uno di quelli che teneva le ultime versioni degli strumenti di compilazione ma:
1) ero costretto ad un grosso lavoro di debug perché le nuove versioni correggevano bug ma ne introducevano altri, per cui dovevi sempre editare alcuni file
2) non tutto era corretto con le patch tant'è che, ad esempio, binutils-avr 2.22 non andava manco a sparargli, dovevo tenere la versione 2.20 (famoso baco del millis non funzionante).
Insomma, alla fine se posso avere una toolchain ufficiale e funzionante, perché non usarla? Inoltre non sporco neanche il sistema spargendo file a giro dato che resta tutto all'interno dell'IDE di Arduino. Mi sembra una soluzione molto pulita.

@Paolo:
purtroppo non si tratta di un "bug" dato che riguarda una toolchain che non è distribuita con l'IDE di Arduino. Quella funziona, per cui ti potrebbero sempre dire: "perché ne stai usando un'altra? avete fatto tante storie per avere la toolchain con l'IDE ed ora rompete per usarne una diversa?"  XD

@lesto e paolo:
proverò con le modifiche a ricompilare i sorgenti di arduino

leo72

#122
Sep 08, 2012, 11:30 pm Last Edit: Sep 08, 2012, 11:45 pm by leo72 Reason: 1

il comando giusto dovrebbe essere
Code: [Select]
"-x assembler-with-cpp",

Potete provarlo e nel caso segnalare il bug?

Così non funziona. Adesso da:
Code: [Select]
avr-gcc: language: assembler-with-cpp not recognized


EDIT:
dopo indagini su internet, il testo da inserire è:
Code: [Select]
-Wa,-gstabs -x assembler-with-cpp

leo72

Che ...lle. Adesso si presenta il bug "attempt to use poisoned "SIG_USART0_RECV" (compilando per Mega2560) descritto qui:
http://code.google.com/p/arduino/issues/detail?id=955


leo72

No, è un calvario.... dopo mezz'ora passata a patchare i file nel core per togliere i riferimenti SIG_ e SIGNAL, adesso mi ritrovo un'altra sfilza di errori....
La conclusione è che il team di Arduino stia usando una vecchia versione della toolchain e che l'IDE è talmente basato su di essa che è praticamente impossibile sperare di ottenere una compilazione senza errori se si utilizza una toolchain "uscita di fabbrica" pubblicata da Atmel senza pensare di metterci su le mani.

Ora vado a dormire, ho già perso troppo tempo.

leo72

Dopo averci dormito sopra, stamani mi sono accorto di aver commesso un errore nell'edit del file HardwareSerial.cpp.
Adesso ho ottenuto una toolchain che mi compila lo sketch di astrobeed senza errori. In allegato a questo post trovate un archivio contenente i file del core modificati che dovete sostituire a quelli presenti nell'IDE di Arduino ed il firmware di test compilato.
Ricordo che i file per il core:
1) valgono solo per l'IDE 1.0.1
2) valgono solo se volete usare la toolchain Atmel 3.4.1

Chiedo poi ad astrobeed di verificare che il firmware compilato funzioni perché non ho né la Mega per provare né uso i quadricotteri né tantomeno MultiWii. Allego anche il firmware compilato (77.712 byte).

leo72

Qualcuno ha provato la nuova toolchain con le modifiche che ho suggerito?

Astrobeed, hai provato il firmware compilato per vedere se è funzionante (per capire insomma se la toolchain ha compilato correttamente)?

astrobeed

Leo ho visto solo adesso la tua richiesta, vedo di fare la prova quanto prima, sono quasi sempre in giro in questi giorni e ovviamente non mi porto appresso Arduino :)

leo72


Leo ho visto solo adesso la tua richiesta, vedo di fare la prova quanto prima, sono quasi sempre in giro in questi giorni e ovviamente non mi porto appresso Arduino :)

Non ti preoccupare, capisco. Era un "promemoria", il mio  ;)

leo72

Ehilà.... qualcuno ha provato la toolchain 3.4.1?  :smiley-sweat:

lesto

se ti basta la "liscia" provo io, è quella di default su arch linux. http://www.archlinux.org/packages/?q=avr
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

leo72

Ciao lesto. No, non mi basta  :smiley-yell:
Forse non hai seguito tutto il thread ma mi riferivo alla toolchain ufficiale Atmel versione 3.4.1, non ai pacchetti singoli che si trovano nel repo di Arch. Ho descritto il procedimento che ho seguito per farla funzionare correttamente ed ora a me lavora correttamente, per lo meno con i micro che ho provato.

lesto

sì, ma pensavo che nel frattempo ti servisse una conferma anche sulle vanilla.
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

leo72

No, la vanilla non la uso più da tanto, non funziona. E' piena di bug e non contiene le patch ufficiali Atmel. Difatti, prima dell'arrivo della versione 1.0.1 dell'IDE usavo la toolchain già patchata presente in AUR (http://aur.archlinux.org/packages.php?O=0&K=atmel&do_Search=Go).

Con l'uscita della toolchain 3.4.1 ufficiale e patchata Atmel, ho voluto provarla. Ho penato non poco per renderla funzionante ma alla fine ci sono riuscito.

leo72

In attesa di riscontri (che non arrivano....  :smiley-sweat: ) vi riporto un test che ho condotto con la nuova toolchain.

IDE: Arduino 1.0.1
Sketch: ArduinoISP
Compilazione con toolchain integrata: 5438 bytes
Compilazione con toolchain 3.4.1: 4962 bytes

Caspita, 476 byte in meno di occupazione della Flash! E sketch perfettamente funzionante. Quindi la nuova toolchain ottimizza molto di più.

Go Up