Libreria grafica scritta in ANSI C per display LCD TFT per sistemi embedded.
Tutte le CPU e tutti i display commerciali possono essere supportati. A completamento dell'offerta una serie di tool indispensabili per sviluppare velocemente la GUI: i convertitori di bitmap e font di Windows in codice C, il simulatore su PC/Windows, le librerie di oggetti grafici complessi (bottoni, finestre, progress bar, ecc).

Caratteristiche Principali
Libreria grafica
Font
Visualizzazione Stringhe
Window Manager
Widget Opzionali (conferiscono alle finestre un aspetto simile a Windows)
Sono oggetti grafici predefiniti e configurabili che consentono un'interazione complessa con l'applicazione. Un esempio di widget è riprodotto nella figura a fianco. I Widget possono reagire automaticamente a un evento, come ad esempio, alla pressione di un bottone. Una volta creati, i Widget hanno proprietà modificabili run-time, e sono eliminati quando non più necessari. Come avviene per le finestre, i widget sono referenziati tramite un handle generato all'atto della sua creazione. I widget richiedono il Window Manager. Sebbene non indispensabili per creare un'interfaccia utente, i widget semplificano lo sviluppo dell'interfaccia uomo-macchina e migliorano l'interazione tra l'utente e la macchina.
Touch-screen & mouse support
emWin mette a disposizione il supporto per touch-screen e per il mouse per interagire con oggetti come i bottoni (v. figura sopra).
Simulazione dell'interfaccia utente usando Microsoft Visual C++ in ambiente PC
E' disponibile un ambiente di simulazione sotto Microsoft Visual C++ . Può essere usato per scrivere e testare l'intera interfaccia utente in ambiente PC (le routine sono 100% compatibili con l'applicazione embedded, indipendentemente dalla CPU e dal dispositivo LCD utilizzato).Catturare immagini del contenuto dell'LCD diventa un'operazione immediata. Queste immagini catturate possono essere utilizzate per redigere la documentazione. Il programma emWinView consente di visualizzare il contenuto del display simulato anche durante la fase di debug.
Supporto Multi layer/multi display
Sempre più i produttori di controller grafici (Fujitsu e Toshiba, ad esempio) implementano il concetto di layer flessibile. La feature "multiple layer/multiple display" consente di gestire più di un layer alla volta. Consente anche di utilizzare più di un display alla volta nell'applicazione embedded. Questo supporto è incluso nel pacchetto. A oggi è possibile gestire fino a 5 Layers/displays.
Supporto VNC
Il protocollo VNC ("Virtual Network Computing") è ora disponibile come pacchetto opzionale. L'utente può vedere e interagire con l'ambiente grafico non solo sulla macchina su cui tale GUI sta girando, ma in remoto da qualunque punto della rete via TCP/IP.
Schede di valutazione
Per accelerare lo sviluppo della GUi Segger ha sviluppato alcune schede di valutazione con display LCD a colori e a scale di grigio, in tecnologia a matrice passiva e TFT. Le schede includono emWin (librerie binarie), applicazioni di esempio in sorgente, un compilatore demo e un bootloader per caricare l'applicazione compilata in flash e per vederla girare sul target.
Board Support Packages
Emwin è facilmente portabile su qualsiasi piattaforma; Segger ha già effettuato il porting sulle seguenti schede di valutazione commerciali sulle quali è possibile valutare emWin:
LCD controller: PCF5329CVM240 (Freescale)
CPU: Coldfire V3
Microchip PIC32 Demo board
LCD Controller: PIC32MX460F
CPU: PIC32
| Schede di valutazione NEC |
| NEC AF-EV850 Eval board |
| NEC V850-Touch it! Eval board |
| NEC 78K - Test it! Eval board |
| NEC K_Line - Play it! Eval board |
| NEC 78K0R - Cool it! Eval board |
NXP LPC2468-16 OEM Embedded Artists Eval board
Controller: LPC2468 CPU: ARM7TDMI
Renesas RSKH8S2378 Eval board
Controller: H8S/2378
CPU: H8S/2000
VisuRDK-H8S-NL3224 MSC Eval board
Controller: H8S/2378
CPU: H8S/2000
Sharp LH79531 Eval board
Controller: LH79531
CPU: ARM7TDMI
ST MB525 Rev. A Eval board
Controller: STM32F103VBT6
CPU: ARM Cortex-M3
Toshiba BMSKTOPASA910(DCE) Eval board
Controller: TMPA910CRAXBG
CPU: ARM926EJ-S
Informazioni sui driver disponibili (link diretto a sito Segger)










