Windows Embedded Compact 7 Beppe Platania (beppe.platania@bepseng.it) http://beppeplatania.cloudapp.net/
Ringraziamo gli sponsor!
Agenda Obiettivi principali dei sistemi embedded Perchè un sistema operativo Cos è Windows CE / Compact Un po di storia Da Windows Mobile Handheld 8 Dalla versione CE 6 a Compact 7 Symmetric Multiprocessing Support Silverlight for Windows Embedded Demo: Platform Builder Accenni sull Hard real-time
Affidabilità Obiettivi principali dei sistemi embedded Non deve bloccarsi (potrebbe non ripartire) Aggiornare sul campo? Dimensionamento risorse: Potenza del processore; Memoria di lavoro (RAM); Memoria di massa (dischi, CF, DOM, DOC, ecc ); Alimentazione (risparmio, batteria, ecc ); Richiesta di funzionalità Real-time. Costi controllati La concorrenza si basa anche sui costi; Rapidità di sviluppo di un nuovo prodotto;
Perchè un sistema operativo Multi-task, schedulazione e sincronizzazione Un gran numero di I/O connessi Gestione dei file Schedulazione e memorizzazione delle operazioni di I/O Gestione delle connessioni di rete Gestione della memoria Gestione dell interfaccia grafica Sicurezza e Power Management... allineamento con le nuove tecnologie...
La famiglia Windows Embedded Portable media Consumer Thin Client Entertainment Office Automation Medical Industrial Automation Telematics Robotics Kiosks Entertainment Industrial Automation ATM / Kiosk Thin Client Point of Service Dedicated servers
Evoluzione del mondo Embedded The New York Times
Cos è Windows CE / Compact E il sistema operativo su cui si basano PocketPC, SmartPhone, Windows Mobile, Handheld E un sistema operativo Hard Real Time e modulare (700 componenti) Pensato per sistemi embedded: gira completamente in memoria! Piattaforma Multiprocessore (X86, MIPS, ARM: necessita MMU) Un file system simile ai sistemi UNIX: root unica, mount dei device con nome e non con lettere, ObjectStore in RAM, ecc... Nessuna compatibilità binaria con la famiglia «BIG» Windows. Perché Windows?
Perché Windows Compact Marketing: CE =Compact Edition. Tre Kernel principali: il primo, 3.0, 6.0 (7) 32bit, multitask, multithread, preemptive Platform Builder è un plug-in di Visual Studio 2008 Stessa struttura di eseguibili Compatibilità parziale a livello di API Librerie comuni (MFC, ATL, WTL).NET Framework Compact Framework Funzionalità comuni Strumenti di sviluppo comuni
Un po di storia Alder Windows CE 1.0 11/1996 Cedar Windows CE 3.0 4/2000 Macallan Windows CE 5.0 8/2004 Tomatin NMD FP Chelan Windows Embedded Compact 7 1Q/2011 SP1 2.11 Birch Windows CE 2.0 11/1997 SP2 2.12 Talisker Windows CE.NET 4.0 1/2002 Jameson 4.1 McKendric 4.2 Yamazaki Windows CE 6 9/2006 6.0 R2 11/2007 Cashmere Windows 6.0 R3 10/2009
Windows CE vs Windows Mobile CE APPs Windows CE BSP Hardware Mobile APPs Windows Mobile Windows CE BSP Hardware Windows CE Completamente personalizzabile Windows Mobile Soltanto le applicazioni
Windows Mobile Windows Embedded Handheld Basati su CE Venduto direttamente da Microsoft agli OEM. Include alcune parti specifiche. Ha una struttura determinata verso l utenza Ha una struttura determinata verso il sistema
Windows CE 6.0 R3 vs Windows Embedded Compact 7
Principali novità Microsoft RTOS Windows Embedded Windows CE 6.0 R3 Comparison Chart Compact 7 Silverlight 2.0 3.0 Multi Touch & Gesture Support Limited Yes Browser Support IE6 IE7 with Flash Physical RAM 512MB 3GB Kernel Support for Processors ARMv4 ARMv7 Kernel Support for # core 1 multicore
Symmetric Multiprocessing Support il Kernel gestisce fino a 250 core limite pratico 8 core Sfrutta il vantaggio delle nuove CPU embedded multicore x86, ARM, MIPS API per la gestione delle CPU Memoria gestita fino a 3 GB
Altre novità di rilievo Multitouch DLNA (1.5): Renderer, Server, Controller MTP (Media Transport Protocol) IE for Windows Embedded (IE 7 + qualcosa di 8) Gesture (Pinch Swipe) XAML Skin oltre IESample Flash 10.1 (già compresa nel sistema)
Silverlight for Windows Embedded L evoluzione dell interfaccia Consumers buy based on your product s UX, not specs. The next-generation cell phones and media players changed the playing field.
Non hanno mai usato lo stesso ambiente di sviluppo..
Non usano lo stesso linguaggio, la comunicazione si perde nel passaggio JPG, TIFF, PSD, PDF, GIF, PPT C#, C++, CSS, XML, XSL
Evoluzione del TEAM? Integrator : layout, animation, events, integration
Designer / Developer Experience grafico sviluppatore Grafico e sviluppatore: parlano lingue differenti Lavoro in parallelo: senza ricicli
Platform Builder OS Design sources Platform SDK MyPlatform.msi Visual Studio Development PC CE binaries NK.bin Target
DEMO Windows Embedded Compact 7 Platform Builder
Ambiente di sviluppo Dev. Station Platform Builder Dev. Board Serial RS233 Null-Modem Cable HyperTerminal on Dev Station Network Cross Over Cable Recommended : some kind of DHCP service on the Dev Station
Architettura di sistema Native Application Managed Application Silverlight Application Services host User mode drivers host User mode Common Language Runtime XAML runtime Service Service Service Driver Service Service Driver Service Service User Mode APIs (COREDLL.DLL and additional DLLs) Kernel Mode APIs (KCOREDLL.DLL) Kernel mode Kernel KITL Kernel Debugger Device Manager FileSystem Manager Graphics, Windowing and Events Subsystem Network Stack OEM Adaptation Layer (OAL) Drivers Drivers Drivers
Hard real-time Pre-requisiti generali Determinismo Il tempo massimo di esecuzione impiegato dal sistema deve essere prevedibile ed indipendente dalle altre operazioni del sistema. Multi-threaded, Preemptive Scheduler Livelli di Priorità dei thread Eredità della priorità Meccanismo di sincronizzazione dei Thread Accesso diretto all hardware
Hard real-time Windows Compact 7 Sistema Multi-threaded & Preemptive Livello di priorità dei thread da 0 a 255 Eredità della priorità Meccanismo di sincronizzazione dei Thread: Eventi, Mutex, Critical Section, Semafori Quanto di esecuzione variabile Per-Thread Nidificazione e prioritizzazione degli interrupt Inversione della priorità Accesso all hardware
Gestione degli Interrupt IST Latency IST Thread ISR 1 ISR N ISR Latency ISR ID OAL ISR All Higher Enabled Set Event All Except ID All Kernel HW
Valutate Windows Embedded Compact 7 Per saperne di più www.microsoft.com/windowsembedded/en-us/downloads/download-windows-embeddedcompact-ce.aspx Leggete gli articoli dai blog in inglese e in italiano blogs.msdn.com/embedded www.embedded101.com blogs.msdn.com/b/mikehall/ beppeplatania.cloudapp.net giannishub.cloudapp.net marcobodoira-it.blogspot.it/ geekswithblogs.net/windowsembeddedcookbook mictorino.wordpress.com Guardate i siti ufficiali Microsoft www.microsoft.com/windowsembedded/it-it/windows-embedded.aspx www.microsoft.com/windowsembedded/en-us/windows-embedded.aspx Per cercare i Windows Embedded Partner o per diventarlo: www.windowsembeddedpartner.com/
Windows Embedded Compact 7 Beppe Platania (beppe.platania@bepseng.it) http://beppeplatania.cloudapp.net/