& Presentano: Programmazione per Device: da Embedded a Desktop
Agenda 14:15 Benvenuto & Presentazioni 14:30 Sviluppo su dispositivi embedded 15:30 Debugging con Visual Studio 2010 16:00 Break ed esposizione device 16:30 Sviluppo interfacce con Visual Studio e Blend (desktop) 17:00 Sviluppo interfacce con Silverlight for Embedded 17:45 Test Driven Development (TDD) con Visual Studio 2010 18:15 Domande & risposte
Torino Technologies Group è una community locale, di base a Torino, costituita allo scopo di consentire occasioni di incontro e scambio di esperienze tra chi sviluppa soluzioni usando tecnologie Microsoft (e non solo). La community aggrega professionisti, studenti e semplici appassionati che vogliono condividere le proprie conoscenze e incentivare la creazione di una rete di relazioni che consente di conoscere meglio la realtà del mercato anche al di fuori del contesto in cui si opera quotidianamente. Se sei interessato a saperne di più, prima di tutto registrati al sito... www.torinotechnologiesgroup.it
www.bepseng.it Blog.bepseng.it BEPS L offerta System Integrations (Complete Software Embedded Solutions) Analisi di sistema Analisi, sviluppo e build di sistema: Bootloader, driver, BSP, real-time, ecc Analisi e sviluppo di applicazioni (C#, Silverlight, WPF, ecc): Console, grafiche, di rete, ecc Supporto, distribuzione e manutenzione sul campo Prodotti finiti Corsi ufficiali Microsoft Embedded
www.mictorino.it Info@mictorino.it Windows Embedded Courses Corsi mensili (hands on labs) su: Windows Embedded Standard; Windows Embedded Compact; Microsoft.NET Framework, Compact FW, μ-fw, WPF, ecc...) Windows Azure;
Partners
Embedded? Ogni dispositivo elettronico che contiene un computer al suo interno. L utilizzatore del dispositivo spesso ignora la presenza del computer. Il computer è utilizzato principalmente per dare flessibilità e/o semplicità d uso al dispositivo. Il dispositivo è stato progettato per uno scopo preciso. Facciamo alcuni esempi
Strano ma vero! Prodotto: Sonicare Elite spazzolino da denti. Microprocessor: 8-bit Controllo computerizzato della velocità, del tempo e della ricarica.
Strano ma strano! Prodotto: NASA's Twin Mars Rovers. Microprocessor: Radiation Hardened 20Mhz PowerPC Photograph courtesy of NASA/JPL CALTECH
Non ci si pensa! Prodotto: qualsiasi Mouse, Keyboard o USB Device Microprocessor: 8-bit Microcontroller Prodotto: qualsiasi Disk Drive Microprocessor: Dual 32-bit Marvel ARM SOC & mixed signal DSP Prodotto: qualsiasi Printer Microprocessor: Intel, Motorola, or ARM 32-bit RISC
e ancora! Prodotto: Canon EOS 30D Digital Camera Microprocessor: DIGIC II Image Processor Prodotto: Orologio Microsoft s Smart Personal Object Technology (SPOT) Microprocessor: 32-bit ARM con Chip FM Radio
e l industria? Prodotto: Kuka Industrial Robot Arm Microprocessor: X86 OS: Windows CE OS & Others Kuka robot arms welding a Mercedes
il mercato Prodotto: Point-of-Sale (POS) Terminal Microprocessor: Intel X86 Celeron Prodotto: High End Systems DL2 Digital Media Server Microprocessor: X86 Prodotto: Dresser Wayne Ovation ix Gas Pump Microprocessor: Marvel Xscale (ARM)
Dispositivi portatili
L evoluzione nel mondo Embedded The New York Times
Importanza Il 98% delle CPU vendute sul mercato finiscono in sistemi embedded (soltanto il 2% per desktop e server). Generalmente in un alloggio ci sono una cinquantina di sistemi embedded. Lo stesso vale per un automobile di recente costruzione. Alla fine del 2009 si valutano in 14 Miliardi i dispositivi embedded connessi.
Obiettivi principali Affidabilità 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 O.S.? 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...
Microsoft Embedded Family Portable media Consumer Thin Client Entertainment Office Automation Medical Industrial Automation Telematics Robotics Kiosks Entertainment Industrial Automation ATM / Kiosk Thin Client Flexibility, Source Level Control, Multiple CPU Architectures Point of Service Dedicated servers Fixed Features, Express Development, Windows Desktop Compatibility
.NET MicroFramework Wearable Devices Health Monitoring Remote Controls Auxiliary Displays Sensor Networks Open Source Piccolo runtime.net per device embedded Dimensioni minime della piattaforma 250K RAM Non richiede MMU (Memory Management Unit) Lo sviluppo e il debug si eseguono in Visual Studio Tool Familiari Piena capacità di debug (device/emulatore) Si lavora in C# con un subset delle librerie.net Linguaggi familiari Utilizza codice e strutture dati affidabili Velocità di sviluppo e robustezza del codice managed Nessuna istruzione insicura Gestione della memoria via garbage collection Gestione delle Exception Set-top boxes
.NET MicroFramework Smart Mill & Brew Coffee Maker with MSN Direct Region Specific Weather For the first time, coffee and weather enthusiasts can get real-time, region specific, weather forecast information and the freshest brewed coffee. Whole beans to brewed coffee all automatically without the guesswork, mess or countertop clutter. The Smart Mill & Brew incorporates the MSN Direct service to receive regional weather information without the use of any outdoor sensors. Simply plug in the coffee maker and receive: Current conditions, Forecasted hi/low temperature, Sunrise and sunset information, Chance of precipitation, Ultraviolet (UV) index and Weather Alerts. http://www.amazon.com/melitta-me1msb-10-cup-programmable-coffeemaker/dp/b000hcucok/sr=8-2/qid=1158283968/ref=pd_bbs_2/002-5072980-6485622?ie=utf8&s=home-garden
Conferimento dei rifiuti nei Cassonetti Raccolta dei dati Trasferimento dei dati
Windows CE? Non é una versione di Windows 98, NT, 2000 o XP E il sistema operativo su cui si basano PocketPC, SmartPhone, Windows Mobile Windows Mobile 6.x è basato su CE 5.0 E un sistema operativo Hard Real Time e modulare (700 componenti) Pensato per sistemi embedded (no swap di memoria su disco: memoria limitata da quella fisica) Piattaforma Multiprocessore (X86, SH4, MIPS, ARM: necessita MMU) Il file system è molto simile ai sistemi UNIX: root unica, mount dei device con nome e non con lettere, RAM come ObjectStore, ecc... gira completamente in memoria Nessuna compatibilità binaria con la famiglia Windows (Xp, Vista, ecc..) Perché Windows?
Perché Windows Marketing: CE =Compact Edition. Tre Kernel: il primo, 3.0, 6.0 32bit, multitask, multithread, preemptive Platform Builder è un plug-in di Visual Studio 2005 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
Windows CE 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 Embedded CE 6.0 R3 Vs CE 7 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
Windows Mobile Windows Embedded Handheld Basato 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 -vs -Windows Mobile
OPEN - Light OPEN - Full (RFID Technology) RFID Tag reader/writer The Key to your identification solution 485 Communication line RFID Tag reader/writer Data Collector & Access Control Manager Access Control Application
Guitar Switch (Windows Embedded CE 6.0 R3) Multieffetto per chitarra Riproduttore di video lezioni Registratore audio su basi musicali Connessione a marketplace per scaricare nuovi effetti Pedale di controllo via GPIO
GraCE -.NETCF GUI Controls (Windows Embedded CE.NET & Mobile) Libreria di controlli custom (Button, Label, Charts, ) Supporto a Design-time.NET Compact Framework Compatibile Desktop.NET Semplice utilizzo
EASYROAD 3G Windows CE 5.0 Custom shell SMS Media Player Navigator Weather Info-traffic News Gesture Connection Manager
Windows Embedded Standard 7 E la versione a package di Windows 7 Ultimate Include le più recenti tecnologie di Windows 7 Client Permette la creazione personalizzata del sistema operativo per svariate soluzioni embedded. E stata disegnata per hardware X86 (32bit) e X64 (64bit) Windows Embedded Standard 7 é la versione successiva a Windows Embedded Standard 2009
Obiettivi del prodotto Compatibilità binaria con Windows 7 W.E.S. 7 = W7 + E / WDM / Win32 Standard Funzionalità estese di Windows 7 Minore ingombro su disco 500Mb il Core /1Gb TC / 4Gb completa (16Gb Windows 7) Modularità e compattezza Package, Distribution Share, Feature set, ecc.. Cambiamenti rispetto al passato Strumenti di sviluppo Creazione dell immagine Funzionalità embedded
Strumenti di sviluppo Image Builder Wizard (IBW) Image Configuration Editor (ICE) Target Analyzer (TAP) Tool aggiuntivi per la distribuzione e l aggiornamento Deployment Image Servicing and Management (DISM) ImageX Sysprep Package Manager, Package Scanner Importpackage Ecc..
deploy Creazione dell immagine Development Host Target Device IBW unattended cab OS image cab core ICE core Sysprep ImageX DISM wim cab IBW core OS image
Funzionalità Embedded (EEF = Embedded Enabling Features) Boot da supporti di massa aggiuntivi (USB 2.0, CF, Ecc..) Tecnologia di filtri sulla scrittura EWF (Enhanced Write Filter) FBWF (File Based Write Filter) Registry Filter (HORM) Hibernate Once, Resume Many Funzionamento senza schermo (Headless Operation) Message Box Default Reply / Dialog Box Filter Possibilità di personalizzare il sistema Ecc..
Ambo! Web (Windows Xp Embedded) www.ipmgroup.eu Ambo! Web WEB functionality Web site addressed by alphanumeric keyboard typing Web cam available as option Full Web page in the screen or 4 sections zoom in Contemporary Phone call and WEB surfing Voip Video & Audio Chat Search & Information News & Email SMS & MMS more functionality Full VGA Display 5 for WEB surfing Track ball & two functional buttons for activities in the WEB page (like mouse) Web surfing paid by Coins, Prepaid and Reloadable Cards
www.digisky.it SkyEFIS Electronic Flight Information System (Windows Embedded Standard 2009)
Phome (Windows Embedded Standard) Telefonate Sistema embedded per SMS telecomunicazioni di E-Mail nuova generazione Internet Chat In un e Instant prossimo Messaging futuro potrebbe Social sostituire Networks il telefono VoIP delle nostre case Altre funzioni: Rende accessibili a Cornice digitale tutta la famiglia i Audio/Video Player moderni mezzi di Widgets di terze parti comunicazione Text-To-Speech Admin Shell
Windows Embedded Standard vs Windows CE Soltanto X86 (2009) x86/64 (7) CPU Gestite x86, MIPS, SHx, ARM Compatibilità completa: per le API e per i driver Compatibilità WIN32 Richiede comunque un porting Immagine minima ( Hello World ) 8MB (2009) 420MB (7) Dimensione (Footprint) Immagine minima di 350KB Richiede delle estensioni di terze parti Real-time Hardware Real Time Nativo
Strumenti di sviluppo Micro FrameWork Application Platform Builder Smart Device project IBW ICE TAP & Tools MFW.NET C++ C++.NET XAML Native.NET XAML Application OS+CRL Application OS Application OS MFC, ATL MFC, ATL
Software in valutazione Per saperne di più www.microsoft.com/windows/embedded/eval/trial.mspx Guardate i siti ufficiali Microsoft http://www.microsoft.com/windowsembedded http://www.microsoft.com/windowsembedded/it-it/default.mspx www.mictorino.it www.netfw.com Per cercare i Windows Embedded Partner o per diventarlo: http://www.windowsembeddedpartner.com/ Blogs In inglese Mike Hall s embedded blog blogs.msdn.com/mikehall Oliver Bloch s embedded blog blogs.msdn.com/obloch Windows Embedded Standard Team blogs.msdn.com/embedded Blogs bilingue (italiano ed inglese) Marco Bodoira marcobodoira.blogspot.com Beppe Platania blog.bepseng.it Gianni Rosa Gallina embeddedlounge.blogspot.com
Beppe Platania beppe.platania@bepseng.it blog.bepseng.it Grazie dell attenzione