sabato 2 luglio 2016

Tutorial: Programmazione Atmel AVR con ICSP e Atmel ICE

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.




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.



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

cliccare su PROGRAM


Ora andiamo a modificare il valore del LOCK BITS:
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.

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

Nessun commento:

Posta un commento