Go Down

Topic: bootloader x caricare sketch da SD? (Read 4 times) previous topic - next topic

m_ri

bunasera,qlkn saprebbe dirmi se c'è un bootloader per poter caricare gli sketch da SD,senza usare due arduini?
lo so che pretendo troppo 8)

leo72


m_ri


Federico Vanzati

Io l'ho provato tempo fa, ha ancora dei bachi quel bootloader, carica lo sketch da SD solo se fai il reset della scheda in determinate condizioni. Però il meccanismo con cui prende lo sketch da SD è assolutamente carino!
F

m_ri

#4
Jul 06, 2012, 09:39 pm Last Edit: Jul 06, 2012, 11:13 pm by m_ri Reason: 1
ah cavolo allora non posso fare ciò che volevo:
dati due arduino a  mt di distanza,collegati da seriale,uploadare lo sketch del'arduino remoto dall'altro..(ovviamente lo sketch conterrebbe una  funzione x caricare su sd il codice ricevuto da seriale,e l'altro arduino sarebbe collegato anke a un router..)
cmq grazie :0

Quote
Però il meccanismo con cui prende lo sketch da SD è assolutamente carino!

quale sarebbe?

ratto93

Puoi uppare lo sketch dal PC usando gli xbee se devi lavorare a distanza....
Se corri veloce come un fulmine, ti schianterai come un tuono.

m_ri

ho già tirato un cavo apposta per diversi motivi..cmq non prevedo di caricare sketch ogni giorno,qnd nn vado a comprarmi gli xbee apposta(anche xkè avrei problemi di copertura)..era più per uso occasionale..

cmq grasie!!

Federico Vanzati

questo bootloader, come capisci dal nome è un doppio booloader, quello che sei abituato ad usare con Arduino che carica il programma dalla seriale e il secondo bootloader che, in una determinata condizione ti permette di caricare il programma anche attraverso il bus SPI.

Come fai a decidere quale dei due? Tramite l'espediente che si è inventato.

Di default carichi dalla seriale, ma se negli ultimi 8 byte della EEPROM scrivi un nome (ad esempio ARDUINO) e nella SD carichi uno sketch compilato e rinominato con lo stesso nome (quindi ARDUINO.hex) lui al riavvio lo riconosce e lo flasha usando la SPI. Poi per evitare che ad ogni riavvio il firmware venga inutilmente riflashato, cambi il nome al file nella SD, così non viene più riconosciuto.

Il problema è che se premi reset il firmware quasi mai viene caricato
F

m_ri


Il problema è che se premi reset il firmware quasi mai viene caricato

asp..quindi per fargli caricare l'hex dovrei per forza togliere e rimettere l'alimentazione?

Federico Vanzati

certo, per entrare nel bootloader in qualche modo devi resettare.
F

m_ri


niki77



Il problema è che se premi reset il firmware quasi mai viene caricato


Un reset provocato dal watchdog potrebbe funzionare meglio?

Ho necessità anche io di caricare da sd,mi sà che farò qualche esperimento.
Vi è una spiegazione scientifica a tutto.
La fede è solo quell'anello che si porta al dito dopo il matrimonio.

niki77

Fatti gli esperimenti in merito!!

Effettivamente 2boots è veramente poco affidabile e flessibile, penso che la causa sia che per contenere le dimensioni del codice del bootloader si sia data poca importanza alla sezione lettura da SD.

Tuttavia , ho trovato un gruppo di ragazzi (non italiani ma che ringrazio osbock,martin_bg,eudaldcp) che hanno fatto dei fork di quel bootloader creandone un altro con una gestione della lettura da SD decisamente migliore, aimè senza supporto seriale per ora , ma decisamente affidabile .
Diciamo una buona base di partenza per chi ha necessità inderogabile di caricare da sd.

Se ne parla qui : http://arduino.cc/forum/index.php/topic,99837.0.html

Il mio progetto ad ora si trova al punto che ho una arduinoethernet con a bordo caricato questo bootloader.
Come codice ho un tinywebserver che adempie correttaemente a tutte le funzionalità che mi necessitano , ovvero controllo dei dati da pagina web e modifica dei stati delle porte, e dulcis in fundo , una pagina web che mi da la possibilità di aggiornare il codice stesso facendo l'upload via web.
Carino no?  :smiley-mr-green:

Vi è una spiegazione scientifica a tutto.
La fede è solo quell'anello che si porta al dito dopo il matrimonio.

ratto93


Fatti gli esperimenti in merito!!

Effettivamente 2boots è veramente poco affidabile e flessibile, penso che la causa sia che per contenere le dimensioni del codice del bootloader si sia data poca importanza alla sezione lettura da SD.

Tuttavia , ho trovato un gruppo di ragazzi (non italiani ma che ringrazio osbock,martin_bg,eudaldcp) che hanno fatto dei fork di quel bootloader creandone un altro con una gestione della lettura da SD decisamente migliore, aimè senza supporto seriale per ora , ma decisamente affidabile .
Diciamo una buona base di partenza per chi ha necessità inderogabile di caricare da sd.

Se ne parla qui : http://arduino.cc/forum/index.php/topic,99837.0.html

Il mio progetto ad ora si trova al punto che ho una arduinoethernet con a bordo caricato questo bootloader.
Come codice ho un tinywebserver che adempie correttaemente a tutte le funzionalità che mi necessitano , ovvero controllo dei dati da pagina web e modifica dei stati delle porte, e dulcis in fundo , una pagina web che mi da la possibilità di aggiornare il codice stesso facendo l'upload via web.
Carino no?  :smiley-mr-green:



Molto interessante :)
Se corri veloce come un fulmine, ti schianterai come un tuono.

m_ri

avresti voglia di caricare lo sketch?
così posso darci un'occhiata..

Go Up