Go Down

Topic: Topic permanente di programmazione newbie (Read 124890 times) previous topic - next topic

menniti

Comunque sia ho stabilito per oggi (quasi libero!) questa scaletta:
1 - metto in ordine il firmware (troppo incasinato)
2 - studio e decido se implementare il lock_bit
3 - rifaccio il test winavr, evidentemente ieri mi è sfuggito qualcosa; riguardo il core la prova va fatta con quello per il 2313, che nella libreria tiny c'è; rispondo con l'occasione a Leo:
- penso che essendoci tra i due solo differenze di memoria e del low fuse, non ci dovrebbero essere problemi di timer ecc., infatti dicendo al compilatore che stavo usanto una variante del 2313 lui ha eseguito tutto alla perfezione, quindi qui si tratta solo di fargli riconoscere il nome, vedremo con questo test di Astro; l'unico dubbio mi viene dal fatto che io tengo tutti il materiale extra ide 0022 in una cartella separata rispetto alla hardware originale, quindi mi devo ricordare anche di fare questa prova.

Sempre come chiarimento a Leo: nel frangente del -F si parlava di un micro che ha perso la signature e che io volevo provare a programmarlo, i fuse ovviamente erano a posto, quindi no-bricked, altrimenti a che mi serve l'HV?  ;)

@ Testato: Elettronica In regala tramite sito il firmware e i gerber per farsi i PCB; se poi dovessero decidere di farne un kit (ma ne dubito, dovrebbero avere un bordello di richieste) allora metteranno in vendita anche i soli PCB, di solito fanno così. Comunque ragazzi, a lavoro finito pubblico le caratteristiche, se mi fate sapere di essere interessati realmente alla costruzione, una volta che so quanti siete gli chiedo di farmi stampare "xx" copie dei vari PCB, mi faccio fare un preventivo e ve li giro; oppure (meglio ancora) gli dò i Vostri nominativi e ve li faccio spedire a casa in c/assegno, così ognuno potrà decidere di aggiungere qualche componente che non ha in casa. Ne riparliamo se vi fa piacere.
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


l'unico dubbio mi viene dal fatto che io tengo tutti il materiale extra ide 0022 in una cartella separata rispetto alla hardware originale, quindi mi devo ricordare anche di fare questa prova.


Io la prova l'ho fatta in questo modo, ho copiato in toto l'IDE 0023 in una nuova cartella denominata ide23_test, poi ho cancellato tutto il contenuto della cartella che contiene winavr e ho copiato al suo interno tutto il contenuto, meno avr32 che non serve, di quella del nuovo winavr.
Più tardi provo con il core del 2313, non mi ricordavo che c'era pure questo, e vediamo se compila correttamente.
Scientia potentia est

leo72

Ora guardo il core Tiny, se con poco è possibile implementare il 4313.

astrobeed


Ora guardo il core Tiny, se con poco è possibile implementare il 4313.


Ottimo, allora aspetto il tuo verdetto prima di rifare il test.
Scientia potentia est

leo72

In allegato trovate il core Tiny 0022 modificato per il supporto al 4313.
Scompattate l'archivio e sostituite la cartella ottenuta a quella presente in /hardware/tiny/cores.

A me compila senza problemi, però ho avr-gcc 4.3.5, tengo a precisare.
Dovete anche creare una board virtuale nel file /hardware/tiny/boards.txt.
Come test io ho usato questa:
Code: [Select]
###########################################################################

attiny4313at1.name=ATtiny4313 @ 1 MHz
attiny4313at1.upload.using=arduino:arduinoisp
#attiny2313at1.upload.using=pololu
attiny4313at1.upload.maximum_size=4096
attiny4313at1.bootloader.low_fuses=0x64
attiny4313at1.bootloader.high_fuses=0x9F
attiny4313at1.bootloader.extended_fuses=0xFF
attiny4313at1.bootloader.path=empty
attiny4313at1.bootloader.file=empty2313at1.hex
attiny4313at1.bootloader.unlock_bits=0x3F
attiny4313at1.bootloader.lock_bits=0x3F
attiny4313at1.build.mcu=attiny4313
attiny4313at1.build.f_cpu=1000000L
attiny4313at1.build.core=tiny

menniti

Ottimo Leo e grazie, cambia solo LFuse=0x62, ormai li conosco a memoria :smiley-sweat:
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


Ottimo Leo e grazie, cambia solo LFuse=0x62, ormai li conosco a memoria :smiley-sweat:

Ecco, quello è da ricontrollare perché ho fatto solo un copia-e-incolla dalla board del 2313 per fare la compilazione. Cmq i fuse sono inutili dato che vengon usati dall'IDE solo quando si programma il bootloader, e sui Tiny il bootloader non si mette per cui...

menniti



Ottimo Leo e grazie, cambia solo LFuse=0x62, ormai li conosco a memoria :smiley-sweat:

Ecco, quello è da ricontrollare perché ho fatto solo un copia-e-incolla dalla board del 2313 per fare la compilazione. Cmq i fuse sono inutili dato che vengon usati dall'IDE solo quando si programma il bootloader, e sui Tiny il bootloader non si mette per cui...

Vero, è solo per una questione di "precisione" :)
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


Ottimo Leo e grazie, cambia solo LFuse=0x62, ormai li conosco a memoria :smiley-sweat:

Per scrupolo ho ricontrollato col FuseCalculator. I fuse che ho messo io sono giusti  :P
$62 si usa per i Tinyx4/x5: per attivare il clock a 1 MHz con i Tinyx313 va bene $64  ;)

Il motivo è presto detto: i Tinyx313 hanno l'oscillatore interno che può andare a 4 o 8 MHz, a differenza degli altri Tiny. Il valore di $62 seleziona il clock a 4MHz/8, per il clock a 8MHz/8 ci vuole $64.

menniti

#279
Mar 16, 2012, 10:26 am Last Edit: Mar 16, 2012, 11:01 am by menniti Reason: 1
Hai ragione Leo, nel mio array ho messo il valore 62 perché l'ho preso da una Tabella che avevo a disposizione; mi sono fidato e ho fatto male, visto che è mia intenzione basarmi sui fuse che risultano come "default" su FuseCalc.
Ora cambio il valore nell'array. tnx :)
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


In allegato trovate il core Tiny 0022 modificato per il supporto al 4313.
Scompattate l'archivio e sostituite la cartella ottenuta a quella presente in /hardware/tiny/cores.


Provato, adesso con la 0023, ma pure con la 1.0, si compila senza problema anche per i 4313.

Un piccolo aggiornamento relativo al trapianto della 4.3.3, per poter programmare il micro dall'IDE è necessario copiare la cartella etc, che contiene avrdude.conf, nella cartella dove si è copiato il nuovo winavr, o più semplicemente non cancellare quella originale, inoltre è necessario copiare avrdude.exe dalla cartella originale dell'IDE e sostituire quello presente nel nuovo winavr, non è modificato per Arduino e non riconosce le board.

Scientia potentia est

leo72


Provato, adesso con la 0023, ma pure con la 1.0, si compila senza problema anche per i 4313.

L'unica prova da fare è vedere se poi il codice compilato funziona  ;)
Non ho 4313 per cui non ho potuto provare.

astrobeed


L'unica prova da fare è vedere se poi il codice compilato funziona  ;)
Non ho 4313 per cui non ho potuto provare.


Idem, al limite posso allegare il file .hex generato e se Michele ha un 4313 funzionante lo prova lui, però a questo punto deve riuscire per forza di cose a compilare per il 4313 se ha scaricato la giusta release di WinAvr.
Scientia potentia est

menniti



In allegato trovate il core Tiny 0022 modificato per il supporto al 4313.
Scompattate l'archivio e sostituite la cartella ottenuta a quella presente in /hardware/tiny/cores.


Provato, adesso con la 0023, ma pure con la 1.0, si compila senza problema anche per i 4313.

Un piccolo aggiornamento relativo al trapianto della 4.3.3, per poter programmare il micro dall'IDE è necessario copiare la cartella etc, che contiene avrdude.conf, nella cartella dove si è copiato il nuovo winavr, o più semplicemente non cancellare quella originale, inoltre è necessario copiare avrdude.exe dalla cartella originale dell'IDE e sostituire quello presente nel nuovo winavr, non è modificato per Arduino e non riconosce le board.

infatti questa cosa dell'etc l'avevo notata perché non trovavo più l'AVRDUDE.CONF nel quale peraltro (anche il nuovo) non c'è comunque traccia del 4313. Comunque appena finisco il programma faccio un po' di prove :)
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


infatti questa cosa dell'etc l'avevo notata perché non trovavo più l'AVRDUDE.CONF nel quale peraltro (anche il nuovo) non c'è comunque traccia del 4313. Comunque appena finisco il programma faccio un po' di prove :)


Non c'è traccia perché la versione di avrdude allegata è la stessa di quella precedente, però dovrebbe bastare modificare il file .conf per introdurlo, anche se tocca un attimo vedere con cosa lo vai programmare effettivamente, avrdude è solo un programma che fornisce i comandi ad un programmatore hardware, non è lui che programma fisicamente il micro.
Scientia potentia est

Go Up