Home
Accesso / Registrazione
 di 

LPC xpresso board LPC11U14 NXP ARM, primo semplice progetto

LPC Xpresso

Grazie a questa nuova board a basso costo della NXP sarà possibile da subito iniziare a lavorare per sviluppare il nostro nuovo progetto di turno, infatti non è richiesta nessuna scheda di programmazione dedicata da acquistare separatamente, sarà sufficiente un semplice cavo USB che, oltre ad essere utilizzato per la fase di programmazione e debug, servirà ad alimentare la nostra board.

Per quanto riguarda l’IDE si sviluppo, la NXP ne ha messa a disposizione una basata sulla ormai nota piattaforma di sviluppo Eclipse, a cura di Code Red Technologies; per chi non la conoscesse, Eclipse è un ambiente di sviluppo integrato multi-linguaggio e multi-piattaforma. Esso è stato ideato da un consorzio di grandi società quali Ericsson, HP, IBM, Intel, MontaVista Software, QNX, SAP e Serena Software, chiamato Eclipse Foundation sullo stile dell'Open Source.

Vediamo un po' nel dettaglio questa scheda di sviluppo: troviamo a bordo un microcontrollore con core ARM Cortex-M0 a 32 bit con clock fino a 50MHz che offre come caratteristiche basso consumo e alte prestazioni.

Il micro include

  • 32kB di flash memory;
  • 6KB di SRAM come data memory;
  • 16 kB boot ROM;
  • In-System Programming (ISP) e In-Application Programming (IAP);
  • Standard JTAG test interface for BSDL;
  • diversi moduli per la comunicazione tra i quali USB 2.0, I2C, RS-485/EIA-485;
  • UART con supporto per la modalità sincrona e smart card interface;
  • 2 interfaccie SSP;
  • 4 counter/timers ad uso generico;
  • convertitori ADC a 10-bit;
  • quaranta pin I/O, di cui otto posso essere selezionati come edge and level sensitive interrupt sources.

Il tutto è alimentato a 3,3 V ed è disponibile in vari package: LQFP48, TFBGA48, e HVQFN33.

Oltre al MCU sulla scheda di sviluppo è presente un debugger JTAG/SWD chiamato “LPC-Link”, quest’ultimo può essere eventualmente staccato fisicamente dalla scheda ed essere utilizzato come debugger per una grande varietà di controllori NXP Cortex-M0, Cortex-M3, e ARM7/9, grazie al connettore JTAG a 10-pin.

Infine oltre a tutta l’elettronica di ‘servizio’ sulla board è presente una piccola area di prototipazione facilmente accessibile e utile anche per la connessione di eventuali board d’espansione.

Entriamo del vivo

Iniziamo con il download dell'ambiente di sviluppo. Prima di tutto andiamo sul sito ufficiale della NXP, digitiamo sulla barra di ricerca “LPC11U14” seguiamo il link riferito alla nostra board e veniamo dunque reindirizzati sulla pagina dedicata alla nostra scheda di sviluppo, da qui, sotto la scheda documentation scarichiamo il PDF Getting Started Guide all'interno del quale troveremo tutte le informazioni generali sulla scheda e l'indirizzo da digitare per ottenere l'IDE.

A questo punto ci registriamo e scarichiamo il pacchetto, installiamo e avviamo.

Ecco come si presenta:

1 – project explorer

2 – Editor

3 – Console e Problems view

4 – Quick start view

A questo punto colleghiamo la nostra scheda tramite un cavo USB (lato debugger) e importiamo un primo progetto esempio per testare il tutto.

Nella sezione quick start view clicchiamo su Import project e si aprirà una nuova finestra:

Clicchiamo dunque su Browse for more examples per ottenere dei progetti esempio già' pronti.

Una volta cliccato si aprira` automaticamente il nostro browser predefinito e verremo reindirizzati sul sito ufficiale NXP, http://ics.nxp.com/support/lpcxpresso/, arrivati qui possiamo scaricare un qualunque progetto di prova purché sia compatibile con il modello esatto della nostra scheda, ad esempio LPCXpresso Systick Example Project for LPC11U14 V1.0 (Apr 7, 2011), una volta scaricato troveremo diversi file *.c e *.h

ci interessiamo del file systick.c, cerchiamo la funzione main, all'interno della quale troveremo le funzioni:

GPIOSetBitValue( LED_PORT, LED_BIT, LED_ON );

e

GPIOSetBitValue( LED_PORT, LED_BIT, LED_OFF);

dove:

#define LED_PORT 0 // Port for led

#define LED_BIT 7 // Bit on port for led

#define LED_ON 1 // Level to set port to turn on led

#define LED_OFF 0 // Level to set port to turn off led

appunto le due funzioni accendono e spengono il led montato a bordo della nostra scheda.

Viene utilizzata anche la funzione:

Delay (i);

che introduce un ritardo di i ms.

Per ora lasciamo tutto così e con la scheda di sviluppo collegata tramite USB clicchiamo sul tasto in alto “build all” accanto all'icona del martello per compilare tutto e programmare, a questo punto si renderà disponibile il tasto play, pause e stop del debug con i quali possiamo eseguire tutti i controlli sulla nostra applicazione, clicchiamo su play e il nostro LED inizierà a lampeggiare.

Possiamo ora sbizzarrirci modificando a piacimento i valori del delay ed iniziare a scrivere le nostre applicazioni.

 

 

Scrivi un commento all'articolo esprimendo la tua opinione sul tema, chiedendo eventuali spiegazioni e/o approfondimenti e contribuendo allo sviluppo dell'argomento proposto. Verranno accettati solo commenti a tema con l'argomento dell'articolo stesso. Commenti NON a tema dovranno essere necessariamente inseriti nel Forum creando un "nuovo argomento di discussione". Per commentare devi accedere al Blog
ritratto di Franco78

Ma questa non è la scheda del Review4u?

Ma questa non è la scheda del Review4u?

ritratto di Antonello

Ma se leggo "primo semplice progetto" vuol dire che ce ne sarann

Ma se leggo "primo semplice progetto" vuol dire che ce ne saranno altri?
Se si, quali?

ritratto di Piero Boccadoro

Per Franco78: Si, si tratta del Review4U :) Per Antonello: l'

Per Franco78: Si, si tratta del Review4U :)
Per Antonello: l'autore lo saprà certamente dire con più determinazione ma... si, suppongo di si :)

ritratto di aloisius

Al momento non è in cantiere un secondo articolo sulla board LPC

Al momento non è in cantiere un secondo articolo sulla board LPC11U14 , purtroppo il tempo a disposizine è veramente poco!
Spero invece di trovarlo per iniziiare un minicorso sull'utilizzo degli FPGA.

 

 

Login   
 Twitter Facebook LinkedIn Youtube Google RSS

Chi è online

Ci sono attualmente 2 utenti e 36 visitatori collegati.

Ultimi Commenti