Come programmare un micro Atmel tramite icsp?
Come trasformare lo sketch Arduino in file hex?
Spesso per velocizzare lo sviluppo vengono realizzati prototipi con Arduino o con la scheda EtaBeta Idea, ma quando poi il prototipo diventa un progetto finito come possiamo programmare il micro ATMEGA-328P ( serie Atmel MegaAVR) con le stesse funzioni e firmware della scheda prototipale???
Ovviamente se utilizziamo un micro Atmega328 con un package tipo “PDIP” come quello presente sulla scheda Idea o Arduino nessun problema, lo possiamo programmare come descritto in un precedente tutorial ed il gioco è fatto …
Ma cosa succede quando utilizziamo un package diverso tipo “ TQFP” in cui non è possibile “estrarre il micro” e poi “reinserirlo” in un eventuale zoccolo?
Vediamo come si fa in questo caso:
La prima cosa fondamentale da fare è ricordarci di riportare nel nostro progetto e nella scheda finale il connettore ICSP, presente sia su Arduino sia sulla scheda EtaBeta Idea.
Ovviamente se utilizziamo un micro Atmega328 con un package tipo “PDIP” come quello presente sulla scheda Idea o Arduino nessun problema, lo possiamo programmare come descritto in un precedente tutorial ed il gioco è fatto …
Ma cosa succede quando utilizziamo un package diverso tipo “ TQFP” in cui non è possibile “estrarre il micro” e poi “reinserirlo” in un eventuale zoccolo?
Vediamo come si fa in questo caso:
La prima cosa fondamentale da fare è ricordarci di riportare nel nostro progetto e nella scheda finale il connettore ICSP, presente sia su Arduino sia sulla scheda EtaBeta Idea.
Occore avere il programmatore Atmel ICE , acquistabile qui sul portale ATMEL ed ecco il link doce scaricare il manuale del dispositico (scarica qui il manuale).
Come secondo passo bisogna scaricare i seguenti software:
Scaricare Atmel Studio (area download Atmel).
Scaricare i driver dell’ ICE per ATMEGA 328 (area download Atmel).
Iniziamo:
Collegare ATMEL ICE AL PC ed utilizzare il connettore a 6 pin collegandolo in AVR (lato ICE) e in ICSP (lato scheda).
Lanciare atmel studio 7.
FASE 1: tools > device programming - apparirà la seguente schermata.

FASE 1: tools > device programming - apparirà la seguente schermata.
In DEVICE selezionare il micro da programmare (nel nostro caso ATMEGA328P) cliccare su APPLY, poi READ.

Ora possiamo visualizzare tutti i parametri del micro nuovo ed andarli a modificare in modo che funzioni come quelli già programmati di EtaBeta Idea ed Arduino.
Andiamo in FUSE e modifichiamo i VALORI dei FUSE REGISTRER in questo modo:
EXTENDED: 0XFD
HIGH: 0XDA
LOW: 0XFF
HIGH: 0XDA
LOW: 0XFF
cliccare su PROGRAM
Ora andiamo a modificare il valore del LOCK BITS:
LOCKBIT : 0XCF
LOCKBIT : 0XCF
cliccare su PROGRAM
ora il nostro MICRO è pronto per ricevere i file HEX generati dall’ IDE di Arduino!!!
ESEMPIO:
Lanciamo l’IDE di ARDUINO e nella cartella degli esempi apriamo BLINK,
compiliamolo per la scheda ARDUINO 2009 ed andiamo a recuperare il file .HEX.
compiliamolo per la scheda ARDUINO 2009 ed andiamo a recuperare il file .HEX.
Per trovare il file .HEX si deve digitare nel menu start in “cerca programmi e file”: %TEMP%, cerchiamo in questa cartella una sottocartella col nome build45…. copiamola e mettiamola sul desktop o dove ci è più comoda.
Adesso possiamo lanciare ATMEL STUDIO 7, andare, come abbiamo fatto prima, in tools > device programming, selezionare ATMEL ICE - ATMEGA328P - APPLY - ready - ready.
Adesso possiamo lanciare ATMEL STUDIO 7, andare, come abbiamo fatto prima, in tools > device programming, selezionare ATMEL ICE - ATMEGA328P - APPLY - ready - ready.
Andare in MEMORIES, slezionare la cartella build45... che precedentemente abbiamo copiato sul desktop > Selezionare il file .HEX e cliccare su PROGRAM.
Finito!!!
Buon lavoro a tutti
Christian e Massimo
Christian e Massimo
Nessun commento:
Posta un commento