P AVEL B ÁNSKÝ P REMIER F IELD E NGINEER M ICROSOFT
Místo v rodině Windows Embedded Architektura Vlastnosti Práce s IO porty Ukládání dat Uživatelské rozhraní Sériové sběrnice MF Deploy Emulátor DPWS Obchodní model Otázky a případné odpovědi
Windows XP Embedded Nativní kód Řízený kód Kompletní.NET Framework 200+ MB Windows Embedded CE Nativní kód Řízený kód Compact Framework ~12 MB.NET Micro Framework Řízený kód ~512KB of Flash, ~300KB of RAM
Portable Media Center Windows Mobile Smartphone Nároky na funkce Windows Embedded CE Windows Mobile Pocket PC Phone „Oblékatelná“ zařízení.NET Micro Framework Windows XP Embedded Windows Automotive VoIP Telefony Mobilní zařízení Síťová zařízení Set-top Box Zdravotnické přístroje Windows terminály Pokladní systémy Zábavní zažízení Sensorové body Vista SideShow Zdravotnické přístroje Dálkové ov ládání Bezpečnost Nároky na prostředky Domácí spotřebiče
.NET Micro Framework Windows Embedded CE Windows XPe Vzorový produkt Sensorové body, SideShow, Monitoring, Dálkové ovladače, Robotika GPS navigace, PDA, Automotive, Set Top Boxy Tencí klienti, Bankomaty, Kiosky Vlastnosti produktu Malý, Připojený, Nositelný, Grafické UI Připojený, Grafické UI, Server, Prohlížeč, Vzdálený přistup, DirectX Výkon a konektivita PC Velikost Kb managed code 300Kb + native kernel podle požadavků 40Mb + podle požadavků Napájení Velmi nízká spotřebaNízká spotřebaBěžná spotřeba CPU ARM7, ARM9, Cortex No MMU X86, MIPS, SH4, ARM, nutné MMU X86 Real-time Soft Real-time v řízeném kódu Hard Real-time Real-time (s přidáním komponent třetí strany) Řízený X nativní Řízený Obojí, řízený kód vyžaduje Compact Framework Obojí, řízený kód vyžaduje.NET Framework
„Bootovatelný“.NET Výhody řízeného kódu blízko „železa“ Velmi podobné principy jako při vývoji pro desktop Nemusí být nutně pro všechny druhy aplikací Důraz na robustní vývojové prostředí, bezpečnost kódu Vysoký stupeň integrace s ostatnímy Microsoft produkty
Řízený kód Nativní kód Knihovny CLR PAL HAL OS nebo
Garbage Collector Just-In-Time kompilace Program je vždy interpretován Do budoucna bude k dispozici Ngen.exe Vlákna Priority, přerušování Přepínání po 20ms Časovače Pravidelné, jednorázové Znovunačasování až po obsluze předchozí události Try, Catch, Finally
String UTF-8 Reflection Serialization Sockets Resources Text BMP, GIF, Jpeg Font Flash paměť Využívá se algoritmu pro prodloužení životnosti
70 : 1450.Parse().TryParse() Vícerozměrná pole Generics
Microsoft Visual Studio 2005 projekty a vzory projektů instalace do zařízení (USB / serial / TCP/IP) interaktivní debugging Breakpoints Memory inspection Tracing rozšiřitelný emulátor.NET Micro Framework SDK Hardware
SideShow dev kit I.MXS (ARM920T) SDRAM 32 MB Flash 8 MB LCD 320x240 16x GPIO 1x UART 1x I 2 C 1x SPI USB
Meridian CPU I.MXS Freescale 100 MHz SDRAM 8 MB (32 MB) Flash 2 MB (4 MB) LCD Hitachi 240x320 16x GPIO 2x UART 1x SPI 1x I 2 C 1x PWM JTAG USB Vývojová deska Tahoe
Digi Connect ME ARM7 55 MHz SDRAM 8 MB Flash 2 MB 5x GPIO 1x UART 1x Ethernet 10/100 Vývojová deska
Embedded Master AMR7 72 MHz SDRAM 8 MB Flash 4.5 MB Graphics (SPI) 45x Digitální IO 14x Analogové IO 4x UART 1x SPI 1x I 2 C 2x PWM 2x CAN 1x Ethernet 10/100 Podpora SD Karet USB Host / Device FAT, Bluetooth, Myš, Klávesnice, Joystick atd.. Vývojová deska
EDK / EDK Plus iPAC 9302 ARM9 200 MHz SDRAM 8 MB Flash 8 MB 16x GPIO 16x PLD 5V tolerantních 16x PLD výstupů 5x A/D 1x UART pro ladění 1x UART 1x SPI 2x PWM 2x USB 1x Ethernet Velmi kvalitní manuál
Microsoft.SPOT.Hardware.OutputPort ovládání výstupních pinů zapsaná hodnota lze přečíst Microsoft.SPOT.Hardware.InputPort čtení vstupních pinů pull-up, pull-down resistor Microsoft.SPOT.Hardware.TristatePort pro vstup i výstup na stejném pinu Microsoft.SPOT.Hardware.InterruptPort generuje událost při změně vstupu sledování hran filtr proti zákmitům
Microsoft.SPOT.ExtendedWeakReference odkaz na objekt uložený ve flash paměti c_SurviveBoot, c_SurvirPowerDown objekt musí být serializovatelný priorita uložených objektů Critical, Important, NiceToHave, OkayToThrowAway, System objekty identifikovány typem a číslem
Založeno na Windows Presentation Foundation Velikost grafických prvků podle obsau a rodiče výhoda pro lokalizaci Podpora více druhů písma bitmapové fonty (jednobarevné) Podpora bitmapových formátů bmp, gif, jpeg možnost načíst bajtové pole
UIElement Control Content Control BorderListBoxListBoxItemScrollViewerWindowImagePanelCanvas Window Manager StackPanelTextTextFlowShapeEllipseLinePolygonRectangle
PIN 1 PIN 2 Spouštěcí impuls 10 s Impuls úměrný vzálenosti 100 s – 25ms
Microsoft.SPOT.Hardware.SerialPort velmi podobný princip jako ve standardním.NET pouze metody Read a Write negenruje přerušení Microsoft.SPOT.Hardware.SPI sériová sběrnice pro více zařízení čtyři vodiče (data-in, data-out, clock, chip-select) chip select přes GPIO Microsoft.SPOT.Hardware.I2CDevice sériová sběrnice pro více zařízení dva vodiče (data, clock) adresovatelná zařizení
Adresy je třeba zadávat jako sedm bitů nejnižší bit reprezentuje operaci read / write Na I2CDevice je třeba nahlížet jako na celou sběrnici I2CTransaction[] kolekce operací pro komunikaci CreateWriteTransaction CreateReadTransaction Metoda Execute zpracuje transakci vrací počet bajtů zpracovaných při transakci
Modul kompasu CMPS03 adresa modulu 0x60 protokol shodný s eeprom 24C04XX nastavení adresy v paměti (0x02) čtení dat z vybrané adresy (dva bajty)
Nahrávání „firmware“ do zařízení Náhrávaní aplikace do zařízení Konfigurace sítě Konfigurace specifických nastavení zařízení Ping zařízení Programovatelné rozhraní
Vytvářené uživatelského rozhraní Konfigurace komponent Vytváření komponent Managed Application Emulator Emulator Component Custom Emulator Components Configuration Engine
Veřejná specifikace Vytvořeno společnostmi Intel, Lexmark, Ricoh Rozšiřitelný model Nezávislý na platformě Data jsou v XML (SOAP messages) Web Services for Devices (WSD) Synonymum pro DPWS Implementace DPWS od Microsoftu
DPWS vytvořeno pro.NET Micro Framework Vyvinuto v řízeném kódu Optimalizováno pro omezení run-time nároků na RAM Žádný DOM XMLReader Nástroje pro tvorbu kódu (ve vývoji) Podmnožina DPWS specifikace
Co je implementováno Většina věcí z DPWS 2/2004 specifikace Rozhlédnutí (Discovery) Probe, Match Výměna metadat Události Hello Bye Subscriptions Přílohy (Attachments) MTOM (Message Transmission Optimization Mechanism)
Co není obsaženo WS-Policy WS-Security DateTime typy nejsou podporovány pro Subscription Duration Renewal IPv6
MFWsStack.DLL Vše v řízeném kódu (C#) Základní služby a rozšiřitelné vlastnosti Vytváření vlastních DPWS profilů HTTP a UDP Service Endpoint SOAP message parsers Service dispatchers MTOM procesor XML Service
MFDpwsClient.DLL Třídy pro DPWS/WS* služby Pro klienty Discovery Události (Zapsání k odběru události) Vývojáři vytváří třídy poděděné z klientských tříd MFDPWS
MFDpwsDevice.DLL Framework pro vytváření zařízení (hostování služeb) Základní metody volané MFDPWS implementací Dispatching Requests Dispatching Events Ukládání actions a events
MFDPWSExtensions.dll Rozšíření Micro Frameworku nutné pro DPWS System.NET System.XML System.IO System.Net.Sockets
Poskytovatel řešení (ISV) Microsoft + Výrobce platormy Microsoft + Výrobce platormy Knihovny CLR PAL HAL OS nebo Microsoft + Výrobce platformy Microsoft + Výrobce platformy Microsoft + Výrobce platformy Microsoft + Výrobce platformy
.NET Micro Framework Technology Porting Agreement Získáva zdrojové kódy Kompletní dokumentace Vzorový port pro Freescale Podpora Licence USD Dotváří vrstvu PAL a HAL pro svou platformu Distribuční poplatek za každý kus zařízení
Microsoft Visual Studio 2005.NET Micro Framework SDK Ke stažení zdarma Hardware (platforma) SDK k platformě dodává výrobce Cena zahrnuje licenci za.NET Micro Framework Podpora Primárně zajišťuje výrobce hardware řešení problémů vývoj driverů úpravy PAL a HAL
Literatura Embedded Programming with the Microsoft®.NET Micro Framework Expert.NET Micro Framework Oficiální zdroje Micro Framework Newsletter Komunita Diskusní skupiny microsoft.public.dotnet.framework.microframework
© 2006 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.