.NET Micro Framework
Autor: Petr Fiala
Klíčová slova: .NET Micro Framework
Související pojmy: .NET Framework, .NET Gadgeteer, Microsoft
nadřazené - .NET
podřazené - ---
Charakteristika
Microsoft .NET Micro Framefork je běhové prostředí platformy .NET pro malá zařízení s omezenými zdroji, která již nejsou vhodná pro Windows CE nebo .NET Compact Framework. Jedná se o open source platformu, která umožňuje tvorbu „embedded“ aplikací pomocí Visual Studia či C#. Ke svému běhu nevyžaduje žádný další operační systém, vystačí pouze se zmenšenou verzí prostředí CLR (Common Language Runtime) - TinyCLR. Vyznačuje se minimálními hardwarovými požadavky, a proto je vhodné i pro nejmenší zařízení (pomocné displeje, senzory, dálkové ovládání, zdravotnické přístroje, oblékatelná zařízení, domácí spotřebiče…). [1][3]
Historie
.NET Micro Framework historicky vychází z technologie SPOT (Smart Personal Object Technology), jejíž vývoj započal Microsoft v roce 2001 v rámci projektu Microsoft Research. Veřejnosti byla představena na podzim roku 2002 na veletrhu COMDEX v Las Vegas. V roce 2004 a 2005 firma Microsoft uvedla na trh chytré hodinky a TV set-top-box založené na technologii SPOT. Vývoj těchto produktů byl nicméně časem zrušen.
První verzi prostředí .NET Micro Framefork 1.0 spatřila veřejnost na konferenci MEDC (Mobile and Embedded Developer Conference) v roce 2006, kde bylo využito v emulátoru robota Sumo. Další významnější události už jen v bodech:
- Únor 2007 – představeno prostředí .NET Micro Framework 2.0 s nastavitelným emulátorem, později téhož roku k dispozici první ServicePack
- Únor 2008 – .NET Micro Framework 2.5
- Říjen 2008 – .NET Micro Framework 3.0
- 16. Listopadu 2009 vychází .NET Micro Framework verze 4.0, Microsoft zároveň uvolňuje i zdrojový kód pod licencí Apache 2.0, čímž se projekt stává Open source.
- Aktuální stabilní verze je .NET Micro Framework verze 4.2 z 29. Srpna 2011. [1][3]
Minimální systémové požadavky
.NET Micro Framework v současnosti podporuje několik mikroprocesorů architektury ARM – ARM7 (s i bez MMU), ARM Cortex M3, ARM9, ADI BlackFin. Minimální požadavky na paměť jsou 300 kB RAM a 512 kB flash paměti, ke kterým je ještě nutné započítat paměť pro potřebu samotné aplikace. Zařízení by také mělo podporovat jednu z možnosti připojení (sériový port, USB, síťové připojení), aby bylo možné nahrání a ladění aplikace. Pro tvorbu aplikace je vyžadováno vývojové prostředí Microsoft Visual Studio. [1]
Funkce
Základní funkce dostupné pro všechna prostředí kompatibilní s .NET CLR:
- číselné typy, typy tříd, hodnotové typy, jednorozměrná pole, události, odkazy
- reflexe
- serializace
- dynamická alokace, defragmentace paměti, garbage collector
- spravování výjimek
- management vláken
Rozšířené funkce dostupné v .NET Micro Framework CLR, ale nedostupné v plné verzi Microsoft .NET CLR:
- Časové omezení doby provádění (prevence zablokování)
- Interní reprezentace řetězců v UTF-8 (vnější v Unicode)
- Hodnotové typy emulovány běhovým prostředím, nikoliv instancí první třídy (lepší optimalizace garbage collectoru a efektivnější využití paměti RAM)
- Globální sdílená string table pro nejběžnější hodnoty (typy, metody, pole) redukuje použití RAM/ROM a vyžaduje menší počet křížových odkazů
- Podpora záplatování, včetně záměn metod a odkazů, a nových typů
- Žádné virtuální tabulky pro vyhodnocování metod (úspora paměti)
- Priorita rozšířených odkazů v EEPROM a flash paměti
- Specializovaný garbage collector s automatickým data a storage managementem
- Upřednostňována samopopisná data před metadaty pro vyšší výkon garbage collectoru
- Volitelný serailizační engine
Funkce, které v prostředí .NET Micro Framework oproti standardnímu NET CLR chybí:
- Typy závislé na konkrétním zařízení, nebezpečné instrukce
- Symetrický multiprocessing
- Omezená funkcionalita knihovny MSCORLIB
- Multi-dimenzionální pole (sparse, jagged)
- Spravování výjimek přímo v kódu, procesorové pasti
- Podpora MMU [2]
Odkazy
.NET Micro Framework 4.1 SDK ke stažení
.NET Micro Framework 4.2 Runtime
Vývojářská komunita .NET Micro Framework
Použitá literatura
- KÜHNER, Jens. Expert .NET Micro Framework. 2nd ed. Berkeley, CA: Apress, 2009, 481 s. ISBN 978-143-0223-870.
- THOMPSON, Donald; MILLER, Colin. MICROSOFT. Introducing the .NET Micro Framework: Product Positioning and Technology White Paper. Redmond, 2007. Dostupné z WWW: <download.microsoft.com/download/a/9/c/a9cb2192-8429-474a-aa56-534fffb5f0f1/.NET Micro Framework White Paper.doc>
- .NET Micro Framework. Microsoft [online]. 2012 [cit. 2012-04-22]. Dostupné z WWW: <http://www.microsoft.com/en-us/netmf/about/default.aspx>