Caricare bootloader o sketch info

Ciao a tutti ,come da titolo cercavo di avere delle informazioni in più in merito.
Ciò che vorrei capire è se si può usare un ATmega 328P programmato come programmatore ISP per trasferire ad un chip vergine il bootloader o uno sketch ma senza dover usare più il pc.
In pratica mi chiedevo se ad esempio con la pressione di un pulsante ,senza connessione usb ma solo con un alimentatore e dopo aver programmato opportunamente il chip come programmatore ISP,potessi trasferire il bootloader piuttosto che uno sketch.

Non credo esista niente di pronto. <-- Mi sono sbagliato
Pero potresti scriverti il programmatore ISP che legge il file hex da una SD oppure caricato in EEPROM (se ci sta) e lo riversa nel chip vergine.

Ciao PaoloP, avevo anche io in mente una cosa del genere.
Il file non è grande si parla di 2/3 Kbyte quindi potrebbe essere fattibile anche con una piccola eeprom.....non saprei però da dove partire per quanto riguarda lato sw :roll_eyes:

Neanche io.
Ti ho solo indicato la via. Non ho detto che so percorrerla. :roll_eyes:

Tempo fa qualcosa del genere mi pareva di averla trovata in giro per la rete ma non so più come si chiamava...

Ho provato e sto continuando a cercare ma senza risultati per il momento..
Ho provato anche a guardare il codice usato per l'arduino ISP ma è per me un po complicato devo guardarlo con mooolta calma cercando di tradurre i vari passaggi per riuscire a capirci qualcosa per poterlo modificare al mio caso.
Così com'è scritto dovrebbe restare in attesa dei dati che arrivano tramite usb per poi trasferirli al micro su cui caricare il bootloader/sketch.
Bisognerebbe individuare quella parte di codice e modificarla :roll_eyes:
Purtroppo devo farlo per forza quindi mi devo documentare bene .....continuo con le ricerche in attesa di qualcuno che mi possa aiutare :slight_smile:
Ciao e grazie

Mi ricordo anche di un bootloader modificato che poteva flashare uno sketch in arrivo dalla seriale oppure presente su una SD. Non so
a che livello di sviluppo sia ma potresti cercarlo. Non ti farebbe ugualmente? Invece di caricare lo sketch con un altro micro, non dovresti far altro che prevedere un porta-SD. Scrivi il firmware sulla SD, la porti sul luogo di intervento, la inserisci nello slot e resetti il micro.

PS:
una domanda: ma gli sketch dovrebbero essere complessi? Se non lo sono, potresti pensare ad usare Bitlash, è un interprete residente su Atmega che può eseguire dei file script scritti in un linguaggio simil-Arduino salvati su una SD esterna. Ci sono le funzioni base, tipo la manipolazione delle porte e quant'altro. Dipende da cosa deve fare il tuo programma.

Come al solito un grazie per la disponibilità.
Ho la necessità di poter far programmare a chiunque il micro ma oltre al programma devo prima modificare i fuse per un funzionamento a 16MHz quindi pensavo a due circuiti diversi su cui caricare ,da una parte il bootloader con i giusti fuse e dall'altra parte lo sketch che non dovrebbe superare di suo i 3Kbyte.....Entrambi i circuiti dovrebbero tramite connettore icsp scaricare sul micro il tutto. Il discorso della SD esterna non mi dispiace, non ho delle esigenze particolari per l'hardware quindi si potrebbe utilizzare.
Non conosco però il discorso del Bitlash.
Tu credi che qualcosa ne possa venir fuori?

Ho cercato in rete in merito al Bitlash ed ho trovato questa guida http://bitlash.net/bitlash-users-guide.pdf la devo guardare con calma ma sembra a prima vista ben spiegata,dovrò approfondire

tonid tempo fa ho fatto una guida, megliod ire un post abbastanza approfondito, su Optiloader

cercalo, in poche parole il bootloader e' gia' integrato in questo sketch, quindi poi senza pc carichi il bootloader su micro vergini.
L'ho testato sia su 328 che su 8A, tutto ok.
INternamente e' presente ache il bootloader per 168.
Postai una versione ridotta da me al fine di entrare in un 8A, avendone per casa inutilizzati

per la cronaca testai poi gli 8A su arduino uno, e funzionano :slight_smile:

mmmm. Ho trovato questo BootDrive for Arduino | Bald Wisdom

Mi ricordo anche di un bootloader modificato che poteva flashare uno sketch in arrivo dalla seriale oppure presente su una SD. Non so
a che livello di sviluppo sia ma potresti cercarlo.

Forse ti riferivi ad una cosa del genere ?

@Testato
Ciao e grazie ,provo a cercarlo subito.

Questo:

L'Optiloader è uno sketch scritto dal creatore dell'Optiboot che serve a caricare il bootloader su un altro microcontrollore. Però dovresti poi integrare la sezione relativa alla flashatura dello sketch

tonid:
mmmm. Ho trovato questo BootDrive for Arduino | Bald Wisdom

Ho guardato il link, non mi ricordavo del BootDrive: forse può fare al caso tuo più dell'Optiloader

Ho scaricato la cartella zippata contenente i file ,provo a guardarli (anche se stamani mi sembra di aver bevuto un litro di vino causa influenza).....Guardando le connessioni hardware ,il "programmatore" legge i dati dalla sd card e li trasferisce al "target" mediante i pin tx/rx quindi fare una board specifica risulta abbastanza semplice,almeno questo non risulta un problema !!
A quanto ho capito ,all'interno della sd,bisogna caricare il file hex temporaneo generato con il tasto compiling e per visualizzare l'indirizzo basta premere il tasto shift e verrà visualizzato direttamente sull'ide il percorso.....mi viene da pensare quindi che inserendoci un file hex ottenuto da uno sketch dovrebbe essere caricato allo stesso modo rispetto al codice di bootloader...
Se ho detto delle fesserie bastonami pure,ricordati però che sono un pò "ubriaco", ihu .

Nel IDE 1.0.1 il tasto shift non funziona più.
Devi andare nelle preferenze e spuntare "mostra output verboso durante" : compilazione

Nel IDE 1.0.1 il tasto shift non funziona più.
Devi andare nelle preferenze e spuntare "mostra output verboso durante" : compilazione

A,non lo sapevo..

In questa pagina ci sono diversi file

Baldwisdom/BootDrive at master · osbock/Baldwisdom · GitHub

tutto questo dovrebbe fare al caso mio ma
il problema ore è che non so dove vanno messi,mi sapete dire qualcosa in merito?

non so se i file .txt siano necessari oppure no, comunque tu fai una cosa: scarica tutto e metti in una cartella denominata BootDrive all'interno della tua cartella degli sketch. Avvia l'IDE e dovresti trovarti sotto alla voce Sketchbook lo sketch "BootDrive", aprilo e prova a compilarlo.

non so se i file .txt siano necessari oppure no, comunque tu fai una cosa: scarica tutto e metti in una cartella denominata BootDrive all'interno della tua cartella degli sketch. Avvia l'IDE e dovresti trovarti sotto alla voce Sketchbook lo sketch "BootDrive", aprilo e prova a compilarlo.

Provo a fare così e ti dico.

Allora ho fatto come mi hai detto ed ho ritrovato sotto Sketchbook lo sketch BootDrive_ino ma aprendo e compilando il tutto mi tira fuori un sacco di errori, alcuni legati alla SoftwareSerial del tipo SoftwareSerial.h:49: note: void SoftwareSerial::println(int)
di questi errori me ne da diversi ,con precisione da SoftwareSerial.h:46 fino ad h.51 ed ognuno di essi fa riferimento ad una variabile all'interno del println(....)
Io sto caricando con l'ide 23 e ricordo che c'erano dei problemi con la SoftwareSerial ma non ricordo a cosa erano legati in particolare..

edit..OT ma anche a voi compaiono quelle scritte sottolineate per vincere un ipod ? che p...e!!