Pages: 1 [2]   Go Down
Author Topic: Convertire un codice ldmicro in codice per IDE  (Read 2681 times)
0 Members and 1 Guest are viewing this topic.
Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 332
Posts: 22804
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Uhm... la tua è una supposizione logica.
Sinceramente non ho fatto molte prove perché il risultato era quello che volevo, ovvero avere un Arduino UNO capace di programmare chip Atmega standalone. Cmq il bootloader NON influisce sulle impostazioni del clock, quelle sono regolate unicamente dai fuse. Quindi che il micro abbia il bootloader o meno, all'atto pratico dell'esecuzione di un programma non c'è nessuna differenza.

Bisognerebbe inoltre capire come viene creato il file .hex da uploadare. Siccome il bootloader risiede nell'ultima porzione di memoria, se il file .hex non è più grande di tot_memoria-dim_bootloader in teoria il bootloader non dovrebbe venir sovrascritto. Quindi, una volta scritto, se non lo sovrascrivi, il bootloader rimane.
Logged


Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 569
Posts: 12573
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Va bene, ma questo ora è un problema relativo. Con la tua tecnica io creo i chip in stand alone e funzionano, com'è che cambiando il valore del l_fuse non succede nulla? Forse anche gli altri due fuses? ma tu hai mai provato a far funzionare un chip a 8MHz? non potresti scovare l'inghippo?
Il mio problema in realtà e che devo prima provare lo schedino "sul campo", poi devo realizzarne 7, e certamente userò ATtiny (col tuo tutorial naturalmente smiley-wink), ma devo essere sicuro che circuito+software funzionino come si deve e che i consumi siano bassissimi, altrimenti rischio di spendere un sacco di soldini e non risolvere nulla. Puoi aiutarmi in qualche modo?
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

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

Posso provare, dammi una decina di minuti di tempo.
Logged


Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 569
Posts: 12573
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Anche 15, io intanto ti faccio il caffè smiley-lol Grazie!
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

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

Ti confermo che il chip, tolto il quarzo dopo la programmazione, non va.
Ho modificato il file boards.txt mettendo l'lfuse a 0xe2 ed il clock a 8 MHz, poi ho caricato lo sketch Blink e pareva funzionare correttamente ma, tolto il quarzo esterno, non è ripartito.

Osservando il lampeggio del LED, noto che la velocità del flash è doppia, segno che internamente i timing sono stati impostati correttamente per lavorare a 8 MHz ma che usa sempre il clock esterno da 16 MHz, quindi dimezzando il tempo del delay.

Cerco di fare un altro paio di prove...
Logged


Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 569
Posts: 12573
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok, intanto sull'altro topic ti posto la prova fatta con la 2009, per non incasinare le idee a chi sta seguendo, meglio tenere separate le due cose.
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

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

Purtroppo devo confermarti che l'IDE di Arduino NON ha programmato i fuse. Ho testato il micro con USBtinyISP e, nonostante i parametri immessi nel file boards.txt, leggevo ancora quelli originali. Quindi deve esserci un altro "blocco" che impedisce la programmazione.
Logged


Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 569
Posts: 12573
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Grazie per il tempo che mi hai dedicato, questa cosa mi fa incavolare, sul tutorial sembra la cosa più facile del mondo, e poi non c'è verso di farla funzionare. smiley-twist smiley-twist smiley-twist
Faccio un appello: sul forum c'è un solo utente che sia mai riuscito a far lavorare un ATmega328 a 8MHz? e come ha fatto????? smiley-eek
Se non ho risposta apro un topic specifico, mi sembra davvero impossibile!
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

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

Io.... usando ora l'USBtinyISP. Ho l'Atmega328 che fa lampeggiare un LED esterno sulla breadboard senza quarzo.
Mi sa che un programmatore è l'unico modo per cambiare i fuse.
Logged


Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 569
Posts: 12573
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Voglio fare una prova: con la tecnica del burn bootloader voglio caricare nel chip il bootloader della board che indicano loro a 8MHz; poi col seriale mando lo sketch. Ti faccio sapere.
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 569
Posts: 12573
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

 smiley-sad smiley-sad smiley-cry
Logged

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Pages: 1 [2]   Go Up
Jump to: