Programmare Arduino UNO con Atmel Studio

Questo articolo nasce dall'esigenza di programmare una scheda Arduino UNO con l’ambiente di sviluppo “Atmel Studio”. Un tool di sviluppo dalle molteplici funzioni per programmare e progettare con i microcontrollori della famiglia Atmel. Con questo strumento si possono superare alcuni limiti dell'IDE di Arduino come la mancanza di avvisi del compilatore e la capacità di debug. Grazie alla possibilità di scrivere le applicazioni in più linguaggi realizzeremo uno sketch, per far lampeggiare il led della board UNO, sia in Assembly che in C, quest'ultima con l'integrazione delle librerie dell'IDE di Arduino. Vedremo anche come configurare il tool di Atmel per poter programmare il micro ATmega328P attraverso la stessa board di Ardunio. 

Atmel Studio 6 è una piattaforma di sviluppo integrato (IDP) per lo sviluppo e il debug di microcontroller (MCU) AVR di Atmel. Questo software fornisce un ambiente unico e facile da utilizzare per scrivere, costruire ed eseguire il debug delle applicazioni scritte in C / C ++ o codice Assembly. Al contrario dell'IDE di Arduino, basato sul linguaggio Wiring (un progetto di Hernando Barragàn), che facilita il programmatore offrendo un modo semplice per accedere alle periferiche di input/output della piattaforma hardware, in Atmel Studio si è costretti a programmare i dispositivi a livello di registri, il che implica una buona conoscenza dell'architettura del microcontrollore che si vuole utilizzare; in pratica bisogna scrivere il programma nella stessa modalità in cui Wiring svolge la compilazione di uno sketch a nostra insaputa. Questo metodo può risultare macchinoso e poco interpretabile ma si ha il vantaggio di avere il pieno controllo del micro sfruttando tutta la sua potenzialità. In alternativa, per chi ritiene difficile questo tipo di programmazione ma vorrebbe utilizzare ugualmente questo tool di sviluppo per usufruire delle funzioni come il debugger, il sistema di autocompletamento, l’integrazione di plugin di terze parti e altro ancora, potrà configurare la piattaforma per integrare le librerie dell’IDE di Arduino e programmare in "Wiring".

Atmel Studio è disponibile sul sito del produttore, con licenza freeware (versione attuale 6.2). Quest’ambiente di sviluppo non è leggero come quello di Arduino, l’installazione occupa oltre 1Gb di spazio su disco; perché si porta dietro un framework per lo sviluppo di applicazioni alquanto corposo, oltre alla toolchain di AVR-GCC e vari datasheet.

Programmazione in Assembly

Nell'esempio seguente vedremo come far lampeggiare il led posto sulla board di Arduino UNO con uno sketch scritto in Assembly.
Il linguaggio Assembly, detto anche assemblativo, è il più vicino a quella”macchina” vera e proprio. Per motivi hardware non esiste un unico linguaggio Assembly ma comunque molti meccanismi sono analoghi o del tutto identici tra loro. Spesso il passaggio, tra marchi diversi, si limita all'apprendimento di nuovi codici mnemonici, nuove modalità d'indirizzamento e altre varie peculiarità dovute alla architettura hardware del micro.
Avviata l’applicazione, creiamo un nuovo progetto andando per “file/nuovo progetto”.
1

Nella videata successiva bisogna scegliere il tipo di progetto da realizzare, impostare la destinazione di salvataggio dei file e il nome da assegnare. Il progetto da scegliere è [...]

ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 2192 parole ed è riservato agli abbonati PLATINUM. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici MAKER e PLATINUM e potrai fare il download (PDF) di tutti gli EOS-Book, Firmware e degli speciali MONOTEMATICI. ABBONATI ORA, è semplice e sicuro.

Abbonati alle riviste di elettronica

9 Commenti

  1. Nollo Nollo 12 maggio 2015
  2. smania2000 smania2000 12 maggio 2015
  3. smania2000 smania2000 13 maggio 2015
    • Ernesto Sorrentino 14 maggio 2015
  4. StefanoDS StefanoDS 14 maggio 2015
    • Ernesto Sorrentino 14 maggio 2015
  5. StefanoDS StefanoDS 14 maggio 2015
  6. Francesco Catania 7 gennaio 2016

Scrivi un commento

EOS-Academy