Forum Moderator
Italy
Offline
Brattain Member
Karma: 226
Posts: 17007
Don't know what I do
|
 |
« Reply #30 on: January 29, 2012, 04:39:40 am » |
Il bug presente in alcune delle ultime distribuzioni (io personalmente l'ho trovato in ArchLinux ed in K/X/Ubuntu 11.10) impedisce di compilare lo sketch ArduinoISP in maniera corretta. Apparentemente la compilazione avviene in maniera corretta (nessun errore da parte dell'IDE), ma una volta flashato sull'Arduino non è possibile utilizzare l'Arduino come programmatore ISP perché si ricevono diversi errori di sincronizzazione.
In buona sostanza, pare che qualcosa sull'ultima versione di Ubuntu non sia giusta (forse qualche tool della toolchain AVR) per cui vengono introdotti dei bug che nell'uso normale non si manifestano (qualunque sketch compilato a me ha sempre lavorato correttamente) mentre invece se si compila lo sketch ArduinoISP si hanno errori nei tempi di comunicazione della seriale (immagino io, perché l'errore è di "out of synch", se non ricordo male).
Curiosamente le precedenti versioni di K/X/Ubuntu (11.04) non sono affette da questo problema. Che non sembra colpire neanche l'ultima openSUSE 12.1.
|
|
|
|
« Last Edit: January 29, 2012, 04:52:11 am by leo72 »
|
Logged
|
|
|
|
|
Offline
God Member
Karma: 4
Posts: 873
|
 |
« Reply #31 on: January 29, 2012, 04:51:58 am » |
Vabbe ma se si riuscisse ad isolare esattamente il problema sta nel pacchetto binutils-avr ? sta nel pacchetto gcc-avr ? sta nel profilo di gcc-avr che con qualche opzione di ottimizzazione o meno compila male ? sta nel pacchetto lib-c-avr &C ? sta in uno o piu' pacchetti che riguardano la seriale ? sta eventualmente in qualche modulo del kernel preposto alla gestione della seriale o altro ? l'IDE da quanti pacchetti e' composto ?
Tutte queste domande fanno venir voglia di una sola cosa: distribuire il sistema di sviluppo arduino per linux sottoforma di miniroot, un po' come si fa sia su MacOSX che su Windows invece di integrarlo nel sistema come si fa su linux.
Della serie te lo scarichi, te lo scompatti in /opt, li c'e' tutto quello che gli serve e tutto resta li dentro senza aver bisogno di altro da nessuna altra parte del sistema e senza inzozzare niente altro nel sistema, e tu vivi felice. (sempre che non sia un problema legato ai driver, quindi ai kernel module, o a qualche opzione che riguarda come i moduli vengono caricati ed inizializzati).
|
|
|
|
« Last Edit: January 29, 2012, 04:54:31 am by legacy »
|
Logged
|
|
|
|
|
Forum Moderator
Italy
Offline
Brattain Member
Karma: 226
Posts: 17007
Don't know what I do
|
 |
« Reply #32 on: January 29, 2012, 04:54:58 am » |
Non so rispondere alle tue domande.
A me pare che sia un insieme di cause, nel senso che quando ho fatto l'indagine e segnalato il bug sul forum internazionale mi pareva di aver visto che le versioni dei tool in Ubuntu 11.10 erano le stesse di quelli di Ubuntu 11.04. L'unica differenza era il kernel 3.0 contro il kernel 2.6.38, difatti inizialmente avevo pensato ad un problema del kernel. openSUSE 12.1 ha il kernel 3.1, quindi potrebbe anche darsi che sia proprio lui la causa di tutto, bisognerebbe verificare se nella nuova Ubuntu che arriverà ad aprile c'è il 3.1 oppure sempre il 3.0.
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Faraday Member
Karma: 18
Posts: 4051
Arduino rocks
|
 |
« Reply #33 on: January 29, 2012, 06:46:00 am » |
testo io la cosa su ubuntu 11.10 a fra poco
Ritorno ora impressionato dai risultati: Ubuntu pulito, installato poco fa e quasi mai usato Installo da software center Arduino (c'e' ancora la vecchia 0.22 e sono 56MB) Spengo, riaccendo. BieBie ubuntu, non si avvia. schermo nero e trattino lampeggiante in alto a sinistra 
|
|
|
|
|
Logged
|
|
|
|
|
0
Online
Tesla Member
Karma: 87
Posts: 8499
:(){:|:&};:
|
 |
« Reply #34 on: January 29, 2012, 08:21:36 am » |
nuova versione di gcc, 4.6.2... l'avetre provata?
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Faraday Member
Karma: 18
Posts: 4051
Arduino rocks
|
 |
« Reply #35 on: January 29, 2012, 08:52:51 am » |
se mi aiutate a far ripartire ubuntu la provo 
|
|
|
|
|
Logged
|
|
|
|
|
Forum Moderator
Italy
Offline
Brattain Member
Karma: 226
Posts: 17007
Don't know what I do
|
 |
« Reply #36 on: January 31, 2012, 03:36:44 am » |
Riprendo questo thread. Ecco le versioni degli strumenti dela toolchain Avr a confronto:
openSUSE 12.1 (FUNZIONANTE) avr-gcc 4.3.3 cross-binutils-avr 2.19.1 avr-libc 1.7.1
Kubuntu 11.04 (FUNZIONANTE) avr-gcc 4.3.5 binutils-avr 2.20.1 avr-libc 1.6.8
Ubuntu 11.10 (NON FUNZIONANTE avr-gcc 4.6.0 binutils-avr 2.20.1 avr-libc (??)
Non ho la versione di avr-libc (se qualche anima pia con Ubuntu/Kubuntu 11.10 può controllare la versione...) però, con i dati a confronto, mi viene da pensare che la colpa dell'errata compilazione dello sketch ArduinoISP sia da imputare al compilatore avr-gcc.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
God Member
Karma: 4
Posts: 873
|
 |
« Reply #37 on: January 31, 2012, 06:27:49 am » |
Ottimo!
Umm, sto pensando che potrebbe benissimo essere gcc il problema, in passato mi sono successe cose bizzarre passando da una versione all'altra, pero' per parlare di gcc bisognerebbe prima considerare le opzioni che gli vengono passate per compilare.
Altra cosa se sospettassimo che sia il kernel invece il problema andrebbe indagato anche lui, verisione per versione.
|
|
|
|
|
Logged
|
|
|
|
|
Forum Moderator
Italy
Offline
Brattain Member
Karma: 226
Posts: 17007
Don't know what I do
|
 |
« Reply #38 on: January 31, 2012, 06:50:08 am » |
Ottimo!
Umm, sto pensando che potrebbe benissimo essere gcc il problema, in passato mi sono successe cose bizzarre passando da una versione all'altra, pero' per parlare di gcc bisognerebbe prima considerare le opzioni che gli vengono passate per compilare.
Questo è vero. So per certo che alcune versioni a partire dalla 4.6 sono buggate. Altra cosa se sospettassimo che sia il kernel invece il problema andrebbe indagato anche lui, verisione per versione.
Sul forum internazionale dove ho postato il mio primo annuncio/lamentela hanno scartato questa ipotesi, che io inizialmente davo per primaria. Ed hanno anche ragione, alla fine il kernel altro non è che uno strato che gestisce il dialogo fra il software e l'hardware (tra le altre cose) per cui se la lingua è incomprensibile, al "mezzo" (cioè il kernel) poco gliene importa se l'ascoltatore non sa capire cosa il relatore sta dicendo... 
|
|
|
|
|
Logged
|
|
|
|
|
0
Online
Tesla Member
Karma: 87
Posts: 8499
:(){:|:&};:
|
 |
« Reply #39 on: January 31, 2012, 07:10:17 am » |
Riprendo questo thread. Ecco le versioni degli strumenti dela toolchain Avr a confronto:
openSUSE 12.1 (FUNZIONANTE) avr-gcc 4.3.3 cross-binutils-avr 2.19.1 avr-libc 1.7.1
Kubuntu 11.04 (FUNZIONANTE) avr-gcc 4.3.5 binutils-avr 2.20.1 avr-libc 1.6.8
Ubuntu 11.10 (NON FUNZIONANTE avr-gcc 4.6.0 binutils-avr 2.20.1 avr-libc (??)
Non ho la versione di avr-libc (se qualche anima pia con Ubuntu/Kubuntu 11.10 può controllare la versione...) però, con i dati a confronto, mi viene da pensare che la colpa dell'errata compilazione dello sketch ArduinoISP sia da imputare al compilatore avr-gcc.
su linux arch ho binutils a 2.22 e gcc a 4.6.2, esiste un modo per fare un test senza dover flashare un at-mega?
|
|
|
|
|
Logged
|
|
|
|
|
Offline
God Member
Karma: 4
Posts: 873
|
 |
« Reply #40 on: January 31, 2012, 08:06:12 am » |
@leo ipotizzando che sia gcc-avr di una certa versione ad avere problemi, ipotizzando che per sfiga non se la siano beccata tutti ma solo quelli che si sono installati distro/versione "meno fortuata", e ipotizzandoo che questi problemi non siano nemmeno risolvibili cambiando le opzioni di compilazione (per esempio il tipo di ottimizzazione -o2 -o3 ecc), concentrandoci sul compilatore e' possibile downgradarlo nelle distro ubuntu dove non funziona ?
non conosco ubuntu e altre se non gentoo, non so se sia indolore o possibile fare downgrade di un pacchetto, su gentoo non e' proprio indolore, costa fatica ed ha un certo margine di rischio.
se si, se si puo' fare il downgrade senza spaccare tutto, si possono fare delle prove e vedere se e' proprio quello il problema ?
perche' capito cio' si inizia a lavorare su gcc, magari e' una stupidata da qualche parte nel suo intricato sottobosco che se fatta notare ai ragazzi del progetto GNU ci mettono meno di 5 minuti a risolvere =P
|
|
|
|
|
Logged
|
|
|
|
|
Forum Moderator
Italy
Offline
Brattain Member
Karma: 226
Posts: 17007
Don't know what I do
|
 |
« Reply #41 on: January 31, 2012, 08:11:11 am » |
@lesto: l'unico modo è provare l'ArduinoISP durante la flashatura di un altro micro. Altri test non ci sono perché "apparentemente" funziona tutto bene.
@legacy: in teoria io credo di sì, che si possa fare su Ubuntu, perché le dipendenze sono 2 e basta. Nel senso che binutils-avr è legato ad avr-gcc e viceversa. Mi pare che binutils-avr 2.20 richieda avr-gcc >=4.5. Però non ho memoria sicura di questi valori.
Forse chi ha la 11.10 potrebbe provare ad installare binutils-avr e gcc-avr della 11.04 e vedere che succede. Io non ho la 11.10, potrei provare stasera su una macchina virtuale.
|
|
|
|
|
Logged
|
|
|
|
|
|