Go Down

Topic: [WIN] Aggiornam. compilatore IDE 0022-0023-1.0 all'ULTIMA VERSIONE ATMEL (Read 59372 times) previous topic - next topic

gpb01


...
Il problema è che adesso, e almeno per altri 15 giorni, non ho il tempo per farlo, sono strastrastrastraimpicciato con il lavoro :)


Nessun problema Astro, ci mancherebbe, anzi, sempre GRAZIE :)

Se invece qualcun'altro provasse il piccolo programmino che ho messo e mi confermasse l'errore ... sarei più tranquillo ... di aver fatto il tutto correttamente   :smiley-mr-green: Grazie ...

Guglielmo
Search is Your friend ... or I am Your enemy !

gpb01

Un passo avanti ...
... la pgmspace.h che sta nella toolchain è diversa da quella che è di base nell'IDE e da quella della patch di Astro.

Hanno deprecato una infinità di definizioni e modificato varie cose all'interno :(

Provando a mettere quella nuova al posto di quella vecchia ... il piccolo programmino di test si compila ... anche se con dei warning piuttosto sospetti (... ho idea che in realtà non metta il testo in progmem), ma programmi più complessi danno errori nelle definizioni di variabili che usano tipi come "prog_uint16_t" ... che sono stati, appunto, deprecati :(

Un bel casino insomma ...

Guglielmo

Edit : L'allegato pdf mostra le differenze estratte con "DeltaWalker" ...
Search is Your friend ... or I am Your enemy !

PaoloP


Un bel casino insomma ...

Già...
Pensa che molti sono stati presi dal panico a seguito del cambiamento dall'IDE 0.22 alla nuove versioni 1.x per aver rinominato e modificato il file WCostant.h in Arduino.h.
Immagina quando, cambiando toolchain, gli venissero errori che tu chiami banalità.  :smiley-mr-green: pgmspace? Che è? Si mangia??  :smiley-roll-blue:

Comunque le mie conoscenze sono troppo limitate per aiutarvi in un discorso di questo genere.
Credo che per le correzioni bisognerà aspettare che tra 15/20 gg Astro si liberi.  8)

Quote

C:\arduino-1.0.4\hardware\tools\avr\bin\avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=104 -IC:\arduino-1.0.4\hardware\arduino\cores\arduino -IC:\arduino-1.0.4\hardware\arduino\variants\standard C:\arduino-1.0.4\hardware\arduino\cores\arduino\Print.cpp -o C:\Users\gpb01\AppData\Local\Temp\build3177612874521486560.tmp\Print.cpp.o
C:\arduino-1.0.4\hardware\arduino\cores\arduino\Print.cpp: In member function 'size_t Print::print(const __FlashStringHelper*)':
C:\arduino-1.0.4\hardware\arduino\cores\arduino\Print.cpp:44: warning: '__progmem__' attribute ignored


@gpb01
Ti faccio notare l'ultima riga dove dice che alla riga 44 di Print.cpp __progmem__ è stato ignorato.
Si tratta del risultato della compilazione che hai chiamato "CON L'IDE ORIGINALE"

Ciao.
AvrDudeQui front end per avrdude https://gitorious.org/avrdudequi/pages/Home

gpb01


@gpb01
Ti faccio notare l'ultima riga dove dice che alla riga 44 di Print.cpp __progmem__ è stato ignorato.
Si tratta del risultato della compilazione che hai chiamato "CON L'IDE ORIGINALE"
...


Ok, un warning (... e su codice standard Arduino, la Print.cpp) e non una raffica di errori bloccanti.

Ripeto, provate a compilare un qualche cosa che faccia uso della pgmspace.h e vedrete (bastano le quattro righe che ho messo qualche post fa) ...  ]:D

Guglielmo
Search is Your friend ... or I am Your enemy !

lesto

se c'è un warning vuiol dire chequalcosa non viene fatto per bene, ma c'è una forzatura. Quindi nulla di strano che un aggiornamento del compilatore rompa definitivamente la compatibilità

comunquenel link che ho postato trovi la spiegazione e soluzione, anche se sinceramente io ci ho capito poco, non sapendoche combina arduino.
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Ecco appunto, il warning può essere cosa di poco conto, ma nel caso specifico avere ignorato un attributo che marca ciò che dovrà andare nella flash non è di poco conto, ancora di più se ciò accade in quello che si crede funzionare correttamente.

Per questo ho postato, perchè forse come dice lesto qualcosa non viene fatto bene, per di più viene da ciò che si pensa funzionare.

Per il resto io sono fuori da ogni test, continuerò ad usare la vecchia versione Atmel con gcc-4.5.1 che non ha mai dato problemi e anche perchè non c'è modo di compilare con le patch di atmel 3.4.2. Cioè le patch devono essere patchate, già accaduto con la 4.5.1, ma in tal caso le mie competenze mi hanno permesso di sistemare le cose, mentre con la 3.4.2 mi sono perso e al massimo sono riuscito a compilare binutils senza errori, poi avr-gcc mi ha fatto perdere la pasienza e ho mollato.

Ciao.
AvrDudeQui front end per avrdude https://gitorious.org/avrdudequi/pages/Home

leo72

Per quel poco che conta, con la toolchain Atmel 3.4.2 precompilata io su Linux non ho avuto nessun problema né ho dovuto sistemare nessun file.
Confermo però che la compilazione dei sorgenti è alquanto problematica e non l'ho mai fatta, neanche per la precedente 3.4.1.  :smiley-sweat:

gpb01


Per quel poco che conta, con la toolchain Atmel 3.4.2 precompilata io su Linux non ho avuto nessun problema ne' ho dovuto sistemare nessun file.
Confermo pero' che la compilazione dei sorgenti e' alquanto problematica e non l'ho mai fatta, neanche per la precedente 3.4.1.  :smiley-sweat:


Vuoi dire che a te i moduli con progmem.h sotto linux compilano senza alcun problema ? :)

Se è così ... uso la VM per installarmi Ubuntu e faccio le prove su quello ... ;)

Guglielmo
Search is Your friend ... or I am Your enemy !

gpb01


...
comunquenel link che ho postato trovi la spiegazione e soluzione, anche se sinceramente io ci ho capito poco, non sapendoche combina arduino.


Purtroppo NO, la soluzione che propongono (la prima, quella della modifica a pgmspace.h) ... è già implementata nella nuova release e NON risolve.

Lesto, è ovvio che è un problema di compatibilità con la nuova versione del gcc ... per questo stiamo cercando di capire cosa è cambiato e come fare a far funzionare la cosa sotto Win (perché, da quanto sembrerebbe, Leo non ha questi problemi sotto Linux).

Guglielmo

P.S : Oh, poi, onestamente .... IO LAVORO SU MAC ... quindi dei casini sotto Win me ne frega fino ad un certo punto .... mi piaceva l'idea di provarlo, ma se devo perderci più di X ore ... non se ne parla :)
Search is Your friend ... or I am Your enemy !

leo72

@gugliemo:
a me lo sketch che hai messo nel tuo replay #582 compila perfettamente per una Arduino UNO (1516 byte se non ricordo male).

gpb01


@gugliemo:
a me lo sketch che hai messo nel tuo replay #582 compila perfettamente per una Arduino UNO (1516 byte se non ricordo male).
Quote


OTTIMO, allora, appena ho un momento, faccio la stessa prova sotto Ubuntu. Tu che distribuzione usi (... tanto, visto che la devo scaricare, una vale l'altra e scarico un ambiente come il tuo, così da avere risultati confrontabili) ???

Guglielmo
Search is Your friend ... or I am Your enemy !

leo72

Io uso Arch Linux, non è proprio una distribuzione per iniziare però  ;)
Va configurata manualmente.

Ubuntu ultimamente non mi piace per la sua interfaccia grafica Unity

gpb01


Io uso Arch Linux, non è proprio una distribuzione per iniziare però  ;)
Va configurata manualmente.
...


Urca  :smiley-eek: ... e me ne sono accorto ... XD XD XD

Ok, l'interfaccia grafica non sarà un gran che, ma ... proseguo con Ubuntu ...  :smiley-mr-green:

32 o 64 bit ? 12.04 o 13.04 ?  Grazie anticipatamente per i suggerimenti :)

Guglielmo
Search is Your friend ... or I am Your enemy !

leo72

Se proprio scegli Ubuntu, perché non Xubuntu basata su XFCE o Kubuntu basata su KDE?
Comunque usa l'ultima versione, la 13.04.
Sui 64 bit, questi ormai sono un must sugli ultimi PC.

Go Up