Tutorial per Burn Bootloader con qualsiasi Arduino - NUOVA Versione 2.0

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 ( ]:)). 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 :astonished:
  2. L'altro metodo, mi inchino alla grande intuizione di leo72 :), 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 XD. 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.... :wink:
    A presto amici!

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

Riguardo questo punto:

menniti:

  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 ( ]:)). 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 :astonished:

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??

menniti:
2) L'altro metodo, mi inchino alla grande intuizione di leo72

ah ah ah ah XD XD

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

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

GianfrancoPa:
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 :*), money (ma solo per sentito dire =(); quando sarà tutto finito ti mando il testo, alla restituzione rimpagino tutto, sarebbe davvero fantastico.

Riguardo questo punto:

menniti:

  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 ( ]:)). 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 :astonished:

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 ( XD XD XD), 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!

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.

leo72:

menniti:
2) L'altro metodo, mi inchino alla grande intuizione di leo72

ah ah ah ah XD XD

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

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

è 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 $) $) :D) per la comunità, naturalmente inserirò anche il nome di GianfrancoPa per la release inglese (e se invece non la fa? =( =()
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 :cold_sweat: :cold_sweat: :cold_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.... :stuck_out_tongue:

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

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

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

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 XD) 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. $) $) $)

Ho letto questa guida molto utile (COMPLIMENTI) ed avrei alcune domande. Sto realizzato un progetto con un Arduino Mega che potrebbe andare in produzione quindi con necessità di realizzare una pcb apposita. Ho visto che il metodo tramite cavo ISP è il più semplice ma volevo sapere se c'è un modo ancora più facile cioè poter caricare il tutto senza dover prima caricare il bootloader anche utilizzando magari altri programmatori (se in caso potete segnalarmeli) e caricare magari un file assembli o altro. Vorrei sapere cioè secondo voi quale sarebbe la miglior soluzione per programmare velocemente molti prodotti. Grazie

Senza il bootloader è necessario il cavetto isp (o comunque 6 cavetti), con il bootloader dovrebbero bastarne solo 3

Cioè se prendo il programmatore della Atmel:

in caso cosa dovrei fare per caricare il software sul mio Atmega2560 vergine? Grazie

Ciao,

poter caricare il tutto senza dover prima caricare il bootloader

La risposta è sì, è una cosa a cui sto lavorando, sulla base delle eccellenti indicazioni fornite da leo72, a giorni implementerò questa cosa nella guida; se leggi il post proprio prima del to, in questo topic, vedrai appunto he col sistema ISP si può inserire nell'ATmega vergine uno sketch senza bootloader; nel mio piccolo lab ho sperimentato una pcb stand alone collegata ad una scheda millefori, sta funzionando tutto senza bootloader.
Ho già iniziato a fare le foto, devo terminare alcune prove, come avrai visto la guita è molto meitcolosa, e non voglio cambiarne lo stile, quindi mi serve certezza di funzionamento e il inimo di tempo necessario. Conto di metterla nell'uovo di Pasqua!
Grazie dei complimenti, sono sempre ben graditi.

GianfrancoPa:
Senza il bootloader è necessario il cavetto isp (o comunque 6 cavetti), con il bootloader dovrebbero bastarne solo 3

No, col bootloder sono 5: rx, tx, reset, +5V e GND.

menniti:

GianfrancoPa:
Senza il bootloader è necessario il cavetto isp (o comunque 6 cavetti), con il bootloader dovrebbero bastarne solo 3

No, col bootloder sono 5: rx, tx, reset, +5V e GND.

Si il reset va a parte da quello che ho letto.

ypkdani:
Cioè se prendo il programmatore della Atmel:
http://www.atmel.com/dyn/products/tools_card.asp?category_id=163&family_id=607&subfamily_id=2138&tool_id=3353
in caso cosa dovrei fare per caricare il software sul mio Atmega2560 vergine? Grazie

Non ti serve il programmatore, ti basta la tua board Arduino e una breadboard con 4 componenti ed un connettore (quella che hai già visto nella mia guida), a meno che tu non debba preparare tutto stanotte, ma anche in questo caso puoi seguire le indicazioni nell'altro topic, scritte da leo72, io le sto semplificando nella parte hardware, e inoltre le arricchirò con un bel po' di foto e immagini.

Allora attenderò il tuo lavoro. Grazie!!

Fatte tutte le foto, da stasera mi metto al lavoro, entra Domenica sarà pubblicata, abbi fiducia.
Ciao.

ypkdani:
Cioè se prendo il programmatore della Atmel:
http://www.atmel.com/dyn/products/tools_card.asp?category_id=163&family_id=607&subfamily_id=2138&tool_id=3353
in caso cosa dovrei fare per caricare il software sul mio Atmega2560 vergine? Grazie

Questo è un programmatore jtag, mi pare sia diverso da un programmatore ISP, in ogni caso questo genere di programmatori (non so se anche il jtag possa funzionare per tale scopo) ti consente di scrivere su un ATmega senza che su di esso sia stato installato il bootloader, ma il funzionamento è lo stesso di quello che si ottiene utilizzando un arduino come ISP, in particolar modo con le ultime indicazioni di Leo. Se sei intenzionato all'acquisto, ti consiglio di aspettare, magari potrai realizzarlo tu stesso con pochi euro!!