LPCXpresso è la nuova piattaforma di sviluppo a basso costo per la famiglia di microcontrollori NXP basati su architettura ARM. Il tool di sviluppo comprende un IDE con funzionalità avanzate basato su Eclipse, un compilatore C GNU, linker, librerie, ed un debugger GDB.
L'hardware include invece la scheda di sviluppo LPCXpresso, la quale è composta da un'interfaccia di debug LPC-Link e da una scheda target basata su microcontrollore NXP LPC ARM. LPCXpresso costituisce una soluzione completa che permette agli ingegneri che operano nel settore embedded di sviluppare le proprie applicazioni, dalla versione di valutazione iniziale fino ad arrivare al prodotto finale.
I vantaggi dell'LPCXpresso
I principali vantaggi che derivano dall'utilizzo della piattaforma LPCXpresso sono i seguenti:
- sistema di sviluppo a basso costo per la famiglia di prodotti LPC
- IDE basato su Eclipse che utilizza schede target a basso costo
- schede di sviluppo dotate di debugger integrato JTAG - non è richiesto un probe separato
- opzioni di upgrade semplici e facili
- soluzione end-to-end per realizzare applicazioni dalla fase di valutazione fino al prodotto finale
L'IDE di LPCXpresso, sviluppato da Code Red Technologies, è basato sulla popolarissima piattaforma di sviluppo Eclipse, ed include diverse funzionalità aggiuntive specifiche per la famiglia di microcontrollori LPC. Si tratta in pratica di una classica catena di sviluppo GNU, con una libreria C ottimizzata che mette a disposizione degli ingegneri tutti gli strumenti necessari per sviluppare soluzioni software di elevata qualità in tempi rapidi e contenendo i costi di sviluppo. Sono presenti funzionalità di elevato livello professionale, come la sintassi colorata, la formattazione del codice sorgente, il folding delle funzioni, help on-line ed off-line, e automazione estesa del project management. L'IDE LPCXpresso permette di generare un eseguibile di qualunque dimensione con ottimizzazione completa del codice, mentre supporta il download con limite massimo di 128Kb, previa registrazione del prodotto. Poichè i controllori LPC dispongono di una quantità di memoria superiore a 128kb, è possibile estendere questo limite sul download tramite opportune opzioni di upgrade. LPCXpresso supporta l'intero ciclo di sviluppo di un prodotto embedded, permettendo anche l'utilizzo di schede di sviluppo target prodotte da terze parti.
La scheda di sviluppo target per LPCXpresso, sviluppata congiuntamente da NXP, Code Red Technologies, ed Embedded Artists, comprende una MCU target ed un debugger integrato dotato di interfaccia JTAG/SWD (LPC-Link), per cui non è richiesto un probe di debug JTAG separato. LPC-Link è equipaggiata con un connettore JTAG a 10-pin e si connette al target tramite interfaccia USB. Interrompendo il collegamento tra la scheda LPC-Link e la scheda target si rende l'LPC-Link un debugger JTAG di tipo stand-alone. Ciò permette di collegare la piattaforma LPCXpresso ad un target esterno ed utilizzare per lo sviluppo di diversi microcontrollori NXP, come il Cortex-M0, Cortex-M3, e ARM7/9. La parte di scheda con funzionalità di target può inoltre connettersi a delle schede di espansione per ampliare la disponibilità di interfacce e di segnali e dispositivi di I/O. Sono attualmente disponibili due schede di sviluppo LPCXpresso. La prima è basata sul microcontrollore LPC1343 ed è dotata di interfaccia USB 2.0 Full Speed integrata, mentre la seconda include il microcontrollore LPC1114, il primo controllore Cortex M0 apparso sul mercato. In futuro sono pianificate altre schede LPCXpresso dotate di altri microcontrollori della famiglia LPC.
I microcontrollori LPC supportati dalla piattaforma LPCXpresso sono i seguenti:
- LPC1100: tutti
- LPC1200: tutti
- LPC1300: tutti
- LPC1700: LPC1751, LPC1752, LPC1754, LPC17561, LPC17581, LPC1764, LPC17651, LPC17661, LPC17671, LPC17681, LPC17691
- LPC2000: LPC2109, LPC2134, LPC2142, LPC2362, LPC2929
- LPC3000: LPC3130, LPC3250
Particolarmente interessante questo video introduttivo alle caratteristiche e alle funzionalità offerte dalla piattaforma LPCXpresso:
LCPXpresso è disponibile da Farnell
Uhm ,interessante. Approvo l’utilizzo di eclipse come ambiente di sviluppo. Credo che sia un progetto molto maturo, e flessibile. Molto comodo anche il fatto di non necessitare di una interfaccia jtag separata per il debug. Il prezzo di 30€ è semplicemente fantastico! Bisogna vedere le prestazioni del sistema, peccato solo che la memoria utilizzabile dal compilatore sia solo 128kb… Ora bisogna informarsi su quanto costa l’upgrade della licenza! È da un pò che sento parlare sempre di più di soluzioni di microcontrollori marcate nxp. Forse è questa la volta buona che ne compro uno… sembra anche una scheda piena di collegamenti di input output, il massimo 😀
Un dispositivo davvero interessante. Il fatto che usi eclipse, c e il dedugger gdb lo rende molto affascinante e versatile dal mio punto di vista. Molto espandibile anche.
La grande evoluzione di queste schede di sviluppoè stata l’implementazione della programmazione dei microcontrollori montati a bordo attraverso una porta USB , che ha aperto a tutti gli appassionati di elettronici c’erano desideroso di provare questi nuovi microcontrollori ma che non potevano avere a disposizione un programmatore e debugger JTAG che costa sicuramente molto per uno hobbysta .
Un altro passo fondamentale è stato l’implementazione di piattaforme di sviluppo software semplici come ad esempio eclipse .
queste due caratteristiche si ritrovano specialmente nella scheda Arduino che ha portato sul successo .
Ultimamente anche l’architettura ARM sta provando a sfondare nel mondo dei hobbysta .
Non ero a conoscenza di questa famiglia di microcontrollori. Qualcuno di voi ha già provato ad utilizzarli? Di sicuro molto interessante il prezzo che , correggetemi se sbaglio , è solo relativo all’hardware, mentre per la parte software è tutto free. In effetti è l’unica strategia per poter entrare in punta di piedi nel mondo dell’hobby elettronica. Basti pensare alle tasche degli italiani adesso e al successo di arduino.
La parte software è tutta free, non sbagli. Non solo questo permette di entrare un pò più facilmente nel mercato, ma consente di avere alle spalle una comunità di sviluppo più ampia, in continua espansione. Se ti si crea un problema cerchi su google e probabilmente sul forum relativo la soluzione la trovi, altrimenti troverai qualcuno comunque ben disposto ad aiutarti. La strategia è la stessa nell’ambito dei sistemi operativi. Prendi microsoft e Linux, ubuntu per esempio.
Hai un problema con windows? Ti esce la casella con scritto se vuoi inviare la segnlazione. A parte che non l’ho mai fatto ma sono certo che nessuno mai ti risponderà E la guida in linea che win mette a disposizione su internet è a prova di idiota.
con ubuntu invece trovi un problema e apri chrome. Digiti il tuo problema e scopri che l’hanno avuto dieci prima di te e l’hanno risolto tutti. E risolvi il problema in dieci minuti..
E’ un meccanismo semplice ed efficace, ma non a tutti piace.
A quanto vedo dalla foto è un embedded computer molto esteso come input/output si potrebbe sfruttare per fare tante cose, dall’automazione al semplice controllo di un LED dal computer (a cosa servirebbe? :-|). La piattaforma di programmazione è molto intuitiva, certo bisogna conoscere un minimo di linguaggio di programmazione in c, ma è maolto più semplice, dato che, quando compilato, si schiaccia un bottone e tutto è risolto, al contrario dei PIC per esempio che bisogna passare per tre programmi diversi. Infine è come un Arduino in piccolo.
Per farla breve è un controllore dal semplice ed efficace utilizzo. IL linguaggio e le conoscenze richieste non sono poi così estese. C è alla portata di tutti. Il paragone con arduino abbastanza azzeccato, perchè questo secondo me è leggermente meno versatile ed interfacciabile =)
Devi tenere conto che a Arduino è stato sviluppato come finalità quella hobbyta o per essere utilizzato nei laboratori scolastici , questa scheda è rivolta a essere una scheda di prova per integrare progetti che saranno usati commerciali ,
Qui fa tutta la differenza tra i due prodotti .
Per cosa riguarda il linguaggio C è stato sviluppato per essere il più flessibile possibile , e necessario avere qualche concetto di programmazione .
Salve a tutti,
vorrei chiedere delle informazioni su un micro nxp. Spero sia il posto giusto.
In pratica ho una scheda smd con montato su un micro lpc1113.
Il mio obiettivo e quello di riprogrammarlo.
Ora con i microcontrollori della Microchip era semplice, avevi 5 pin: +5Volt, GND, DT, CK e MCLR. Collegavi il pickit3 e con il software mplab era fatto.
Ora con questi microcontrollori non ho ben chiaro quale programmatore usare e come collegarlo.
Sulla scheda ho un connettore a 6 pin che penso servi a programmarlo.
Qualcuno può illuminarmi?
Grazie.
Salve Stefano,
nello specifico non ho mai utilizzato il micro in questione, ma ho visto online alcuni schemi ed il datasheet e quindi credo il principio sia lo stesso, hanno solo nomi diversi i pin.
Molto probabilmente il connettore che dici è per la programmazione (e forse anche debug jtag)
Prova a vedere se i pin del micro SWCLK SWDIO corrispondono sul connettore (il datasheet lo trovi facilmente online)
Vedi anche:
https://wiki.hackmanhattan.com/LPC_Programmer
Grazie 1000 seguirò il tuo consiglio