Go Down

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

menniti

CHIUDIAMOLA QUI 8)
Al solito io accendo un cerino e giù taniche di benzina ]:D
Leo, era un modo per farti capire quanto mi sento solo senza il tuo aiuto =(

Maestro Astro, quando me lo correggi il compitino che ti ho mandato in PM? :D
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

@Mike:
ma perché invece che far passare me al Lato Oscuro (Windows) non passi tu alla Forza (Linux)?

menniti


@Mike:
ma perché invece che far passare me al Lato Oscuro (Windows) non passi tu alla Forza (Linux)?

Ne parliamo quando manterrai la parola di venire qui da me a farti una mangiata da prenderci una denuncia il giorno dopo per "tentato intasamento della cloaca pubblica" :smiley-eek-blue: :smiley-eek-blue: :smiley-eek-blue:
Chiuso l'OT nello specifico non mi servirebbe a niente, visto che il lavoro è fatto per Windows e mi serve una prova fatta su Windows.
Pazienza, nel frattempo ho perso due ore per capire che anche il PCB tastiera+LCD del mio hv (quello senza solder mask) aveva un altro problema oltre a quello dell'alimentazione in corto che avevo risolto con un regalino da 10 ampere ]:D; questa volta il problema era sul reset: in pratica se caricavo lo sketch su Arduino e poi lo mettevo qui tutto ok, se invece cercavo di aggiornare via usb-serial niente da fare; mi sono rassegnato a rimontare anche questo PCB usando quello che hanno fatto dopo col solder mask, tutto ok.
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

menniti

Elettronica In ha deciso di pubblicare l'articolo anche sul proprio blog:
http://blog.elettronicain.it/2012/04/05/arduino-full-memory/
Ricordo agli interessati che io ho scritto l'articolo (sperimentazione con immagini, foto, tabelle, ecc) previa autorizzazione del fautore dell'aggiornamento; quindi nessun merito tecnico ma solo letterario :D
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

testato

bell'articolo  :)

ho provato a compilare, non caricare realmente, solo tasto verify, il test_80k

mi da errore sia con board 2560 che 1280, su ide1.0 originale, no modifiche di nessun tipo

Code: [Select]
core.a(HardwareSerial.cpp.o): In function `__vector_26':
D:\Backup\PERSONALE\Varie\Elettronica\Arduino\arduino-1.0\hardware\arduino\cores\arduino/HardwareSerial.cpp:190: multiple definition of `__vector_26'
test_80k.cpp.o:C:\Users\win7\AppData\Local\Temp\build4698177802818463196.tmp/test_80k.cpp:3342: first defined here


e' normale ?
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

leo72

Generalmente quando compare un errore del tipo "multiple definition of `__vector_26'" significa solamente che si stanno usando più definizioni delle stesse routine di gestione dei timer o degli interrupt ad essi associati all'interno dello stesso codice (mi sono imbattutto in problemi simili nello sviluppo della swRTC). Ciò significa che la toolchain Atmel definisce dei vettori di interrupt che poi sono ripetuti all'interno delle librerie di Arduino. La cosa che mi viene da pensare è che il core di Arduino sia stato sviluppato sulla base di una precedente toolchain Atmel oppure sulla toolchain di Gnu e che quindi non tenga conto di eventuali modifiche apportate in un secondo tempo. Oppure ancora che la libreria seriale della 1.0 sia stata modificata rispetto a quella della versione 002x.
Bisognerebbe vedere nel file HardwareSerial.cpp alla riga 190 cosa viene chiamato.

menniti

Ragazzi, posso solo dirvi che io ho fatto prove di compilazione sulla 0022 (con successivo upload su una scheda basata su ATmega2560) senza problemi e Astro invece ha provato 0023-1.0-1.0.1-rc1; non so analizzare il problema ma non può essere di carattere "generale".
La domanda è stupida e non dovrei fartela, ma non saprei cosa altro dire: sicuro di aver seguito alla lettera le istruzioni? Mentre scrivevo l'articolo più volte ho commesso delle piccole fesserie, errori senza pietà! Se leggi il link al sito di Open Elettronics c'è un utente che ha scritto di avere difficoltà con una sua board 1284P, riguardo la comunicazione seriale ma non ha problemi di compilazione mentre tutto funziona sulla sua UNO (anche se parla dei suoi sketch); chiaro che il problema non è generale.
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

astrobeed


mi da errore sia con board 2560 che 1280, su ide1.0 originale, no modifiche di nessun tipo


L'errore è relativo alla ridefinizione di un interrupt, non è possibile perché il programma è perfettamente funzionante e si compila sia con l'IDE 0022-23 che 1.0 senza alcun problema.

Scientia potentia est

testato

capiamoci, se questo errore si conferma si rischia di creare sketch non compatibili con chi semplicemente usa sw ufficiali, ho appeno rifatto la prova, cosa che potete fare anche voi, basta installare la ide 1.0 e basta, senza toccare nulla:

scrivo il tutto in stile mennitico  :)

0- Win7-64bit
1- apro ide1.0 (senza modifica alcuna, scaricato ed installato)
2- scelgo Tools-Board-Mega 2560
3- serial Com3 (alla quale e' connessa una Arduino UNO, ma ripeto io non carico, faccio solo VERIFY)
4- scarico test_80k: http://www.open-electronics.org/wp-content/uploads/2012/04/test_80k.rar
5- lo decomprimo su desktop e lascio tutto come e' (config .h e def.h li lascio li' dentro, mica devo copiarli altrove ?)
6- faccio open dall'ide di test_80k.pde
7- PREMO VERIFY

Code: [Select]
core.a(HardwareSerial.cpp.o): In function `__vector_26':
D:\Backup\PERSONALE\Varie\Elettronica\Arduino\arduino-1.0\hardware\arduino\cores\arduino/HardwareSerial.cpp:190: multiple definition of `__vector_26'
test_80k.cpp.o:C:\Users\win7\AppData\Local\Temp\build4974502073951907759.tmp/test_80k.cpp:3342: first defined here
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

menniti

Scusa, hai provato lo sketch senza aggiornare la toolchain e tutto il resto del bordello che ho scritto?
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

testato

yes, ho solo provato quello sketch, quello sketch e' scritto solo per chi aggiorna la toolchain ?
i problemi della toolchain (schetch grandi) si manifestano anche solo compilando ?
io ho capito che se si carica uno skwetch grande con la versione originale dell'ide esso compila e lo carica sul micro, pero' poi in fase di funzionamento si grippa  :)
a me invece quell'errore esce subito, al tasto verify
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

astrobeed


a me invece quell'errore esce subito, al tasto verify


Mi sono appena ricordato che quello sketch l'ho fatto su misura per Michele, lui usa solo la 0022-0023, con la 1.0 non si può compilare perché il software di base, MultiWii 1.9, che ho utilizzato per ottenere il megasketch non è compatibile con l'IDE 1.0.
Scientia potentia est

testato

ottimo, allora il mio test e' servito a qualcosa  :)

"UNO e' lieto di poter servire"
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

Maurotec

Il nuovo ide per quello che mi ricordo ha file header del core che vengono copiati nel codice in compilazione o addirittura dentro la dir del sorgente, in particolare mi ricordo che si tratta di un file dove ci sono parecchie definizioni può darsi che ci sia una definizione di macro già definita.

Il core avrebbe bisogno di un'aggionamento, c'è l'uso di macro deprecate in particolare SIGNAL e poi c'è sempre la questione del /util/delay e quindi non c'è da meravigliarsi se con la toolchain di atmel o meno qualcosa vada storta. Posso confermare che la toolchain di atmel rispetta gli standard e anche per questo è da considerare ottima e fuor di dubbio e se c'è qualcosa che non va basta spiegare il problema per dire se il problema è nella toolchain o in altro.

Il codice di astro io non l'ho potuto provare perchè mi mancano le librerie estese. Nota che posso usare il core ma non quelle estese perchè non uso la compilazione Arduino stile ma quella classica, linkando staticamente, quindi per me ci vorrebbe un codice basato su le avrlibc.

Ciao.


menniti



a me invece quell'errore esce subito, al tasto verify


Mi sono appena ricordato che quello sketch l'ho fatto su misura per Michele, lui usa solo la 0022-0023, con la 1.0 non si può compilare perché il software di base, MultiWii 1.9, che ho utilizzato per ottenere il megasketch non è compatibile con l'IDE 1.0.


ahi :~
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

Go Up