Go Down

Topic: progetto standalone Arduino Uno SMD Rev3 (Read 2 times) previous topic - next topic

edoardo89


Si lo puoi caricare ma senza bootloader caricando prima su Arduino SMD lo sketch "Arduino ISP" e poi, seguendo la guida di Menniti, sul secondo micro via ISP.
In questo modo però avrai sempre l'Arduino SMD impegnato a fare da programmatore ISP.


ok grazie! scusa ma perché una volta caricato il bootloader non posso più caricare lo sketch? cosa viene modificato?
ricapitolando quindi se ricreo il circuito che c'è nella guida (quello utilizzato anche per caricare il bootloader) e invece di caricare il bootloader, carico lo sketch, ottengo un atmega standalone con il mio sketch caricato?
ti chiedo scusa per le mie domande magari ripetitive, ma vorrei essere sicuro di quello che devo fare e magari del perché devo farlo :)

PaoloP

Il bootloader è un piccolo programma che permette di caricare lo sketch tramite connessione seriale.
quando si resetta il micro o ci attiva l'alimentazione, la prima cosa che fa il micro è quella di controllare se è presente un bootloader. Se è presente gli passa il controllo. Il bootloader vede se sono in arrivo dati dalla seriale (uno sketch) e nel caso li legge e programma il micro di conseguenza. Se non sono in arrivo dati sulla seriale allora avvia lo sketch (se presente).
Se, invece,  non è presente il bootloader, il micro esegue direttamente lo schetch registrato (in modalità ISP, perchè senza boot non è possibile caricarli via seriale).
Se non c'è lo sketch, perchè la memoria del micro è vuota, non fa niente.

Quindi, ricapitolando, per programmare un micro in standalone devi usare la programmazione ISP. Con la ISP puoi o caricare uno sketch (che varrà eseguito al reset o all'accensione) o un bootloader che ti permette di caricare uno sketch via seriale.
Se nel micro è presente il bootloader e carichi uno sketch tramite ISP questo viene cancellato.

Spero di essermi stato spiegato.  ;) <-- Licenza poetica!!

P.S. Alle 15 il foro chiude e riapre domani pomeriggio.  :smiley-eek-blue:
Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

edoardo89

ok, quindi sono due tecniche diverse! grazie  :)

comunque ho provato a caricare lo sketch blink.. ma il led lampeggia mooolto più lentamente di quel che dovrebbe.. circa 10 volte più lento
=(

PaoloP

#13
Feb 22, 2013, 07:42 pm Last Edit: Feb 22, 2013, 07:44 pm by PaoloP Reason: 1
Hai sbagliato velocità.
Che quarzo usi?
Hai creato una nuova Board per il quarzo da te usato (se diverso da 16MHz) o per l'oscillatore interno?
Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

Michele Menniti

Una volta caricato il bootloader sul micro stand-alone puoi usare anche lo stesso Arduino per inviargli uno sketch via seriale, nella Guida è spiegato anche questo... ;)
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

Go Up