Pages: 1 [2] 3   Go Down
Author Topic: Tutorial per Burn Bootloader con qualsiasi Arduino - NUOVA Versione 2.0  (Read 2294 times)
0 Members and 1 Guest are viewing this topic.
Palermo
Offline Offline
God Member
*****
Karma: 3
Posts: 766
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bei tempi quando si ci accontentava della gloria...  smiley-mr-green
Logged

Gianfranco

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

Ma mi spiegate una cosa: caricare il burn bootloader o un qualsiasi sketch danno all'Arduino sempre il "ruolo" di ISP Programmer?
Ho letto il topic americano (@GianfrancoPa: thank's for quote!  smiley-wink) e mi pareva d'aver capito che il tizio newbie avesse problemi a caricare il burn bootloader; ora se ha ringraziato felicemente Leo72, significa che ha fatto questa operazione con il suo suggerimento, mi pareva d'aver capito che Leo72 parlasse di caricare gli sketch, non il bootloader; in quest'ultimo caso, e SOLO in quest'ultimo caso, la tecnica che stiamo usando non è più semplice di quella di Leo72?
I chiarimenti mi necessitano perché con l'inglese vado "a senso", purtroppo  smiley-kiss e perché, volendo implementare nella mia guida anche questa funzione (ho alcune altre idee da testare, dopo aver letto alcuni post inglesi) non voglio scrivere fregnacce (non è romanesco?)
Logged


Palermo
Offline Offline
God Member
*****
Karma: 3
Posts: 766
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Si, sono due cose differenti. Il problema che hai trattato fino ad oggi serve per scrivere il bootloader su un ATmega. Il bootloader consente di poter caricare lo skecth direttamente sull'atmega senza dover passare utilizzare altro hw. Il guadagno di questa funzionalità comporta la perdita di 0.5Kb (dimensione del bootloader).

Se invece si vuol risparmiare tale spazio bisogna scrivere lo sketch direttamente sull'ATmega bypassando quindi l'opzione offerta dal bootloader. Ovviamente su un ATmega328 l'esigenza e' minima in quanto si hanno 32Kb di memoria, ma su alcuni ATmega lo spazio a disposizione è minore e quel mezzo KB può essere importante!!

Per poter scrivere su un ATmega senza passare dal bootloader, ci vuole un programmatore ISP che faccia da tramite poichè si perdono i benefici del bootloader. In fondo e' la stessa ragione per cui non è possibile scrivere il bootloader su un ATmega vergine direttamente, senza ricorrere ad un programmatore ISP.

E' una opportunità in più, poi le esigenze di ognuno renderanno più conveniente l'uso del primo o del secondo metodo!
Logged

Gianfranco

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

Chiarissimo, grazie, l'ideale ora sarebbe riuscire a fare un metodo unico, semplice, per entrambe le operazioni. Vediamo  smiley-eek
Logged


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

Siccome il mio metodo usa l'Atmega dell'Arduino come un programmatore ISP dato che carico su di esso proprio tale sketch, io credo che la strada percorribile sia quella. Provate a impostare tutto con il mio metodo e poi a scegliere Tools/Bord bootloader/w/ Arduino as ISP e vedere cosa succede. Io al momento non posso provarlo.
Logged


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

Bene! finalmente ho potuto fare un po' di prove e posso dare le prime indicazioni, poi naturalmente implementerò tutto nel tutorial che, a questo punto cambierà il nome, visto ch ora parliamo anche di sketch e non solo di bootloader!
Quindi faccio solo una breve anticipazione:
Partendo da Arduino (UNO o 2009) si può caricare uno sketch su un chip montato in stand alone (p.es. una breadboard o una pcb creata appositamente, i metodi possibili sono 2:
1) quello del tutorial ufficiale, finalmente sono riuscito a farlo funzionare, ho scoperto l'errore del tutorial che mi ha fatto perdere un paio di nottate ( smiley-evil). Questo metodo ha però l'handicap di richiedere la rimozione del chip da Arduino e questa cosa alla lunga crea problemi, come ho imparato a mie spese, facendo partire per errore un C smd, montato sulla piastra, come un missile di Cape Canaveral  smiley-eek
2) L'altro metodo, mi inchino alla grande intuizione di leo72  smiley, consiste nell'utilizzare il suo suggerimento di modifica del file board.txt, nelle varie prove ho apportato una piccola semplificazione della procedura, che la rende abbastanza più comoda nelle manovre smiley-lol. Il grande vantaggio di questo metodo consiste appunto nel fatto di evitare di toccare il chip di Arduino.
Ora devo fare le prove tra due Arduino, con entrambi i metodi, le solite foto particolareggiate, e poi pubblico l'aggiornamento.
Naturalmente non mancherò di inserire i dovuti ringraziamenti (visto che ha rifiutato i 1000 euro via fax...) a leo72, aspetto solo che mi dica se preferisce l'avatar (una volta si chiamava alias) o il suo nome e cognome, che conosco.... smiley-wink
A presto amici!
Logged


Palermo
Offline Offline
God Member
*****
Karma: 3
Posts: 766
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sono felicissimo di questi passi in avanti!! Il tuo lavoro poi merita una traduzione in inglese!!!

Riguardo questo punto:

1) quello del tutorial ufficiale, finalmente sono riuscito a farlo funzionare, ho scoperto l'errore del tutorial che mi ha fatto perdere un paio di nottate ( smiley-evil). Questo metodo ha però l'handicap di richiedere la rimozione del chip da Arduino e questa cosa alla lunga crea problemi, come ho imparato a mie spese, facendo partire per errore un C smd, montato sulla piastra, come un missile di Cape Canaveral  smiley-eek

Uhm, in pratica dici che riesci a scrivere gli sketch su un ATmega (privo di bootloader) su breadboard usando un Arduino Uno (o 2009) dal quale rimuovi l'ATmega??
Logged

Gianfranco

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

2) L'altro metodo, mi inchino alla grande intuizione di leo72
ah ah ah ah  smiley-lol smiley-lol

Quote
leo72, aspetto solo che mi dica se preferisce l'avatar (una volta si chiamava alias) o il suo nome e cognome, che conosco.... smiley-wink

Beh, non ci vuole molto per trovarlo. Basta vedere la mia scheda  smiley-wink
Cmq puoi fare come ti pare, cita pure il nome, non mi vergogno mica  smiley-grin
Logged


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

Sono felicissimo di questi passi in avanti!! Il tuo lavoro poi merita una traduzione in inglese!!!
Grazie, ma a quella pensi tu, io conosco: okay, hello, hi, black & white (anche se è da qualche anno che non è cosa  smiley-kiss), money (ma solo per sentito dire smiley-cry); quando sarà tutto finito ti mando il testo, alla restituzione rimpagino tutto, sarebbe davvero fantastico.

Quote
Riguardo questo punto:
1) quello del tutorial ufficiale, finalmente sono riuscito a farlo funzionare, ho scoperto l'errore del tutorial che mi ha fatto perdere un paio di nottate ( smiley-evil). Questo metodo ha però l'handicap di richiedere la rimozione del chip da Arduino e questa cosa alla lunga crea problemi, come ho imparato a mie spese, facendo partire per errore un C smd, montato sulla piastra, come un missile di Cape Canaveral  smiley-eek
Uhm, in pratica dici che riesci a scrivere gli sketch su un ATmega (privo di bootloader) su breadboard usando un Arduino Uno (o 2009) dal quale rimuovi l'ATmega??
No, io ho provato su chip con bootloader, ma secondo il ragionamento di leo72 si dovrebbe poter fare. Domattina sono libero ( smiley-lol smiley-lol smiley-lol), mi chiudo nel mio angolo, continuo a fare le foto e le prove, ho un chip vergine e faccio la prova. Prima delle 13 ti posto l'esito, promesso!
Logged


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

GLi Attiny li programmo con lo stesso metodo, e quelli che ho comprato non hanno il bootloader. Quindi se vale per loro dovrebbe valere anche per gli Atmega.
Logged


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

2) L'altro metodo, mi inchino alla grande intuizione di leo72
ah ah ah ah  smiley-lol smiley-lol

Quote
leo72, aspetto solo che mi dica se preferisce l'avatar (una volta si chiamava alias) o il suo nome e cognome, che conosco.... smiley-wink

Beh, non ci vuole molto per trovarlo. Basta vedere la mia scheda  smiley-wink
Cmq puoi fare come ti pare, cita pure il nome, non mi vergogno mica  smiley-grin

è per darti il giusto merito, tanto lavoriamo (si fa per dire, io mi diverto da matti, per "colpa" di Banzi perderò il lavoro, me ne f...., mi metto a vendere ATmega ai semafori smiley-money smiley-money smiley-grin) per la comunità, naturalmente inserirò anche il nome di GianfrancoPa per la release inglese (e se invece non la fa?  smiley-cry smiley-cry)
Comunque complimenti davvero, oggi mi sono messo davanti la mia board millefori stand alone arduino-compatibile, con innestata su la scheda generatrice di bit in sequenza (realizzata grazie a astrobeed); prima, per cambiare sequenza  smiley-roll-sweat smiley-roll-sweat smiley-roll-sweat, oggi un click di mouse. Me la guardavo con la stessa espressione estasiata di  Schwarzenegger nel film "I due gemelli" (con Danny De Vito), dopo la "prima" notte.... smiley-razz
Logged


Palermo
Offline Offline
God Member
*****
Karma: 3
Posts: 766
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Per la traduzione ci posso provare, ovviamente sarebbe piena di errori, per cui andrebbe letta e corretta... Intanto finisci, poi vediamo come fare!!
Logged

Gianfranco

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

OK, tra poco vado a fare le prove... Curiosità: ma se io carico solo lo sketch senza bootloader in un chip mi funziona lo stesso in stand alone? Come fa a partire il programma poi? E se non parte com'è che gestisci questi chip?
A più tardi
Logged


Palermo
Offline Offline
God Member
*****
Karma: 3
Posts: 766
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

il bootloader serve solo per caricare lo sketch senza un programmatore isp, ma per programmare il bootloader serve un programmatore isp o, ad esempio, un arduino che ne emula il funzionamento. Una volta che lo sketch è stato "bruciato" sull'Atmega questo viene eseguito indipendentemente dalla presenza, o meno, del bootloader
Logged

Gianfranco

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

Quote
Uhm, in pratica dici che riesci a scrivere gli sketch su un ATmega (privo di bootloader) su breadboard usando un Arduino Uno (o 2009) dal quale rimuovi l'ATmega??
NO, ho fatto le prove, ecco i primi risultati:
1 - la tecnica "seriale" (collegamento tx/rx/reset e Arduino senza chip) funziona solo se sulla bread c'è un chip con bootloader.
2 - la tecnica "ISP" (collegamento col "nostro" cavetto ISP tra 2 Arduino o tra Arduino e bread, con entrambi i chip a bordo) e le istruzioni di leo invece funziona! In questo momento (grazie alla tua dritta smiley-lol) la mia pcb stand alone ha a bordo un chip col solo sketch per pilotare una scheda su millefori che mi genera sequenze di bit, e lavora che è una meraviglia. Mo', se riesco a far ripartire sta mallitta fotocamera continuo a preparare il tutorial (ripeto, sto facendo ua piccola semplificazione ma devo essere sicuro dei risultati), intanto faccio le altre prove.
Promessa mantenuta.  smiley-money smiley-money smiley-money
Logged


Pages: 1 [2] 3   Go Up
Jump to: