EMBEDDED
50 • NOVEMBRE • 2013
SOFTWARE
GUI
Verso una migliore integrazione
dell’hardware
I progettisti dei sistemi avanzati di informazione e intrattenimento da installare a
bordo delle vetture possono trarre vantaggio dai processori integrati ad alte presta-
zioni originariamente concepiti per le applicazioni dei telefoni cellulari. In quanto tali,
questi processori forniscono capacità di elaborazione estremamente elevate e note-
vole efficienza nei consumi, supporto per la connettività in rete, capacità multimediali
e, infine, predisposizione per gli schermi ad alta risoluzione. Altrettanto utile per i
progettisti che vogliono assicurare ai guidatori un’esperienza più evoluta nell’utilizzo
dell’interfaccia grafica dedicata al mondo dell’automobile è il fatto che le capacità di
elaborazione grafica di tali processori sono oggi estremamente elevate, grazie all’in-
tegrazione di nuclei di elaborazione specificatamente dedicati proprio alla grafica che
supportano direttamente i più diffusi standard, come ad esempio OpenGL.
C’è anche grande libertà di scelta tra i vari sistemi operativi da poter adottare:
Embedded Linux, ad esempio, ma anche sistemi operativi in tempo reale, tra i quali
QNX Neutrino, Green Hills INTEGRITY e VxWorks di Wind River, per garantire
prestazioni deterministiche.
Sviluppo software
Le capacità di elaborazione dei sistemi integrati embedded sono ormai notevoli e il
concetto di interfaccia utente di una certa potenza, nell’ambito automobilistico, ha già
fatto il proprio ingresso sul mercato e ha delineato esempi verso i quali i nuovi pro-
getti devono tendere e affinarsi: tutto ciò porta al bisogno di piattaforme di sviluppo
software migliori, che siano in grado di aiutare i progettisti a sfruttare al meglio tali
risorse per creare prodotti ancor più ingegnosi e accattivanti.
Gli sviluppatori hanno bisogno di una piattaforma software che sia facile e intuitiva
da usare e che consenta loro di lavorare all’interno di un ambiente grafico adatto a
costruire e verificare rapidamente anche progetti complessi. Tale esigenza obbliga,
di fatto, i venditori di strumenti software a rendere disponibili programmi con capa-
cità di sviluppo di applicazioni – cioè strumenti di impaginazione e di progettazione
– che siano ottimizzate per un utilizzo in progetti embedded.
Inoltre, un ambiente di sviluppo flessibile è una condizione imprescindibile per
stare al passo con il ritmo serrato dei progressi nel settore automobilistico e per
consentire le personalizzazioni necessarie a soddisfare un gran numero di requisiti
differenti. Per di più, riuscire a ottimizzare la piattaforma di sviluppo software così
da minimizzarne la dipendenza dall’hardware può facilitare la portabilità del software
stesso su piattaforme diverse (vale a dire la possibilità, per il software, di essere tra-
sposto – e utilizzato - in un ambiente diverso da quello in cui è stato originariamente
sviluppato). Quest’ultimo aspetto può dare agli sviluppatori la libertà di scegliere il
processore più adatto per la loro applicazione e migrare tra le piattaforme attraverso
una semplice operazione di ricompilazione per un differente sistema operativo, in
base alle necessità.
Ambiente di sviluppo flessibile
e multipiattaforma
Un ambiente applicativo che viene adottato sempre più frequentemente per lo
sviluppo di applicazioni è “Qt”, prodotto che fornisce la flessibilità e gli strumenti
avanzati di cui hanno bisogno progettisti e programmatori per creare interfacce
utente di qualità elevata in modo rapido e agevole, sfruttando pienamente l’hardware
disponibile. “Qt” comprende una tecnologia di interfaccia utente intuitiva chiamata
“Qt Quick” e una ben nutrita libreria di classi C++ con un’interfaccia di programma-
zione per le applicazioni (API: Application Programming Interface) di immediata