Go Down

Topic: programmare 1000pads luigino (Read 3369 times) previous topic - next topic

jumpjack


Ma dove vivete??  XD XD XD
C'è il thread in cui l'ho postato, Posso sovrascrivere il bootloader?
;)

E che c'entra con QUESTO thread?!?
Nessuno qui ha parlato di sovrascrivere il bootloader!

leo72

Ma l'hai aperto quel link?  XD
C'è il metodo di cui stiamo parlando, che serve per programmare un Atmega standalone usando un Arduino UNO senza smontare nessun micro. Siccome il 1000pads Luigino si può equiparare ad un Atmega/Arduino standalone e siccome l'autore del thread non voleva smontare i chip, c'entra eccome  ;)

jumpjack


Ma l'hai aperto quel link?  XD

No: non voglio sovrascrivere nessun bootloader....  :smiley-roll:

leo72

Scusa ma mi pare di parlare arabo.
Ti ho detto che in quel thread ho pubblicato il metodo per programmare uno sketch in un Atmega usando un Arduino UNO come programmatore ISP. Che lo abbia inserito in un thread denominato "Posso sovrascrivere il bootloader" l'ho fatto solo perché in quel momento stavamo parlando di come poter usare una scheda UNO per programmare Atmega esterni.... bastava cliccare sul link e trovavi il mio post in cui descrivo come fare. Non ho detto: "leggi quel thread e scoprirai come scrivere il bootloader", ho scritto "usa il mio metodo, con cui puoi programmare l'Atmega della Luigino".

Ma siccome non l'hai fatto, continui ad incaponirti con la storia del bootloader... santa pazienza  XD
E' inutile ripubblicarlo qui, quando c'è di là, e commentato da altri utenti.  ;)

astrobeed


C'è il thread in cui l'ho postato, Posso sovrascrivere il bootloader?


Perché devi complicare la vita alla gente ?
Non stiamo parlando di programmare sull'ATmega il bootloader o di caricarci un programma che non lo usa, stiamo parlando di caricarci sopra un normale sketch usando l'IDE di Arduino, in questo caso il modo più semplice è proprio quello di usare una qualunque scheda Arduino come supporto per l'ATmega da programmare, già dotato del suo bootloader, senza ricorrere a cose complicate e che non sempre danno i risultati sperati, sopratutto per chi è alle prime armi.


leo72

Io non capisco.... quel metodo che ho postato fa proprio QUESTO.
Carica su un Atmega standalone, usando un Arduino UNO, un qualunque sketch usando proprio l'IDE di Arduino e modificando solo 1 file di text. Di più no so che dirvi.
E', al momento, l'unico metodo che funziona che usa l'IDE, tutti gli altri metodi postati sono basati sull'uso diretto del terminale.
Astrobeed, ma l'hai aperto quel link? Sai cosa c'è scritto?

Quote
Re: Posso sovrascrivere il bootloader?
« Reply #18 on: 17 April 2011, 22:00:18 »
Ci sono riuscito!!!!
Ho caricato uno sketch su un Atmega standalone usando un Arduino UNO come programmatore ISP!!!

Michele Menniti

#21
Apr 19, 2011, 11:22 pm Last Edit: Apr 20, 2011, 10:58 am by menniti Reason: 1
Scusate se mi intrometto, poiché sto lavorando anch'io a questa cosa, per implementare la guida che ho fatto per il bootloader (v. link nel Playground), provo a riepilogare ribadendo che, per inviare uno sketch alla 1000pads luigino, si può fare con 3 modalità
1 - togliere il chip dalla luigino, montarlo su una Arduino, al posto del chip originale, selezionare nell'IDE la board Arduino 2009 (nel caso in cui si stia lavorando con una UNO, se è un a 2009 non cambia nulla), inviare lo sketch; OVVIAMENTE tali operazioni di sostituzione vanno fatte ogni volta togliendo alimentazione all'Arduino.
2 - collegare tra loro Arduino e Luigino con segnali "in parallelo" mediante cavetti pin maschio-maschio, cioè +5v, GND, Reset, Tx e Rx di Arduino vanno collegati ai corrispondenti pin di luigino; togliere il chip da Arduino; settare l'IDE come board Arduino 2009 (in pratica quella che corrisponde al bootloader caricato nel chip di luigino); inviare lo sketch; se non funziona montare un condensatore elettrolitico o al tantalio da 10µF tra il reset di Arduino e massa e riprovare. Sempre operazioni hardware SENZA alimentazione!
3 - modificare il file board.txt (secondo il suggerimento di leo72) e seguire la procedura ben spiegata nel post che ha linkato; in tal modo l'operazione si può fare SENZA togliere il chip da Arduino e luigino; io sto lavorando ad una procedura un po' più semplificata, ma la modifica del file board.txt è indispensabile.
Spero che così, riepilogando i suggerimenti di ratto, astrobeed e leo, ora sia tutto chiaro.
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

jumpjack

quasi: dove sarebbe il file board.txt? Immagino nella cartella dell'IDE. O forse in una sotto-sotto-sotto-cartella? E modificarlo come? Visto che questo è il thread su come programma re la Luigino tramite Arduino, sarebbe utile per tutti, anche per chi capiterà sul forum tra un anno, trovare qui la procedura...

leo72

Scusa jumpjack ma a me pare che ti stia incaponendo per una questione di lana caprina. Ho messo il link: una volta che uno raggiunge questa discussione, se la può leggere tutta, seguire quel link ed ha il modo. Dov'è il problema?

Cmq, visto che vi fa più piacere riavere le stesse info anche qui, vi copio-e-incollo il metodo descritto in quel link che, mi pare, nessuno voglia seguire perché si chiama in un modo che non piace.

------------------------------------------------------------------------------------------------------------
La strada da percorrere era proprio quella di modificare, anzi creare, una nuova voce nel file boards.txt.
Come sai, quel file è usato dall'IDE per caricare non solo le librerie del core adatte ai singoli micro (un Atmega328 è diverso da un Attiny85 ecc...) ma anche per fornire la base su cui preparare i parametri per avrdude, che sarà poi usato per programmare il micro. In effetti, l'IDE funge un po' da frontend perché non è l'IDE che compila e prepara il file .hex ma avr-gcc, e non è l'IDE che spedisce il file generato, ma è avrdude.

Allora cosa ho fatto?
Ho preso il file /arduino-00xx/hardware/arduino/boards.txt ed ho aggiunto il seguente codice:

Quote
##############################################################

atmega.name=Atmega (w/ Arduino as ISP)
atmega.upload.protocol=stk500
atmega.upload.maximum_size=32256
atmega.upload.speed=115200
atmega.upload.using=arduino:arduinoisp
atmega.bootloader.low_fuses=0xff
atmega.bootloader.high_fuses=0xde
atmega.bootloader.extended_fuses=0x05
atmega.bootloader.path=optiboot
atmega.bootloader.file=optiboot_atmega328.hex
atmega.bootloader.unlock_bits=0x3F
atmega.bootloader.lock_bits=0x0F
atmega.build.mcu=atmega328p
atmega.build.f_cpu=16000000L
atmega.build.core=arduino


Puoi metterlo in qualsiasi punto di quel file, anche in fondo. Salvi il file e riapri l'IDE. Adesso in Tools/Boards avrai una nuova voce denominata "Atmega (w/ Arduino as ISP)": grazie ad essa puoi ora programmare un Atmega standalone!!!!

Come fare?
Ecco i punti:

1) prendi una Arduino UNO, avvii l'IDE, scegli come board "Arduino Uno"
2) ci carichi lo sketch "ArduinoISP"
3) chiudi l'IDE e stacchi l'Arduino dal PC
4) prendi una breadboard e prepari un circuito Arduino standalone come quello descritto qui nella foto in fondo alla pagina a DESTRA (usando quindi un quarzo esterno, 2 condensatori da 22 pF, ecc)
5) colleghi i cavi per programmare l'Atmega sempre come indicato in quella figura, ossia i pin 13/12/11 di Arduino ai pin 19/18/17 ed il pin 10 di Arduino al pin 1 dell'Atmega. Collega poi un pin GND alla linea GND della breadboard, ma NON collegare i +5V
6) collega l'Arduino al PC col cavetto USB
7) apri l'IDE
8) adesso metti il condensatore fra i pin RESET ed un pin GND di Arduino
9) adesso collega il pin +5V alla linea +5V della breadboard
10) carica nell'IDE uno sketch, va bene anche "Blink"
11) scegli la scheda "Atmega (w/ Arduino as ISP)"
12) fai l'upload!

Dopo pochi secondi vedrai che l'IDE ti dirà che è andato tutto a buon fine e che il LED sull'Arduino lampeggerà!
Non ti preoccupare, non è stato programmato l'Atmega dell'Arduino ma l'Atmega standalone!!! Il LED lampeggia perché il pin 13 è collegato ancora al pin 19 dell'Atmega standalone. Per riprova, scollega tutto, smonta il micro dell'Arduino e scambialo col micro standalone. Ridai tensione e vedrai che il LED integrato sull'Arduino continua a lampeggiare :-)
----------------------------------------------------------------------------

Stanotte ho messo online anche lo stesso articolo con lo schemino del circuito da seguire:
http://www.gioblu.com/tutorials/programmazione/216


Michele Menniti

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

leo72


Forse ce l'hai fatta....


Peccato che questo forum non abbia l'emoticon della faccina che sbatte la testa contro un muro... sarebbe stata appropriata... :smiley-roll:

Michele Menniti

Accontentati di questa  :smiley-sweat:
Ah geniooo, vedi che nell'ormai tristemente famoso topic ho risposto a GPa, lo sketch col tuo metodo si carica nel chip vergine e funziona, per la felicità del mondo intero! XD XD XD ma tanto non lo leggerà mai nessuno quel topic... :smiley-mr-green:
Sto organizzando un pellegrinaggio sotto casa tua.... 8)
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

leo72

Genio è quello che ha creato il modo per usare l'Attiny85, grazie al quale ho potuto sviluppare questo.
La strada percorsa, secondo me, può permettere di poter adattare l'IDE a qualsiasi micro supportato da avrdude e dal core dell'IDE stessa.

exurgit

quindi sostanzialmente quando mi arriverà il mio luigino mini se lo monto e collego 5v e GND (UNO) sull'alimentazione del mio luigino e poi i pin digitali 11-12-13 (UNO) sui pin digitali del mio mini luigino e poi metto in corto il reset di UNO dovrebbe programmarsi tramite l'isp?

leo72

Esatto. In questo modo non smonti né il micro dell'Arduino né quello della Luigino e fai tutto da IDE.

Go Up