Go Down

Topic: [Linux] Aggiornare la toolchain Avr (Read 48399 times) previous topic - next topic

Maurotec

Ecco come lo hai fatto tu è meglio, per sbagliare si deve essere morti dal sonno. Però sei costretto a lavorare con le shell aperte e io che uso L'ide dovrei avviarlo da li, si può fare non è male come idea, poi l'avvio dal menù di gnome usa gcc nativo. Appena ho un po di tempo vediamo che riesco a combinare.

Quote
Ma non volevi testare se il codiche che esce dalla toolchain procuce un eseguibile in cui la flash e' indirizzata nel modo corretto e se i salti funzionano nel modo corretto ? Secondo me basta un address-in-address test piu' un far-jump per dirlo, e senza fare altro, lo provi cosi' come e' e vedi come si comporta la toolchain, se inizia a toppare si "indaggina" meglio e si prendono provvedimenti.

Io non lo posso fare perche' non ho hw sottomano ne mi interessa averlo nell'immediato: ho solo 644 in produzione, ho solo quei chip qui.


Si notte :D...., non leggi, io sono nelle stesse condizioni non ho hardware per testare, cioè ho solo 168, 328, 644 e solo chi ha il 2560 può verificare, magari io posso compilare per questo ma altri devono verificare. Quel doc e codice mi è capitato davanti per caso e gli ho dato uno sguardo e lo messo dentro anche perchè quel test ripeto è standard ed è da eseguire in produzione, quindi, si basta fare come dici tu.

Ciao.


leo72


non ho idea se quello che ha riportato leo sia gia' stato applicato al ramo 4.5.1, io so che verra' applicato al 4.7.x,

Di default, solo avr-gcc ramo 4.7.x implementerà questa cosa.

dab77


Ciao dab77, anche io non ho solo 168,328 e 644, ci vorrebbe chi ha uno di questi micro per testare la toolchain:

avr35 attiny1634
avr4 atmega48pa
avr5 at90pwm161 atmega325pa atmega3250pa atmega3290pa
avrxmega2 atxmega21x1
avrxmega6 atxmega128b1 atxmega256a3bu

Dab77, tu su che distrò lavori?
........
Ciao.

Ho una ubuntu 10.04, kernel pae.e non mi stacco neanche morto da gnome 2. quindi ho un ambiente standard su cui testare, mi manca il tempo per adesso, ma tra un pò mi metterò a testare volentieri.

Maurotec

Quote
Ho una ubuntu 10.04, kernel pae.e non mi stacco neanche morto da gnome 2. quindi ho un ambiente standard su cui testare, mi manca il tempo per adesso, ma tra un pò mi metterò a testare volentieri.


Io se legacy è disposto a condividere farei quello che ha fatto lui, cioè in pratica si applicano le path si compila e si installa su file system ext, poi questo file si monta in loop device e da shell si avvia arduino, così L'ide vede un /usr/avr e /usr/bin che sono quelli presenti nel file montato.

Purtroppo neanche tu hai hardware per fare il test, perchè anche la mega con il 1280 ha solo 128K, ma che fine hanno fatto quelli che hanno la Mega?

Ciao.

Maurotec

#79
Mar 23, 2012, 12:25 am Last Edit: Mar 23, 2012, 12:38 am by MauroTec Reason: 1
mmmmmmmmmm.... mi fate una cortesia, mi controllate se nel file avr/io c'è definito __AVR_ATmega168PA__,  perchè nella 1.7.1 con patch Atmel non c'è, nel caso l'aveste mi postate qui le righe del 168, così visto che ci sono faccio la patch, avr-libc-1.7.1-missin_168pa.patch.

Ciao.

Visto che ci siete a me manca anche il 164PA. Il __AVR_ATmega1284P__ c'è ma manca __AVR_ATmega1284__ senza la P.

brainbooster

FYI:
http://gcc.gnu.org/gcc-4.7/
:)
queste le modifiche della nuova versione:
http://gcc.gnu.org/gcc-4.7/changes.html

leo72


mmmmmmmmmm.... mi fate una cortesia, mi controllate se nel file avr/io c'è definito __AVR_ATmega168PA__,  perchè nella 1.7.1 con patch Atmel non c'è, nel caso l'aveste mi postate qui le righe del 168, così visto che ci sono faccio la patch, avr-libc-1.7.1-missin_168pa.patch.

Se per avr/io intendi /avr/include/avr/io.h no, non c'è.

Quote


Ciao.

Visto che ci siete a me manca anche il 164PA. Il __AVR_ATmega1284P__ c'è ma manca __AVR_ATmega1284__ senza la P.

Manca.

PS:
parlo della toolchain AVR.

leo72


FYI:
http://gcc.gnu.org/gcc-4.7/
:)
queste le modifiche della nuova versione:
http://gcc.gnu.org/gcc-4.7/changes.html

Finalmente!!! Uscita proprio ieri.
Allora in questi giorni formatto tutto e torno ad Arch  ;)

Maurotec

Io per adesso vado avanti con questa, ma poi più in là voglio fare quello che ha fatto legacy per le toolchain, così da avere più toolchain in un colpo solo a scelta e ovviamente proverò questa versione. Però non so se è il caso di aspettare la 4.7.2.

Ciao.

brainbooster

:) @Mauro poi ci sarà la 4.7.3, poi la 4.7.4 ecc....
la cosa migliore quando si fanno esperimenti è quella di avere sempre l'ultima versione (quando si lavora seriamente, magari la penultima :D )

testato


FYI:
http://gcc.gnu.org/gcc-4.7/
:)
queste le modifiche della nuova versione:
http://gcc.gnu.org/gcc-4.7/changes.html

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

leo72

avr-gcc 4.7.0, avr-lib 1.8.0 e binutils-avr 2.22 sono già arrivati nei repo di ArchLinux (ramo testing). Qualcuno li ha provati? Hanno dei problemi? Hanno risolto tutti i bug (delay, mem>128, millis, ecc..)?

Maurotec

Quote
@Mauro poi ci sarà la 4.7.3, poi la 4.7.4 ecc....


Vabbe non mi dire  :P

Mi  è venuto autometico pensare che le realase minor release fossero quelle stabili e quelle dispari no, ma quello forse è per il kernel.

Ciao

leo72


Mi  è venuto autometico pensare che le realase minor release fossero quelle stabili e quelle dispari no, ma quello forse è per il kernel.

Era. Non lo è più.


il numero giusto per me e' 4.7.1, io aspetto quel rilascio, prima secondo me e' un po' prematuro e anche se nel changes note della 4.7.0 vedete gia' introdotto il name-spaces ip penso, da quanto leggo nei commenti e parlando con gente, che ci sono molte fin troppe situazioni in cui quella tecnica ancora non e' rodata per bene.

Questo per quanto riguarda il bug della flash. Ma per gli altri problemi menzionati, queste release sai se funzionano "out of the box" oppure hanno sempre bisogno di una "sistemata"?

leo72

Stamani ho terminato la formattazione del mio sistema, rimettendo Arch Linux dopo circa 1 anno.
Nei repo ufficiali stabili è presente la seguente toolchain:
avr-gcc 4.6.3
avr-libc 1.8.0
binutils-avr 2.22

Installando questa toolchain, la compilazione dello sketch Delay porta alla sfilza di errori data dal file delay.h
Ho quindi aperto il file /usr/avr/include/avr/delay.h editandolo come suggerito da Astro ma poi lo sketch non funziona. Quella toolchain non contiene nessuna patch ed ha ancora il vecchio bug delle funzioni temporali buggate, con il led 13 che resta perennemente acceso (bug relativo a binutils-avr 2.22, la versione 2.20 è esente). Mettendo la dichiarazione di una variabile globale e la relativa assegnazione di un valore qualsiasi nel setup() (il vecchio rimedio a questo bug), lo sketch torna a funzionare ma i tempi sono tutti sballati, con il led che lampeggia alla velocità della luce  :smiley-roll-sweat:

Ergo, la toolchain dei repo di Arch non è usabile. A questo punto, provo direttamente quella di Atmel.

Go Up