Go Down

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

PaoloP

Michele, il link è sempre lo stesso (latestversion), è l'atmel che cambia il riferimento ogni volta. Non c'è bisogno di modifiche da parte nostra.
Il link che ho messo io è alla discussione di Leo (per Linux) da cui ho visto che era stata aggiornata anche la versione Windows.
Il grazie era per la segnalazione indiretta nata da quella discussione e mi sembrava giusto citarla.

menniti


Michele, il link è sempre lo stesso (latestversion), è l'atmel che cambia il riferimento ogni volta. Non c'è bisogno di modifiche da parte nostra.
Il link che ho messo io è alla discussione di Leo (per Linux) da cui ho visto che era stata aggiornata anche la versione Windows.
Il grazie era per la segnalazione indiretta nata da quella discussione e mi sembrava giusto citarla.

ah, ok, perché in precedenza avevamo dovuto cambiarlo in quanto ci arrivavamo per vie traverse, non ricordavo più, bene, meglio così. Resta il dubbio che ho espresso, perché non ricordo più il motivo per il quale Astro aveva dovuto preparare quella patch, e volevo capire se in queste ultime versioni la cosa potesse essere stata superata o se comunque la patch è semrpe utilizzabile a prescindere dagli aggiornamenti ATMEL (altra info da mettere in via "definitiva" nel primo post).

P.S.: il mio grazie era per te :)
Manuale "Arduino e le tecniche di programmazione dei microcontrollori ATMEL"
http://www.michelemenniti.it/manuale_di_programmazione.html
http://www.michelemenniti.it/offerta.html
Articoli ElettronicaIN
http://www.michelemenniti.it/elettronica_in.html

leo72

Se è come su Linux, c'è da editare il filw Wiring.h del core Tiny e non del core principale di Arduino. Però se non cambi core Tiny, quella modifica resta per cui io passando dalla 3.4.1 alla 3.4.2 non ho dovuto aggiornare nulla.
Ripeto, se è come su Linux.

amario57

Confermo, ho aggiornato in Windows la 1.04, tutto funziona   :D

astrobeed


Resta il dubbio che ho espresso, perché non ricordo più il motivo per il quale Astro aveva dovuto preparare quella patch, e volevo capire se in queste ultime versioni la cosa potesse essere stata superata o se comunque la patch è semrpe utilizzabile a prescindere dagli aggiornamenti ATMEL (altra info da mettere in via "definitiva" nel primo post).


La patch serviva per rendere la toolchain compatibile con Arduino, non so se con l'ultima toolchain serve ancora, a quanto pare no, dovrei provarla per verificare eventuali problemi però in questo periodo sono straimpicciato e non ho tempo per farlo.
Scientia potentia est

gpb01

Ok, seguita alla lettera la guida sotto Windows ... ci sono dei problemi ...


1. mi sembra che la sostituzione della "include" sia ancora necessaria. Non facendola non mi riconosce il tipo "prog_uint16_t"

2. Comunque mi tira fuori degli errori che la 1.0.4 NON modificata non mi da ... in allegato l'output "verbose" della compilazione ...


A naso ... direi che c'è qualche problema con la progmem ... :(

Qualcuno sa da cosa può derivare ? Grazie,

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

lestofante

bhe, dice che "__c" deve essere const... cerca da dove arriva questa variabile e aggiungici const davanti. dovrebbe bastare...
Guida per principianti http://playground.arduino.cc/Italiano/newbie
Unoffical Telegram group https://t.me/genuino

gpb01


bhe, dice che "__c" deve essere const... cerca da dove arriva questa variabile e aggiungici const davanti. dovrebbe bastare...


Si, certo, il punto è che con l'IDE originale compila fino alla fine senza problemi (con dei warning) ... mentre con la nuova ToolChain da errore ... vorrei capire il perché ... non risolvere semplicemente modificando il sorgente ;)

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

lestofante

il punto è che fino ad ora il compilatore accettava variabili non const da mettere nella progmem.
Però dato che la progmem è modificabile sono in fase di flash, questo è un errore; dunque ora le variabili devono essere const, in modo da obbligarti a fare attenzione a questa cosa.

probabilmente __C è una variabile di comodo in cui viene piazzata la stringa da "progmemmare", quindi va cambiata anch'essa (che però essendo const... c'è da rivedere il codice)

http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&p=871000
Guida per principianti http://playground.arduino.cc/Italiano/newbie
Unoffical Telegram group https://t.me/genuino

gpb01

Lesto ...
... preso questo codice :

Code: [Select]

#include <avr/pgmspace.h>

void setup() {

Serial.println(F("TEST"));

}

void loop() {

}


... mi da già errore :

Code: [Select]

C:\arduino-1.0.4-new\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-new\hardware\arduino\cores\arduino -IC:\arduino-1.0.4-new\hardware\arduino\variants\standard C:\Users\gpb01\AppData\Local\Temp\build7822850351586823830.tmp\sketch_may08a.cpp -o C:\Users\gpb01\AppData\Local\Temp\build7822850351586823830.tmp\sketch_may08a.cpp.o
sketch_may08a.ino: In function 'void setup()':
sketch_may08a.ino:5:17: error: variable '__c' must be const in order to be put into read-only section by means of '__attribute__((progmem))'


... quindi ... il problema sembra essere nella pgmspace e non nel mio codice. Oppure ... ho sbagliato io qualche cosa nel sostituire la ToolChain, ma ho rifatto tutti i passaggi svariate volte ed ottengo sempre lo stesso risultato ... :(

Guglielmo

Edit : la macro F è definita : #define F(string_literal) (reinterpret_cast<const __FlashStringHelper *>(PSTR(string_literal))) ... quindi cosa altro deve essere "const" ?
Search is Your friend ... or I am Your enemy !

menniti

Guglielmo, scusa ma mi sono perso...., hai seguito alla lettera tutte le istruzioni del primo post, compresa l'installazione della patch di Astro, ed ottieni l'errore che hai detto, OPPURE hai fatto tutto senza la patch?
Manuale "Arduino e le tecniche di programmazione dei microcontrollori ATMEL"
http://www.michelemenniti.it/manuale_di_programmazione.html
http://www.michelemenniti.it/offerta.html
Articoli ElettronicaIN
http://www.michelemenniti.it/elettronica_in.html

lestofante

ok, a naso direi che ora la TUA variabile è const (quindi corretto) va vene puntata da __c che NON è const... ora il punto è capire da dove arriva questa --c, io mi apsetto arrivi dalle librerie arduino.
Guida per principianti http://playground.arduino.cc/Italiano/newbie
Unoffical Telegram group https://t.me/genuino

gpb01


Guglielmo, scusa ma mi sono perso...., hai seguito alla lettera tutte le istruzioni del primo post, compresa l'installazione della patch di Astro, ed ottieni l'errore che hai detto, OPPURE hai fatto tutto senza la patch?


Ho dovuto installare la patch perché se non la installi ... da errori anche su banalità del tipo : "prog_uint16_t".

Quindi, con la patch installata, mi da problemi con la macro F() :(

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

gpb01


ok, a naso direi che ora la TUA variabile è const (quindi corretto) va vene puntata da __c che NON è const... ora il punto è capire da dove arriva questa --c, io mi apsetto arrivi dalle librerie arduino.


Occhio, non e la MIA variabile, la definizione della macro F() è quella STANDARD che trovi nella Wstring.h standard di Arduino !!!

Ma a voi non da problemi con la pgmspace ?

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

astrobeed


Quindi, con la patch installata, mi da problemi con la macro F() :(


Se non erro la F() è stata introdotta dopo l'IDE 1.0, fino a quella release era tutto ok, ovviamente devo provare in prima persona e verificare cosa tocca aggiungere/patchare per rendere il tutto compatibile con l'attuale versione dell'IDE.
Il problema è che adesso, e almeno per altri 15 giorni, non ho il tempo per farlo, sono strastrastrastraimpicciato con il lavoro :)
Scientia potentia est

Go Up