BootLoader burning(modalità bitbang)con enviroment

Ciao a tutti

Mi chiamo Gianluca, da reggio calabria ho 28 anni. Questo è il mio primo post.

Sono completamente inesperto in materia Arduino ed avrei alcuni dubbi che mi arrovellano non poco...

Ho comprato un Arduino 2009 con un atmega328 ed uno di riserva che però non ha il booloader. Ho visto che esistono varie modalità per effettuare il burn ma mi sembra che la più semplice sia quella che prevede di modificare la scheda Arduino inserendo 4 pin nell'X3 (vicino alla presa USB) ed effettuando, quindi, dei ponti sul'ICSP. mi chiedevo: è possibile effettuare il burn del bootloader sul mio atmega328 usando la modalità bitbang con i collegamenti (X3-ICSP) e impiegare lo strumento incluso nell'enviroment 0.21 (Tool-->Burn Bootloader--> w/Arduino as ISP)?

nel caso fosse possibile...mi basta fare ciò? i file sorgente del bootloader sono già inclusi nella distribuzione dell'enviroment? fa tutto lui ?

Scusate le domande sicuramente ridicole...ma sono entusiasta di questa "magica schedina" e non vorrei danneggiarla ancor prima di poterci fare qualcosa di carino...

un saluto a tutti. :)

Gianluca

Ciao scusa Gianluca ma mi aggiungo anche io al problema , ho appena comprato arduino uno e due micro ma con il bootloader del arduino 2009 (ho fatto io una fesseria ) , non vorrei far casino ma oltre quel sistema c'è anche un programmatore parallelo da costruirsi con 3 resistenze e poco altro e usando il programma di compilazione riscrivere il bootloader , potete confermarmi se è corretto uno o l'altro sistema ?

CIao IMer (

Ciao Imer ho trovato questo video che mostra quello che vorrei fare http://www.youtube.com/watch?v=gZ0bf9VDEWo c'è anche una pagina dell'autore che spiega nel dettaglio quello che bisogna fare http://www.geocities.jp/arduino_diecimila/bootloader/bitbang_w_ide_en.html (nota che nella procedura è utilizzato l'ide 0.15!)

non so....sarei più tranquillo se qualcuno con più esperienza dicesse la sua!

http://www.gioblu.com/tutorials/programmazione/99-scrivere-bootloader-arduino-senza-un-programmatore-avr-bitbangmode

Io avevo provato a costruire il programmatore su porta parallela (quello con 3 resistenze) ma non funzionava. Poi ho trovato questo e ha funzionato alla grande.

http://arduino.cc/en/Tutorial/ArduinoISP

Devi caricare sull'arduino lo sketch "Arduino ISP" che trovi nell'IDE sotto "Example", una volta che sull'arduino hai caricato lo sketch il tuo arduino è diventato un programmatore ISP, collega l'ATMega come nel disegno in basso e dall'IDE fai Burn Bootloader > Arduino as AVRISP

Ora non ricordo se avevo collegato l'ATMega con o senza quarzo/condensatori. Prova in tutte e due i modi.

Grazie mille per la risposta , domani mattina ci provo , per il programmatore parallelo se non ho capito male c'è da inserire una stringa nel file di sistema lo avevi fatto ? Ti faccio sapere , comunque come scritto io ho un arduino uno , mentre vedo che gli schemi si riferiscono ad altri modelli , ma credo che vada bene ugualmente , scusate ma mia imbranataggine ma in pratica è da 2 giorni che ho cominciato a smanettare e devo dire che l'impatto iniziale è molto positivo , ero rimasto agli ST6 da programmare in assembler e cancellarli con la lampada UV , qui siamo su un'altro pianeta !!! , perchè lo scoperto solo ora :-/

Ciao IMer

Ho guardato bene la pagina che mi hai mandato , ma non ho capito quale sketch caricare sull’arduino per poterlo usare come programmatore , scusami ma sono molto imbrantao :-[

CIao IMer

Ma figurati, siamo qui tutti per darci una mano a vicenda. Nell'arduino devi caricare lo sketch che trovi nel menu File > Example > ArduinoISP.

Ho letto della stringa da aggiungere al file di sistema ma mi sembrava una cosa un po' troppo incasinata ... visto che ormai le porte LPT non le mettono più sui nuovi PC ho preferito evitare .... alla fine se hai già un altro arduino è molto più comodo, fai tutto con una breadboard e qualche filo !

Ciao ragazzi grazie per l'interessamento.

@gbm ...hai visto? i link al software da scaricare non sono validi!!

@Ambrogio!! :) grazie!! sembra proprio che questo sia uno dei metodi più puliti e sicuri per effettuare il burning del bootloader, inoltre visto l'inclusione dello sketch ISP nell'enviroment ufficiale mi sà che questa sia la procedura consigliata. sbaglio? grazie ancora! PS ti devo una bottiglia di buon vino!!

@Imer ...dai dai!! ce la possiamo fare!! :) come la vedi?

osservazione: nel caso in cui si decida di impiegare la "configurazione minima", e cioè di non impiegare i componenti discreti (resistenza oscillatore e condensatori), è necessario scaricare il file breadboard.zip e copiare il suo contenuto nella sottocartella "hardware" dell'enviroment, riavviare poi l'enviroment e nel menu "tools-->board" dovrebbe comparire la voce "ATmega328 on a breadboard (8 MHz internal clock)" che va selezionata prima di effettuare il burning . Così facendo si può evitare la componentistica discreta e far sì che matmega328 utilizzi il suo clock interno.

AMBROGIO è corretto?

i link di gioblu sono stati ripristinati, solo 2 non andavano il resto funziona! non sono mai riuscito a far funzionare i programmatori avr che ho, ne quello di protostack ne quello di tomas qualcosa (che è quello consigliato da ladyada). non sono mai riuscito nemmeno con lo sketch isp a mettere il bootloader dentro un atmega vergine. Ci sono riuscito soltanto con la bitbang mode. parlo per esperienza, comunque se ci riesci condividi il tuo metodo. Magari riesco a capire dove ho sbagliato :(

Grazie a tutti per la vostra disponibilità , aggiornamento , prima prova con oscillatore interno andata male , ho visto che nello sketch ci sono dei led da applicare per capire lo stato ed infatti , uno pulsa ed é Ok il soft gira , ma quello dell'errore lampeggia e non programma , adesso cerco un quarzo da 16 Mhz e riprovo.

Comunque per aggiungere la voce : "ATmega328 on a breadboard (8 MHz internal clock)"

non é cosi evidente o forse é colpa del mio pessimo inglese , comunque va copiato il testo nel file "board.txt" .

Se vorrei provare con il bitbang dove collego i fili , visto che su Arduino uno non ci sono le 4 connessioni mostrate sul 2009 ?

Per il programmatore parallelo ...... mi ero dimenticato che ho cambiato PC e non ha più la parallela :-/

Ciao IMer

Dimenticavo questo é il messaggio che ottengo:

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x14

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x01 avrdude: stk500_initialize(): (a) protocol error, expect=0x14, resp=0x10 avrdude: initialization failed, rc=-1 Double check connections and try again, or use -F to override this check.

avrdude: stk500_disable(): unknown response=0x12

ho provato a togliere il micro da programmare è il messaggio é indentico !.

Ciao IMer

mmmmm guarda domani torno in laboratorio e lì farò qualche prova... ti farò sapere. Ovviamente proverò prima il metodo del clock interno (configurazione minima sulla breadboard) e dello sketch isp speriamo vada!

ps per quanto riguarda l'aggiunta della voce "ATmega328 on a breadboard (8 MHz internal clock)" al menù delle board io l'ho aggiunta sumplicemente scricando il file ""breadboard.zip" e trascinando il file che era all'interno dell'archivio nella sottocartella "hardware" dell'ambiente di arduino.

dai... tranquillo Imer... noi niubbi in un modo o nell'altro riusciremo nell'impresa, come vedi è pieno di amici che ci supportano!

ciao passa una buona domenica gianluca

Questo é lo scotto dei principianti per fortuna c'é chi aiuta !

CIao Imer

Ho trovato anche questo , ma va bene per Arduino Uno ? L'esempio e le foto fanno riferimento ad un Arduino NG

Ciao IMer

Sorry , dimenticato il Link :

http://www.arduino.cc/playground/BootCloner/BootClonerImages

CIao IMer

:) ;D :) ;D

Ci sono riuscito!!!!! Allora ho rifatto il programmatore su una millefori con i fili molto corti e ho messo il quarzo da 16 Mhz i due condensatori da 22pF e la resistenza da 10K sul PIN1 a positivo.

Ho usato il programma versione 0021 , impostato in tools>board Arduino uno Burn Bootloader > w/arduino as ISP.

Meno di un minuto e bootloader caricato !!

Come test ho caricato blink e funziona quindi credo che sia tutto OK

CIao IMer

Ciao Imer Grande!! :)

quale programmatore hai ricreato?

questo qui:

" http://www.arduino.cc/playground/BootCloner/BootClonerImages " ??

No sono tornato a questo schema :

http://arduino.cc/en/Tutorial/ArduinoToBreadboard

Solo che la prima volta ho usato quello senza quarzo e non c'è stato verso di farlo andare , poi dopo aver ribaltato il laboratorio ho trovato il quarzo da 16 Mhz e siccome era già usato e aveva i pin corti sono stato obbligato a usare una mille fori per fare il programmatore e li al primo colpo è andato perfetto. Ora non se la colpa era dei fili lunghi quando ho provato con la breadbord ma cosi a me funziona perfettamente. Posso solo dire prova ! CIao IMer

Grande!

Funziona!! :)

io in board ho selezionato però "Arduino Duemilanove or Nano w/Atmega328"

comunuqe funziona!

A questo punto ho un altro problema! non riesco a trovare un rivenditore di microcontrollori nella mia città (Reggio Cal). Le mie intenzioni erano quelle di fare impiegare (o forse anche di far costruire se si profilano i presupposti...) Arduino ai ragazzi delle mie classi (le quinte classi sicuramente!). Nessun negoziante a Reggio sembra avere questi benedetti microcontrollori "vergini" (neanche con bootloader). >:(

bho!

ciao Imer! Alla prossima :)