Forum Moderator
Italy
Offline
Brattain Member
Karma: 219
Posts: 16547
Don't know what I do
|
 |
« Reply #30 on: March 19, 2012, 04:11:44 am » |
Per compilare devi dire a gcc con quale micro stai lavorando, infatti se selezioni la MEGA2560 come board e abiliti il modo verbose trovi tutta una
Sì, lascia perdere. Era una cazzata che avevo scritto. Che casino il sito di Atmel, con tutto il rispetto per l'azienda non posso constatare la mia è altrui confusione in merito.
+1 Tempo fa mi sono registrato per scaricare la toolchain. NON esiste una pagina pubblica per fare il log, se vuoi scaricare qualcos'altro i link ti portano sempre alla pagina di registrazione. Avevo nella cache la pagina di log ma poi l'ho persa. Il file dei sorgenti è lo stesso di quello della versione Windows, ovvero contiene solo gli update e non tutti i sorgenti della toolchain.
Anche nel link di Mauro ci sono solo le patch. In pratica va scaricata la toolchain "vanilla" e poi patchata con le patch di Atmel.
|
|
|
|
|
Logged
|
|
|
|
|
Rome (Italy)
Offline
Tesla Member
Karma: 74
Posts: 7382
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
|
 |
« Reply #31 on: March 19, 2012, 04:27:51 am » |
Che casino il sito di Atmel, con tutto il rispetto per l'azienda non posso constatare la mia è altrui confusione in merito.
Vero, il sito Atmel è un casino  Tornando all'argomento principale, ho scaricato adesso la toolchain 8bit per Linux, dentro ci sono tutti gli eseguibili già compilati, quindi completi di patch, pronti all'uso. Per me state sbagliando alla grande il modo di procedere, dovete solo sostituire la versione di avr-gcc che avete sul pc con quella fornita con la toolchain, non dovete compilare nulla. Adesso non ho tempo per mettere mano a questa cosa per Linux, prima voglio chiudere il discorso Windows, e siamo in dirittura d'arrivo, poi vi do una mano con Linux. Dato so già dove tocca mettere le mani, vedi problema delay.h che non è un bug, è giusto che sia così, non dovrei metterci molto a sistemare la questione Linux, che probabilmente è pure più semplice che per Windows.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 156
|
 |
« Reply #32 on: March 19, 2012, 04:35:44 am » |
Tempo fa mi sono registrato per scaricare la toolchain. NON esiste una pagina pubblica per fare il log, se vuoi scaricare qualcos'altro i link ti portano sempre alla pagina di registrazione. Avevo nella cache la pagina di log ma poi l'ho persa.
Visto che parli di registrazione volevo chiedere: E' possibile farlo da privati? Chiedo questo perchè nella pagina di registrazione come campi obblibati c'è anche il numero di dipendenti e altre cose che sono tipiche di una azienda. Carletto.
|
|
|
|
|
Logged
|
|
|
|
|
Forum Moderator
Italy
Offline
Brattain Member
Karma: 219
Posts: 16547
Don't know what I do
|
 |
« Reply #33 on: March 19, 2012, 04:37:52 am » |
@Astro: ora non sono sul mio sistema, ma su una Ubuntu 10.04. Proverò inserendo il file delay.h.
@Carletto: sì, puoi farlo.
|
|
|
|
|
Logged
|
|
|
|
|
Rome (Italy)
Offline
Tesla Member
Karma: 74
Posts: 7382
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
|
 |
« Reply #34 on: March 19, 2012, 04:42:32 am » |
Chiedo questo perchè nella pagina di registrazione come campi obblibati c'è anche il numero di dipendenti e altre cose che sono tipiche di una azienda.
E' solo proforma, non è una vera registrazione, puoi scriverci quello che ti pare in quei campi, pure che ti chiamo Paolino Paperino, basta che indichi una email esistente perché il link per accedere al file ti arriva li. Personalmente trovo che sia una grande scocciatura compilare quei campi ogni volta che devo scaricare qualcosa se ho cancellato la cache del browser.
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Edison Member
Karma: 10
Posts: 2199
Arduino rocks
|
 |
« Reply #35 on: March 19, 2012, 04:42:54 am » |
A quel link ci sono arrivato da qui http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=104134Approposito guarda il post di madworm che dice in merito a attiny4313. L'ultima versione della toolchain sembra essere la 3.3.0 vedi link http://www.google.it/url?sa=t&rct=j&q=atmel+8+bit+toolchain&source=web&cd=2&ved=0CDQQFjAB&url=http%3A%2F%2Fwww.atmel.com%2FImages%2Favr8-gnu-toolchain-3.3.0.364-readme.pdf&ei=7O9mT9n4FMqfOsXr7J8I&usg=AFQjCNEHicCZ2RdsLwfkfPRmZT9oRUZkeQ&cad=rjaAnche nel link di Mauro ci sono solo le patch. In pratica va scaricata la toolchain "vanilla" e poi patchata con le patch di Atmel. Non chiedo altro, mi basta e avanza, la pacth che sembra risolvere è fixedendpoint o simile dove vedo che introduce molto codice, ma qui legacy dovrebbe pure sapermi dire qualcosa in dettaglio. Vero, il sito Atmel è un casino smiley
Tornando all'argomento principale, ho scaricato adesso la toolchain 8bit per Linux, dentro ci sono tutti gli eseguibili già compilati, quindi completi di patch, pronti all'uso. Per me state sbagliando alla grande il modo di procedere, dovete solo sostituire la versione di avr-gcc che avete sul pc con quella fornita con la toolchain, non dovete compilare nulla. Adesso non ho tempo per mettere mano a questa cosa per Linux, prima voglio chiudere il discorso Windows, e siamo in dirittura d'arrivo, poi vi do una mano con Linux. Dato so già dove tocca mettere le mani, vedi problema delay.h che non è un bug, è giusto che sia così, non dovrei metterci molto a sistemare la questione Linux, che probabilmente è pure più semplice che per Windows. Oddio tu sei un'utente windows noi facciamo tutto in modo molto ordinato e abbimo degli standard da seguire, che ci obligano a fare i pacchetti binari a partire da quelli sorgente, applicando le patch al sorgente senza metterci mano. Solo il mainteiner del sorgente può toccare e rilasciare il codice modifcato altrimenti faccio un fork e non è quello che i distribuitori vogliono fare. Capisco che per l'utente windows pasticciare con gli eseguibili e cosa all'ordine del giorno ma qui non lo possiamo fare, anche perchè il controllo di integrità del gestore di pacchetti mi segnalerà la cosa come anomala. Però chi usa arduino IDE con la toolchain inserita nel percorso dell'ide può provare a installare tutto li facendo la sostituzione degli eseguibili, in effetti se funziona così per questi utenti è risolto il problema. @Carletto Visto che parli di registrazione volevo chiedere: E' possibile farlo da privati? Chiedo questo perchè nella pagina di registrazione come campi obblibati c'è anche il numero di dipendenti e altre cose che sono tipiche di una azienda. Fai tutto a caso, oddio io ho messo arduino user come qualifica e non ho avuto problemi e sono un privato come te. Ciao.
|
|
|
|
|
Logged
|
|
|
|
|
Rome (Italy)
Offline
Tesla Member
Karma: 74
Posts: 7382
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
|
 |
« Reply #36 on: March 19, 2012, 04:46:23 am » |
@Astro: ora non sono sul mio sistema, ma su una Ubuntu 10.04. Proverò inserendo il file delay.h.
Cosa intendi per inserire il file delay.h ? Io ti ho detto di editare quello nella cartella avr, che punta ad un suo omonimo nella cartella util, per evitare di includerlo forzatamente nella compilazione dello sketch, per usare delay.h delle avrlibc allegate alla toolchain devi prima includere "math.h" direttamente nel sorgente.
|
|
|
|
|
Logged
|
|
|
|
|
Rome (Italy)
Offline
Tesla Member
Karma: 74
Posts: 7382
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
|
 |
« Reply #37 on: March 19, 2012, 04:50:57 am » |
Oddio tu sei un'utente windows noi facciamo tutto in modo molto ordinato e abbimo degli standard da seguire,
Sbagliato, io non sono un normale utente, sono uno sviluppatore che lavora sia con Windows che con Linux, per questo motivo li conosco molto bene tutti e due  che ci obligano a fare i pacchetti binari a partire da quelli sorgente, applicando le patch al sorgente senza metterci mano.
Capisco perfettamente quello che vuoi dire, però in questo caso invece di complicarsi la vita per capire come deve essere compilato gcc per la toolchain Atmel mi pare logico utilizzare gli eseguibili già pronti, e sicuramente funzionanti, almeno in prima battuta per verificare se il tutto funziona, poi nulla vieta, con calma e tranquillità, di ricompilarsi il tutto partendo dai sorgenti e dalle patch.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
God Member
Karma: 4
Posts: 873
|
 |
« Reply #38 on: March 19, 2012, 04:54:29 am » |
@legacy: se almeno con la versione 4.5.x siamo in grado di indirizzare il codice all'interno di uno spazio indirizzi di 128 KB (ossia 64K word) a me è più che sufficiente.
Come ti ho scritto dovrai aspettare avr-gcc-4.7.1, tutte le attuali non ne sono capaci come ti ho raccontato. Attualmente le sole possibilit'a sono manuali e prevedono 1) check manuale della validita' di un puntatore, perche' potrebbe non essere corretta la sua traduzione quando supera il massimo attualmente indirizzabile 2) per ogni far pointer vanno inserite a mano nel codice delle linee asm-inline per gestire l'indirizzamento
|
|
|
|
|
Logged
|
|
|
|
|
Rome (Italy)
Offline
Tesla Member
Karma: 74
Posts: 7382
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
|
 |
« Reply #39 on: March 19, 2012, 05:01:58 am » |
Come ti ho scritto dovrai aspettare avr-gcc-4.7.1, tutte le attuali non ne sono capaci come ti ho raccontato.
Mi spieghi come mai la toolchain Atmel non ha questo limite ?
|
|
|
|
|
Logged
|
|
|
|
|
Forum Moderator
Italy
Offline
Brattain Member
Karma: 219
Posts: 16547
Don't know what I do
|
 |
« Reply #40 on: March 19, 2012, 05:04:10 am » |
Aggiornamento. Ho scaricato la toolchain ufficiale dal sito Atmel. Ho poi sostituito il file delay.h presente in /avr/include/avr con quello presente qui: http://www.wrightflyer.co.uk/avr-gcc/Ecco cosa vien fuori. In file included from /home/geuropa/Documenti/Arduino/arduino-tiny-0022/hardware/arduino/cores/arduino/wiring_private.h:30:0, from /home/geuropa/Documenti/Arduino/arduino-tiny-0022/hardware/arduino/cores/arduino/HardwareSerial.cpp:28: /home/geuropa/Scrivania/toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/include/avr/delay.h: In function 'void _delay_ms(double)': /home/geuropa/Scrivania/toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/include/avr/delay.h:149:42: error: 'fabs' was not declared in this scope /home/geuropa/Scrivania/toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/include/avr/delay.h:149:43: error: 'ceil' was not declared in this scope /home/geuropa/Scrivania/toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/include/avr/delay.h: In function 'void _delay_us(double)': /home/geuropa/Scrivania/toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/include/avr/delay.h:226:42: error: 'fabs' was not declared in this scope /home/geuropa/Scrivania/toolchain/bin/../lib/gcc/avr/4.5.1/../../../../avr/include/avr/delay.h:226:43: error: 'ceil' was not declared in this scope Ah, premetto che ho anche creato un link simbolico in /avr/include che punta a /avr/include/avr/delay.
|
|
|
|
|
Logged
|
|
|
|
|
Rome (Italy)
Offline
Tesla Member
Karma: 74
Posts: 7382
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
|
 |
« Reply #41 on: March 19, 2012, 05:12:29 am » |
Aggiornamento. Ho scaricato la toolchain ufficiale dal sito Atmel. Ho poi sostituito il file delay.h presente in /avr/include/avr con quello presente qui:
Mi sa tanto che o stamattina stai ancora dormendo oppure ti è venuto a mancare un altro pollo al sale  Rileggiti cosa ti ho spiegato qui, e che ti ho ripetuto qualche post indietro. Potrebbe anche essere, ma non te lo garantisco, che se segui la mia procedura dopo riesci a compilare gli sketch più semplici, mentre potrebbero saltare fuori nuovi errori con quelli più complessi.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 156
|
 |
« Reply #42 on: March 19, 2012, 05:23:27 am » |
@Astro: ora non sono sul mio sistema, ma su una Ubuntu 10.04. Proverò inserendo il file delay.h.
@Carletto: sì, puoi farlo.
Grazie
|
|
|
|
|
Logged
|
|
|
|
|
Forum Moderator
Italy
Offline
Brattain Member
Karma: 219
Posts: 16547
Don't know what I do
|
 |
« Reply #43 on: March 19, 2012, 05:24:22 am » |
Lasciamo perdere il pollo al sale, che ce l'ho ancora sul gozzo  Allora ho rifatto con la tua procedura (me l'ero dimenticata). Ho provato compilando ArduinoISP. Funziona perfettamente con l'Arduino UNO ma NON funziona con l'Arduino MEGA/home/geuropa/Documenti/Arduino/arduino-tiny-0022/hardware/arduino/cores/arduino/HardwareSerial.cpp:92:15: error: attempt to use poisoned "SIG_USART0_RECV" /home/geuropa/Documenti/Arduino/arduino-tiny-0022/hardware/arduino/cores/arduino/HardwareSerial.cpp:145:15: error: attempt to use poisoned "SIG_USART1_RECV" /home/geuropa/Documenti/Arduino/arduino-tiny-0022/hardware/arduino/cores/arduino/HardwareSerial.cpp:155:15: error: attempt to use poisoned "SIG_USART2_RECV" /home/geuropa/Documenti/Arduino/arduino-tiny-0022/hardware/arduino/cores/arduino/HardwareSerial.cpp:165:15: error: attempt to use poisoned "SIG_USART3_RECV"
Non riconosce le seriali aggiuntive.
|
|
|
|
|
Logged
|
|
|
|
|
Rome (Italy)
Offline
Tesla Member
Karma: 74
Posts: 7382
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
|
 |
« Reply #44 on: March 19, 2012, 05:27:02 am » |
Funziona perfettamente con l'Arduino UNO ma NON funziona con l'Arduino MEGA
Bene, un passo avanti l'abbiamo fatto  Questo errore con la MEGA non l'ho ancora visto, però non ho nemmeno provato a compilare uno sketch che usa più di una seriale, ci provo adesso e ti faccio sapere tra qualche minuto.
|
|
|
|
|
Logged
|
|
|
|
|
|