Spesso la scelta di un microcontrollore è fortemente condizionata dalla disponibilità di sistemi di sviluppo. Ecco una rassegna di ciò che offre il mercato per poter scegliere il tool giusto per il micro giusto!
LE SOLUZIONI PER FREESCALE
Freescale Semiconductor, leader nella tecnologia dei Microcontrollori a 8Bit, e Distar, distributore specialista di prodotti e marchi dal forte contenuto tecnologico, sono lieti di offrire un portafoglio microcontrollori molto ampio e articolato perfettamente supportati da una gamma completa hardware e software di sistemi di sviluppo per tutto il portafoglio prodotti.
Demo ed Evaluation Boards
Per la famiglia HC(S)08 sono disponibili diverse demo ed evaluation boards (in figura 1 la DEMO908QC16).
Le schede sono dotate di connettore USB per l’In-Circuit debug e per l’alimentazione. La DEMO908QC16 ha un pulsante di reset, due ingressi a pulsante, la possibilità di simulare ingressi analogici mediante un potenziometro, due uscite a LED, interfaccia LIN (Local Interconnect Network), uno strip di contatti per la connessione con hardware esterni.
BDM e MON08 Multilink
I Multilink (figura 2) sono sistemi di sviluppo a basso costo che, collegati all’interfaccia BDM (Backroung Debug Mode) o all’interfaccia seriale MON08, permettono di effettuare un real-time debugging ed In-Circuit Flash programming. Dal lato PC la connessione è USB in modo da garantire la massima velocità.
In-Circuit Emulator (FSICE)
FSICE (figura 3) è un Emulatore In-Circuit ad elevate prestazioni che, oltre alle caratteristiche di debugging tradizionali, offre la possibilità di Flash programming, debug remoto e Bus-Analyzer in real time. Ecco le principali caratteristiche:
- Emulazione real-time non intrusiva;
- 128KB di variabili real time;
- 128K di memoria per l’emulazione;
- Bus-Analyzer: buffer da 1,33MBx92bit con 9 modalità di trigger di cui 4 hardware, 24 GPIO;
- Interfaccia Ethernet e USB;
- Interfaccia per CodeWarrior™.
CodeWarrior™ Development Studio
Anche le applicazioni più semplici possono trarre maggiori vantaggi da tools sofisticati. Code Warrior Developement Studio per HC(S)08 v5.0, parte integrante della suite Freescale Fastrack è stato reingegnerizzato e migliorato grazie all’esperienza degli utilizzatori. Include quindi migliorie atte a velocizzare lo sviluppo dell’applicazione. Ecco le novità della versione 5.0:
- Una guida “quick start” aiuta a creare il primo progetto di esempio;
- Un tutorial è sempre accessibile in tutte le fasi di progetto;
- Nella suite sono disponibili esempi per ogni microcontrollore di Freescale;
- Il “Project Wizard” può essere utilizzato per creare un progetto funzionante in linguaggio C o Assembly in soli sette click di mouse;
- L’utente è assistito nella configurazione delle periferiche;
- È possibile modificare il tipo di microcontrollore e debug, tipo di connessione per la programmazione della flash nella finestra principale e senza dover ricreare il Progetto;
- CodeWarrior Developement Studio per HC(S)08 v5.0 è disponibile per il download dal sito Freescale: www.freescale.com.
Per semplificare gli aggiornamenti è prevista una utility che gestisce gli aggiornamenti via web.
Il CodeWarrior ANSI C/C++ si integrano perfettamente all’architettura HC(S)08 , con più di 60 diverse ottimizzazioni permettono di aumentare la velocità di esecuzione del codice o la compattezza. È inoltre possibile integrare nell’ambiente tools di terze parti, come compilatori, editor, debugger. CodeWarrior™ Developement Studio per HC(S)08 v5.0, Special edition versione limitata solo alla quantità massima di codice compilabile è disponibile per il download gratuito al sito Freescale. È inoltre possibile ricevere gratuitamente il tool in formato CD.
I sistemi di sviluppo Freescale sono disponibili presso DISTAR (www.distar.it – [email protected]).
inDART-One
SofTec Microsystems, mettendo a frutto anni di esperienza nella realizzazione di strumenti di programmazione e debug insystem, ha recentemente introdotto inDART-One, un nuovo programmatore in-system per le famiglie HC08, S08, S12 ed S12X di Freescale. inDART-One può essere usato come tool di debug in-system (grazie agli strumenti di sviluppo CodeWarrior forniti) ma dove veramente eccelle è nella programmazione, specialmente dei dispositivi della famiglia HC08. SofTec Microsystems ha infatti sviluppato degli appositi algoritmi di programmazione che consentono di abbattere i limiti del protocollo MON08, rendendo possibile la programmazione della memoria dei microcontrollori HC08 nel più breve tempo possibile consentito dalla tecnologia Flash che implementano. inDART-One, inoltre, è in grado di alimentare la scheda target tramite due connettori di power il cui funzionamento è impostabile via software e questo, assieme a diversi altri parametri che è possibile impostare in maniera intuitiva, permette allo strumento di potersi interfacciare correttamente con la maggior parte di schede target. inDART-One può anche essere usato come programmatore multiplo. Un’interfaccia utente dedicata permette di controllare fino a 32 strumenti collegati allo stesso PC tramite USB. Il pulsante di “Start” presente sullo strumento replica il funzionamento del pulsante di “Start” dell’interfaccia utente, consentendo di avviare la programmazione nei casi in cui le schede target sono lontane dal PC. La programmazione in-system apre nuove possibilità nel campo del testing. Si rende possibile, infatti, prima di programmare il microcontrollore con il firmware effettivo, programmarlo con un firmware di “test” in grado di eseguire diversi controlli funzionali della scheda e di segnalare i risultati al PC. La comunicazione tra il firmware di test ed il PC può avvenire sia tramite lo stesso canale usato per la programmazione, sia, ad esempio, attraverso una seriale RS-232, se la scheda da testare ne è provvista. Questo tipo di test può integrare un test tradizionale con letto ad aghi, permettendo di realizzare letti ad aghi più semplici e facendo svolgere parte del test al microcontrollore. Questo approccio può rappresentare la soluzione ottimale per piccole produzioni, specialmente quando una porzione significativa della scheda è controllata dal microcontrollore, o quando il costo di un sistema di test tradizionale è proibitivo. A tale scopo, inDART-One viene fornito con una Programming Library—una DLL che include tutte le funzioni a basso livello necessarie per comunicare con lo strumento ed usarlo come programmatore in-system. In tal modo è possibile realizzare la propria interfaccia utente, nel linguaggio di programmazione preferito (ad esempio Microsoft Visual C o National Instruments LabVIEW) facendo svolgere ad inDART-One compiti personalizzati.
LOW COST PER PIC MICROCHIP
C-170
La scheda C-170 consente la programmazione delle MCU PIC tramite la porta parallela del PC oppure collegando alla scheda l’In-Circuit Debugger ICD2 di Microchip. Ultimata la programmazione è possibile passare alla modalità RUN per testare il funzionamento della MCU. Il programmatore debugger di PIC è stato scomposto fisicamente in due sezioni (figura 5): una con il compito di preparare i segnali necessari alla programmazione e l’altra con a bordo gli zoccoli in cui inserire i PIC.
La sezione “socket” supporta le MCU PIC nei contenitori PDIP a 40, 28, 18, 14 e 8 pins. Se si utilizzano microprocessori in contenitori non PDIP è necessario procurarsi degli appositi adattatori. La scheda prevede un quarzo a 20 MHz e la possibilità di inserire un secondo quarzo del valore desiderato. Le porte di I/O dei microcontrollori risultano collegate a 5 connettori a passo 2,54 mm. È previsto un pulsante di Reset, un connettore per il collegamento all’ICD2 di Microchip e un deviatore Run / Program. I segnali necessari alla programmazione vengono portati ai relativi pin di ogni zoccolo e le linee di I/O degli zoccoli risultano collegati ai connettori di I/O. La serigrafia della scheda permette una immediata identificazione di tutte le linee di I/O di ogni zoccolo e di ogni connettore. I piedini di alimentazione di ogni zoccolo (pin VCC) sono collegati insieme tra loro e portati al comune del deviatore: in posizione PROGRAM le alimentazioni VCC sono collegate con il segnale VDD gestito dalla scheda di programmazione; in posizione RUN le alimentazioni VCC risultano collegate al +5V. Tutte le linee OSC di ogni zoccolo (tranne DIL8) sono collegate tra loro e portate ai jumper JP10 e JP11. Chiudendo JP10 viene selezionato il quarzo da 20MHz montato sulla scheda; chiudendo JP11 si seleziona il quarzo Q2 (non montato) con i relativi condensatori C12 e C13 (non montati). Questo consente all’utente di inserire il quarzo desiderato per quella applicazione. Il software di gestione della scheda è IC-Prog ed è disponibile nel CD incluso nella confezione, ma è anche liberamente e gratuitamente scaricabile dal sito www.ic-prog.com. Si tratta di un programma molto intuitivo da utilizzare, risulta inoltre completo e frequentemente aggiornato per il supporto dei nuovi modelli di PIC. La scelta di utilizzare la porta parallela garantisce una buona velocità di programmazione ed è ancora disponibile nei PC da tavolo. L’alimentazione è di 17V non regolati. Schede tecniche dettagliate e approfondimenti sono disponibili sul sito www.evr-electronics.com.
easyPIC3-D
La scheda easyPIC3-D consente lo sviluppo di applicazioni impieganti PICmicro® a 8, 14, 18, 28 e 40 pin. Tutti i jumper ed i componenti presenti sulla scheda sono contrassegnati con un identificatore per poter avere un riferimento diretto con lo schema elettrico. EasyPIC3-D consente il testing di applicazioni industriali come controllori di temperatura, contatori, timer e molte altre. Sulla scheda trovano posto:
- Alimentatore. Fornisce i 5V ai dispositivi presenti sulla scheda. Può funzionare con tensioni di ingresso da 7V a 15V sia in corrente continua che in alternata. Un jumper permette di selezionare la fonte di alimentazione tra una esterna o direttamente dal bus USB. In quest’ultimo caso non è necessario l’impiego di un alimentatore esterno.
- Programmatore USB 2.0 caratterizzato da alta velocità e flessibilità. Può essere infatti pilotato da un software che, se mantenuto aggiornato, consente la programmazione dei micro anche più recenti.
- Il sensore di temperatura DS1820 (non incluso) consente di misurare temperature con un accuratezza di 0,5°C.
- Sezione di comunicazione RS232: è possibile selezionare su quali pin del micro indirizzare i segnali Rx e Tx.
- I pin RA2 ed RA3 del micro sono collegati a due trimmer in modo da poter disporre di due ingressi analogici variabili da 0V a 5V.
- Le porte sono connesse ad una rete di resistori mediante dip switch. La funzione di pull-up o pulldown per le varie porte può essere selezionata mediante l’impostazione di jumper.
- Supporto per display LCD alfanumerici HD44780 compatibili e LCD grafici KS0108 compatibili.
- Supporto per i micro in package DIP8, DIP14, DIP18,DIP28 e DIP40. Questo consente di sviluppare applicazioni per tutte le famiglie di PICmicro®.
- 32 pulsanti per pilotare gli ingressi del micro.
- E' possibile scegliere se la pressione di un pulsante provochi il livello alto o il livello basso del relativo ingresso.
- 32 LED connessi ad ogni pin del micro. Questo permette di monitorare lo stato dei segnali digitali presenti sui pin.
- Cifre a 7 segmenti per la visualizzazione dei risultati. Le quattro cifre sono pilotate in modalità multiplex in modo da impiegare al minimo i pin di I/O del micro.
- Connettore USB per lo sviluppo di applicazioni con PIC che supportano l’USB.
Nella confezione della scheda easyPIC3-D oltre ai cavi, al manuale, ad un display LCD 16x2 ed un display grafico 128x64, è contenuto un CD ricco di documentazione veramente utile. È possibile trovare tutta la manualistica, i driver USB per il programmatore, le versioni demo di MPLAB, MikroBasic e MikroPASCAL, due libri in formato elettronico dal titolo “PIC Microcontrollers” e “BASIC for PIC microcontrollers” ed un gran numero di esempi di programmazione per il pilotaggio dei display 7 segmenti in multiplex, la misura di temperatura, interrupt, pilotaggio di display LCD, comunicazione seriale e molti altri ancora. La scheda easuPIC3-D è distribuita in Italia da INWARE srl (www.inware.it – [email protected]).
SOLUZIONI PER MICROCONTROLLORI HOLTEK
Holtek è stata fondata a Taiwan nei primi anni Ottanta e si è occupata, inizialmente, di prodotti ASIC e consumer per giocattoli. Tuttavia, nel corso degli anni, si è affermata in campo internazionale come produttore di integrati per uso industriale. Dal 1993, il focus si è spostato sul mercato dei microcontrollori 8bit, di cui propone una gamma esauriente ed innovativa.
Tra le varie famiglie disponibili, si segnalano in particolare:
- MCU con LCD driver integrato: serie HT49xxx.
- MCU con A/D converter e/o LCD driver integrato: serie HT46xxx.
- MCU con memoria riscrivibile: serie HT48Exx.
I microcontrollori Holtek si rivelano semplici e potenti allo stesso tempo: il core logico è simile per tutte le famiglie e si avvale di un insieme di 63 istruzioni. Inoltre, a parità di prestazioni con i microcontrollori di altre case, Holtek offre soluzioni di costo più contenuto. Tra i vantaggi, la disponibilità di una gamma completa di tool harware di basso costo e di tool software di sviluppo assolutamente gratuiti, i cui aggiornamenti sono facilmente scaricabili da internet. Da ultima, ma non meno importante, la disponibilità gratuita del compilatore C ottimizzato, così da poter essere sfruttato anche per MCU con capacità di memoria ridotta (es. 0,5K ROM). Relativamente ai sistemi di sviluppo, l'offerta Holtek è esaustiva e comprende:
- HT-IDE3000: Il software HT-IDE3000 (Holtek Integrated Development Environment) è un sistema di sviluppo real-time progettato per i microcontrollori 8-bit Holtek. I tool incorporati nel sistema permettono uno sviluppo rapido e semplice delle applicazioni del cliente. Il HT-IDE3000 è pensato per lavorare in ambiente Windows e comprende: editor, Cross Assembler, Cross Linker, library e debugger. È inoltre incluso un simulatore che è in grado di ricreare il comportamento dei microcontrollori Holtek direttamente su PC, senza dover utilizzare l'emulatore hardware HT-ICE. Tutte le funzioni dell'emulatore hardware sono infatti valide anche per il simulatore software.
- HT-ICE: La famiglia di emulatori HT-ICE (Holtek In-Circuit Emulator) è dotata di un set completo di tool hardware in grado di emulare il comportamento dei microcontrollori Holtek in tempo reale e comprende potenti strumenti di debugging e tracciatura. Tutti i microcontrollori (quindi anche LCD) possono essere emulati direttamente sul PCB finale attraverso un flat collegato alla target-board dell'emulatore.
La versione attualmente disponibile incorpora il programmatore OTP/MTP. - Programmatori OTP/MTP: I programmatori OTP Holtek sono indicati per le produzioni di volume medio-piccolo. Sono molto pratici: basta collegarli al PC attraverso la porta seriale RS-232 oppure, dopo aver scaricato i relativi driver, possono programmare in modo stand-alone. Per i microcontrollori con memoria riscrivibile, sono disponibili programmatori MTP, che meglio ne supportano le funzioni.
- MTP Starter Kit: Per familiarizzare in modo rapido ed efficace con la famiglia di microcontrollori MTP, Holtek offre un kit di sviluppo compatto contenente tutti i tool di sviluppo hardware e software necessari, sia per l'emulazione che per la programmazione di questi microcontrollori.
I sistemi di sviluppo Holtek sono distribuiti da COVEL (www.covel.it – [email protected]).
JTAGICE: TOOL PER ATMEL AVR
JTAGICE mkII (figura 8) è la nuova interfaccia hardware integrata fornita da Atmel per il debug on-chip dei microcontrollori della famiglia AVR. Tra le caratteristiche innovative di JTAGICE mkII, rispetto alle precedenti versioni, vi sono una incrementata capacità di debug, l’interfacciamento con il PC via USB, una superiore velocità di comunicazione con il dispositivo target.
Le funzionalità svolte sono rappresentate dal debug on-chip, la programmazione In-System e il testing a livello circuitale. JTAGICE mkII consente avanzate funzioni di debug per varie tipologie di breakpoint e supporta sia la tradizionale interfaccia JTAG, in accordo con lo standard IEEE 1149.1, sia la nuova interfaccia DebugWIRE di Atmel. Quest’ultima, utilizzando un solo filo per il collegamento con il PC, consente al progettista un notevole risparmio nelle linee di I/O. Inoltre, rende possibile accedere a tutte le risorse interne: memorie Flash, EEPROM, SRAM, Registri, Program Counter, oltre ai bit di Fuse e Lock e tutti i segnali di ingresso/uscita. L’interfaccia JTAGICE mkII si integra in AVR Studio, l’ambiente di sviluppo Atmel dedicato alle architetture AVR. Per la comunicazione verso il PC, oltre a mantenere la linea RS-232 già presente nelle precedenti versioni di JTAGICE, il nuovo modulo aggiunge la possibilità del collegamento via USB. I dispositivi AVR attualmente supportati da JTAGICE mkII, nelle modalità JTAG e DebugWIRE, sono elencati nella tabella1.
AD INFINEON CI PENSA DAVE
DAvE (Diagital Application virtual Engineer) è uno strumento software per lo sviluppo di applicazioni con i micorcontrollori Infineon ad 8, 16 e 32 bit. Il sistema offre un wizard intelligente che guida lo sviluppatore nella configurazione delle periferiche del micro scelto e genera in modo del tutto automatico i templates in linguaggio C. DAvE può essere utilizzato anche per comparare i microcontrollori Infineon C500, XC800, C166, XC166 e TriCore in modo da scegliere il corretto dispositivo per la propria applicazione. Ma oltre ad uno strumento di sviluppo DAvE è anche un’ottima interfaccia per il reperimento di documentazione e letteratura grazie alla guida in linea ed ai link diretti ai datasheet, manuali ed application notes e si rivela anche un ottimo strumento programmabile per l’interazione non solo con i più comuni compilatori ma anche con i più recenti software UML-embedded. L’installazione è molto semplice grazie all’installation wizard ed i requisiti di sistema sono i seguenti:
Processore Pentium® o superiore;
Sistema operativo Windows® 95/98/NT/2000/XP
16MB RAM (32MB consigliati)
Schermo con risoluzione 800x600 o superiore.
Una volta scelto il microcontrollore DAvE mostra tutte le periferiche interne che possono essere configurate con un semplice click del mouse. Per ciascuna periferica sono disponibili tutte le informazioni raggiungibili mediante la guida contestuale, mentre una finestra separate moltra tutti i parametri impostabili. Una volta configurate tutte le periferiche interne, la compilazione del progetto genera i file sorgente in linguaggio C contenenti tutto il codice necessario alla configurazione e le indicazioni del punto in cui lo sviluppatore può scrivere le proprie routines. Tutte le informazioni su www.infineon.com/dave. Se usate i microcontrollori Infineon preoccupatevi solo delle vostre routines a tutto il resto ci pensa DAvE!
KEIL μVISION2
μVISION2 è il nuovo ambiente IDE per la gestione dei software di sviluppo Keil. L’ambiente permette la gestione dei progetti, l’editing dei sorgenti, la programmazione ed il debugging delle applicazioni. I compilatori Keil supportano molteplici micrcontrollori tra cui Atmel, Cypress, Freescale, Analog Devices, Dallas e molti altri (un elenco completo all’indirizzo www.keil.com/dd) e tutti i compilatori possono essere gestiti con un unico ambiente integrato. μVISION2 è dotato di un database di dispositivi che permettono di selezionare il corretto linguaggio di programmazione minimizzando il tempo di configurazione dell’ambiente. Il Project Manager permette la creazione dei progetti e può generare un file di uscita per la simulazione, uno per il debugging con emulatore ed uno per la programmazione del dispositivo. La funzione facilitata di compilazione permette inoltre la corretta compilazione senza preoccuparsi dell’inclusione dei file header che avviene in modo automatico. La gestione degli errori è totalmente interattiva: gli errori sono elencati in una finestra e la compilazione può proseguire in background via via che gli errori vengono corretti. I numeri di riga associati agli eventuali errori vengono aggiornati automaticamente qualora vengano aggiunte/rimosse parti di codice. La scrittura dei sorgenti è facilitata grazie al potente editor che indica con diversi colori le parole chiave del linguaggio utilizzato e grazie anche alla funzione di indentazione automatica utilissima nella scrittura di sorgenti in C. La Memory Window permette di visualizzare graficamente il contenuto della memoria del microcontrollore per averne sempre sotto controllo l’occupazione e l’organizzazione. L’ambiente è inoltre in grado di simulare le periferiche interne e tutti i registri associati al microcontrollore selezionato. Questa preziosa funzionalità permette di testare l’applicazione ancora proma che l’hardware sia effettivamente disponibile. Non meno importante è il Performer Analyzer, un analizzatore di prestazioni che consente la visualizzazione su un grafico a barre del tempo in cui la CPU è rimasta impegnata per ciascuna parte del programma. μVISION2 è un potentissimo strumento di sviluppo sempre aggiornato che facilita la progettazione con numerosi microcontrollori. Tutte le informazioni su μVISION2 sono reperibili all’indirizzo: www.keul.com/uvision2.
La easypic è una ottima development board della Mikroelektronika con sensori on-board e tanti bus per poter sviluppare propri progetti con i PIC. Ci sono varie soluzioni l’ultima credo sia la 7. La versione Fusion per i dsPIC. CodeWarrior è un IDE fortemente apprezzato che permette di realizzare e gestire progetti embedded, includendo un editor, debugger e compilatore. Freescale ha incorporato nelle ultime versioni delle utility in grado di incrementare notevolmente la facilità d’uso, la velocità e l’accessibilità rispetto alle precedenti versioni. L’IDE lavora sui sistemi operativi più diffusi, tra cui Windows, MacOs e Linux, con supporto per C,C++ e Java.
Ciao!
Per quanto riguarda Freescale:
1) secondo la mia esperienza, ho sempre considerato i suoi microcontrollori come buoni componenti, mentre per quanto riguarda gli ambienti di sviluppo e i debugger / emulatori hanno sempre lasciato molto a desiderare (per la serie: noi facciamo i micro, per gli emulatori ci rivolgiamo a terze parti .. e sono cavoli vostri); Freescale consigliava la terza parte P&E Micro (orribile …) per poi optare per Softec; successivamente Softec è stata acquistata da un altro fornitore e Freescale è di nuovo passata a consigliare per i suoi micro i prodotti P&E micro. Insomma non si è mai occupata seriamente di dare un pacchetto completo per i propri microntrollori
2) Il prodotto Indart One non è più un prodotto Softec e sembra non essere supportato adeguatamente (per es. dalle informazioni che ho non viene dato il supporto ne il software per l’IndartOne oer Windows XP – nel campo embedeed XP non è poi così obsoleto …. ); che sia l’acquisizione che ha portato la nuova azienda a non credere nei prodotti Softec?
3) a proposito di Freescale, mi sembra di aver capito che dal 2016 essa diventi di proprietà della NXP; dato che quest’ultima ha un portafoglio considerevole di microcontrollori (basti citare i Cortex M), che in molti casi si sovrappongono con la linea Freescale quanto a caratteristiche e prestazioni, che ne sarà dei microcontrollori Freescale? Può essere che vengano fagocitati? Avete notizie in merito?
Esattamente. Penso che a breve si sapra’ di piu’.
Per quanto riguarda l’ambiente keil: il compilatore per ARM è uno dei migliori (se non il migliore) ; unica pecca è l’IDE non basato su Eclipse: è proprietario ma presenta parecchie inefficienze , oltre al fatto che moltissime features di Eclipse peraltro molto comode qui sono proprio assenti.