Pages: 1 2 [3] 4 5 ... 11   Go Down
Author Topic: [Linux] Aggiornare la toolchain Avr  (Read 14236 times)
0 Members and 1 Guest are viewing this topic.
Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 120
Posts: 9158
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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  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.
Logged

Offline Offline
Full Member
***
Karma: 0
Posts: 156
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 325
Posts: 22498
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

@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 Offline
Tesla Member
***
Karma: 120
Posts: 9158
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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 Offline
Faraday Member
**
Karma: 30
Posts: 2905
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

A quel link ci sono arrivato da qui http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=104134
Approposito 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=rja

Quote
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.

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.

Quote
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
Quote
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

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

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 120
Posts: 9158
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

@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 Offline
Tesla Member
***
Karma: 120
Posts: 9158
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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  smiley

Quote
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

Rome (Italy)
Offline Offline
Tesla Member
***
Karma: 120
Posts: 9158
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 325
Posts: 22498
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Quote
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 Offline
Tesla Member
***
Karma: 120
Posts: 9158
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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  smiley-mr-green
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 Offline
Full Member
***
Karma: 0
Posts: 156
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

@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

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 325
Posts: 22498
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Lasciamo perdere il pollo al sale, che ce l'ho ancora sul gozzo  smiley-razz
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


Code:
/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 Offline
Tesla Member
***
Karma: 120
Posts: 9158
"Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo è inutile e deviante."
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Funziona perfettamente con l'Arduino UNO ma NON funziona con l'Arduino MEGA

Bene, un passo avanti l'abbiamo fatto  smiley
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

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 325
Posts: 22498
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Seconda prova.
NON funziona neanche con i Tiny. Ecco il BlinkWithoutDelay Vs. un Tiny84:

Code:
In file included from /home/geuropa/Documenti/Arduino/arduino-tiny-0022/hardware/tiny/cores/tiny/wiring_pulse.c:26:0:
/home/geuropa/Documenti/Arduino/arduino-tiny-0022/hardware/tiny/cores/tiny/pins_arduino.h:60:27: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'port_to_mode_PGM'
/home/geuropa/Documenti/Arduino/arduino-tiny-0022/hardware/tiny/cores/tiny/pins_arduino.h:61:27: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'port_to_input_PGM'
/home/geuropa/Documenti/Arduino/arduino-tiny-0022/hardware/tiny/cores/tiny/pins_arduino.h:62:27: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'port_to_output_PGM'
/home/geuropa/Documenti/Arduino/arduino-tiny-0022/hardware/tiny/cores/tiny/pins_arduino.h:63:27: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'port_to_pcmask_PGM'
/home/geuropa/Documenti/Arduino/arduino-tiny-0022/hardware/tiny/cores/tiny/pins_arduino.h:65:27: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'digital_pin_to_port_PGM'
/home/geuropa/Documenti/Arduino/arduino-tiny-0022/hardware/tiny/cores/tiny/pins_arduino.h:67:27: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'digital_pin_to_bit_mask_PGM'
/home/geuropa/Documenti/Arduino/arduino-tiny-0022/hardware/tiny/cores/tiny/pins_arduino.h:68:27: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'digital_pin_to_timer_PGM'
/home/geuropa/Documenti/Arduino/arduino-tiny-0022/hardware/tiny/cores/tiny/wiring_pulse.c: In function 'pulseIn':
/home/geuropa/Documenti/Arduino/arduino-tiny-0022/hardware/tiny/cores/tiny/wiring_pulse.c:37:16: error: 'digital_pin_to_bit_mask_PGM' undeclared (first use in this function)
/home/geuropa/Documenti/Arduino/arduino-tiny-0022/hardware/tiny/cores/tiny/wiring_pulse.c:37:16: note: each undeclared identifier is reported only once for each function it appears in
/home/geuropa/Documenti/Arduino/arduino-tiny-0022/hardware/tiny/cores/tiny/wiring_pulse.c:38:17: error: 'digital_pin_to_port_PGM' undeclared (first use in this function)
/home/geuropa/Documenti/Arduino/arduino-tiny-0022/hardware/tiny/cores/tiny/wiring_pulse.c:48:11: error: 'port_to_input_PGM' undeclared (first use in this function)
Logged


Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 325
Posts: 22498
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Terza prova.
Lo sketch BlinkWithoutDelay compila per 644 e 1284.
Logged


Pages: 1 2 [3] 4 5 ... 11   Go Up
Jump to: