Il sistema di sviluppo diventa palmare

EMBEDDED –

I sistemi di sviluppo per microcontrollori sono molto evoluti negli ultimi anni, offrendo allo sviluppatore la possibilità della prototipazione rapida. STMicroelectronics e Raisonance, con Primer hanno fatto un importante passo avanti, introducendo il concetto di sistema di sviluppo palmare.

Il sistema di sviluppo è lo strumento principale di progettazione di sistemi elettronici basati su microcontrollore. Grazie alla disponibilità della tecnologia di on-chip emulation, è stato ampiamente superato il limite dell'emulazione tradizionale e lo sviluppo delle applicazioni può essere considerato ormai a livello di target finale, senza necessariamente disporre di questo in fase di sviluppo. Le schede di valutazione (EVM. DSK, ecc.) hanno rappresentato una soluzione molto apprezzata dagli sviluppatori in quanto hanno consentito loro di prototipare in maniera rapida ed economica. Per pervenire a un prototipo finale che, sia per l'aspetto ergonomico, sia per l'aspetto funzionale, risultasse sufficientemente vicino al prodotto finale, allo sviluppatore era richiesto uno sforzo abbastanza elevato. L'esigenza di avere a disposizione un sistema di sviluppo senza procedere a onerose e poco pratiche fasi di industrializzazione, ha indotto i produttori di chip a offrire sistemi di sviluppo evoluti in termini di dimensioni e di funzionalità di interfaccia più prossime possibili all'applicazione finale. La collaborazione tra STMicroelectronics e Raisonance, il primo noto produttore di microcontrollori, il secondo altrettanto noto produttore di sistemi e ambienti di sviluppo, ha portato alla realizzazione di un sistema di sviluppo di natura palmare, il Primer, che per la sua natura di sistema e per la sua forma, è in grado di essere rapidamente prototipato per soddisfare un'ampia classe di applicazioni finali. I dispositivi della serie Primer, nelle due versioni Primer 1 e Primer 2 per il microcontrollore STM32 ed EvoPrimer per STM32 o STM8, rappresentano una soluzione ideale per esplorare le potenzialità dei microcontrollori a 8 e a 32 bit e allo stesso tempo per esplorare a bassissimo costo di sviluppo l'applicazione target. Questi sono sistemi completi sia dal punto di vista dello sviluppo, sia dal punto di vista della funzionalità (vedi box).

Il sistema di sviluppo nel palmo di una mano
I sistemi di sviluppo Primer sono stati concepiti, fin dalle prime versioni 1 e 2, come sistemi da trasformare, ai fini della prototipazione rapida, in applicazioni finali senza passare attraverso la fase dello sviluppo di hardware specifico per l'applicazione. EvoPrimer a sua volta ha introdotto altri gradi di libertà nella prototipazione rapida, come ad esempio la possibilità di utilizzare alternativamente un microcontrollore a 8 bit (ST8) o un microcontrollore a 32 bit (ST32) mantenendo la stessa base EvoPrimer e semplicemente cambiando la scheda target.
EvoPrimer consiste di due parti funzionali essenziali, la base e il set di schede target. La base EvoPrimer dispone di tutte le funzionalità di base per lo sviluppo tramite connessione Usb per il debug e la programmazione del dispositivo target. La base include anche la funzionalità necessaria a integrare funzionalità hardware aggiuntive sia per quanto concerne il target processor, sia per quanto concerne le estensioni funzionali. Il software di sviluppo (Ride7) è basato su una interfaccia GUI molto intuitiva, include un project manager, un source code editor e un debugger per linguaggio ad alto livello. Il compilatore è GNU C/C++ senza limitazioni per la dimensione del codice per STM32F mentre per il microcontrollore STM8 è disponibile il compilatore C di Raisonance.  Per il caricamento e la gestione delle applicazioni è disponibile CircleOS, un task scheduler che sostanzialmente mette a disposizione funzionalità di sistema operativo che sollevano lo sviluppatore dalla necessità di introdurle nel codice applicativo. Le librerie software applicative consentono anche la prototipazione rapida del software dell'applicazione, per esempio per l'utilizzo del controllo basato su Mems, per la gestione del display Tft (touch screen, graphical interface, games, bitmap converter), per la registrazione e la riproduzione audio, ecc.

La prototipazione rapida
Il particolare vantaggio offerto da questo approccio innovativo nell'offerta di sistemi di valutazione per microcontrollori sta nella possibilità di prototipare l'applicazione in maniera rapida con un minimo sforzo di sviluppo software e con praticamente quasi nessuno sforzo per quanto concerne lo sviluppo hardware. L'hardware di sistema è sostanzialmente quello che il sistema Primer mette a disposizione (microcontrollore, memoria, periferiche, interfacce, ecc.) mentre quello applicativo, se non è già disponibile come estensione funzionale, è possibile integrarlo nel sistema tramite il sistema di interfaccia I2C che il Primer mette a disposizione. Per esempio, volendo aggiungere al sistema la funzionalità hardware Rfid, sarebbe necessario sviluppare la parte hardware di connettività Rfid da integrare con l'hardware del Primer. In questo caso, la funzionalità Rfid è stata realizzata da STMicroelectronics sotto forma di hardware di estensione funzionale per Primer utilizzando l'innovativa tecnologia di memoria Eeprom a doppia interfaccia M24LR64. Il modulo è stato realizzato in accordo con le specifiche di estensione della funzionalità hardware del Primer, in modo da essere utilizzato come plugin hardware. Questo consiste dell'antenna, del dispositivo di memoria Eeprom a doppia interfaccia (seriale cablata e seriale wireless) e del connettore per la connessione alla scheda principale del Primer tramite I2C. Quando la configurazione hardware necessaria è stata completata, il dispositivo è pronto a ospitare l'applicazione software che il prototipo deve dimostrare.  A tale scopo è possibile utilizzare il firmware già presente sul dispositivo modificandolo nella parte specifica dell'applicazione che si vuole prototipare. Il sistema operativo CirceOS già disponibile nel sistema può essere aggiornato in modo da supportare adeguatamente l'applicazione target. Nel caso specifico di questa applicazione che utilizza la tecnologia Rfid per lo scambio di dati tra dispositivo palmare e sistema esterno, nel kit di configurazione del sistema Primer è disponibile anche il dispositivo di lettura RF esterno che permette di simulare il sistema esterno per lo scambio dati, riducendo in tal modo lo sforzo di prototipazione. La gestione dell'Rfid dal lato Primer avviene tramite I2C e la memoria Eeprom seriale a essa connessa. La memoria Eeprom, disponendo anche della interfaccia Rfid connessa all'antenna integrata su Pcb, tiene i dati che riceve in maniera asincrona dall'esterno e li rende disponibili al sistema tramite l'interfaccia I2C. La comunicazione I2C viene gestita dal  microcontrollore, mentre la visualizzazione dei dati (testi, immagini, audio, ecc.) scambiati in modalità RF vengono gestiti dall'applicazione sotto il controllo del CircleOS. I dispositivi di interfaccia del Primer (touch, tasti funzione, display, altoparlante, joystick, microfono), possono essere usati tutti o in parte (escudendoli) per configurare l'applicazione nella modalità effettiva cui è destinata.

Le funzionalità dei dispositivi Primer
-    In-circuit debugging/programming tramite connessione Usb  via Pc host
-    Connessione Usb per l'applicazione
-    Sensore Mems
-    Software di sviluppo completo di tutte le funzionalità
-    Forma economica del dispositivo
-    Controlli basati su Mems
-    Display touch screen Tft a colori
-    Joystick
-    Interfaccia audio
-    Accelerometro Mems
-    Gestione della batteria Li-Ion battery
-    Connettore Micro SD
-    Connettori Add-on con Usart, SPI, I2C e and analog/digital I/O
-    Memoria Flash (fino a 512 Kbytes)
-    Vari dispositivi per le applicazioni (Lcd, sensore di temperature, celle solari, ecc.)

Il sistema operativo Cicle
STM32-Primer dispone del sistema operativo Cicle OS. Questo mette a disposizione una serie di servizi particolarmente utili alla prototipazione rapida del software, in particolare:
•    gestione delle applicazioni
•    funzioni di gestione grafica del Lcd
•    funzioni di gestione del sensore Mems
•    funzioni di gestione dei Led
•    funzioni di gestione del buzzer e dei pulsanti
•    funzioni di gestione del Menu
•    funzioni per lo scheduling dei task.
L'occupazione di memoria di questo sistema operativo embedded è molto limitata, solo 22/128 kbyte di memoria. Questa limitata occupazione di memoria rende disponibile, sul sistema Primer, da 104 a 384 kbyte di memoria per l'applicazione. Le applicazioni eseguibili da CircleOS sono in una tabella in cima alla memoria utilizzata da tale sistema operativo. Ogni applicazione viene eseguita da CircleOS quando viene selezionata e ha a disposizione tutta la Ram libera (non occupata da CircleOS). L'applicazione può avere la massima priorità esecutiva su tutto il dispositivo, fino a quando non viene esplicitamente interrotta.

Pubblica i tuoi commenti