net microframework historique & état des lieux architecture a lintérieur du microframework...

22

Upload: clairene-lelievre

Post on 03-Apr-2015

103 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: NET MicroFramework Historique & état des lieux Architecture A lintérieur du MicroFramework Demo: Sumo Robot.NET MicroFramework
Page 2: NET MicroFramework Historique & état des lieux Architecture A lintérieur du MicroFramework Demo: Sumo Robot.NET MicroFramework

.NET MicroFramework.NET MicroFramework

Page 3: NET MicroFramework Historique & état des lieux Architecture A lintérieur du MicroFramework Demo: Sumo Robot.NET MicroFramework

Historique & état des lieuxHistorique & état des lieux

ArchitectureArchitecture

A l’intérieur du MicroFrameworkA l’intérieur du MicroFramework

Demo: Sumo RobotDemo: Sumo Robot

.NET MicroFramework.NET MicroFramework

Page 4: NET MicroFramework Historique & état des lieux Architecture A lintérieur du MicroFramework Demo: Sumo Robot.NET MicroFramework

HistoriqueHistorique

2001 : Début de SPOT chez Microsoft ResearchProduits déja lancés:

Smart Watches (2004)

Microsoft TV (2005) (maintenant sous CE)

En cours de lancement :Microsoft Windows Vista SideShow

2001 : Début de SPOT chez Microsoft ResearchProduits déja lancés:

Smart Watches (2004)

Microsoft TV (2005) (maintenant sous CE)

En cours de lancement :Microsoft Windows Vista SideShow

Page 5: NET MicroFramework Historique & état des lieux Architecture A lintérieur du MicroFramework Demo: Sumo Robot.NET MicroFramework

MotivationCe que propose Microsoft aujourd’huiMotivationCe que propose Microsoft aujourd’hui

GeneralMicrosoft Windows XP Embedded Microsoft Windows CE

DérivésMicrosoft Windows Automotive 5.0Microsoft Windows Embedded for Point of Service

Taille de Windows CELe noyau de CE est > 600Ko selons les optionsWindows CE + .NET Compact Framework (CF)= 12MoWindows CE a besoin d’une MMU

GeneralMicrosoft Windows XP Embedded Microsoft Windows CE

DérivésMicrosoft Windows Automotive 5.0Microsoft Windows Embedded for Point of Service

Taille de Windows CELe noyau de CE est > 600Ko selons les optionsWindows CE + .NET Compact Framework (CF)= 12MoWindows CE a besoin d’une MMU

Page 6: NET MicroFramework Historique & état des lieux Architecture A lintérieur du MicroFramework Demo: Sumo Robot.NET MicroFramework

S’ouvrir sur d’autres périphériquesS’ouvrir sur d’autres périphériquesS’ouvrir sur d’autres périphériquesS’ouvrir sur d’autres périphériques

.NET Micro Framework.NET Micro Framework

Set-top Set-top boxesboxes

Windows CEWindows CE Windows XP EmbeddedWindows XP Embedded

Fonctionnalités croissantesFonctionnalités croissantes

Health MonitoringHealth Monitoring

WearableWearableDevicesDevices

AuxiliaryAuxiliaryDisplaysDisplays

Remote Remote ControlsControls

Windows Windows MobileMobile

SmartphoneSmartphone

Windows Windows MobileMobile

Pocket PC Pocket PC PhonePhone

WindowsWindowsAutomotivAutomotiv

ee

Portable Portable Media Media CenterCenter

VoIP phonesVoIP phonesMobileMobile

handheldshandhelds

GatewayGatewayss

Retail Retail Point-of-Point-of-

SaleSale

Windows-Windows-based based

terminalsterminals

Medical Medical devicesdevices

Entertainment Entertainment devicesdevices

Page 7: NET MicroFramework Historique & état des lieux Architecture A lintérieur du MicroFramework Demo: Sumo Robot.NET MicroFramework

ArchitecturePhilosophie et butsArchitecturePhilosophie et buts

Bootable .NETBénéfices du code managé, proche du hard

Créer la plus petite plateforme compatible .Net pour les périphériques ayant peu de ressources (CPU, mémoire, alimentation)

CompromisEmpreinte mémoire réduite, options de boot avancées et BSPCLR runtime (engine, type system, GC)Librairies essentielles (mscorlib, graphics, HW, Net)Librairies sous forme de composants pour étendre des périphériques particuliers

Bootable .NETBénéfices du code managé, proche du hard

Créer la plus petite plateforme compatible .Net pour les périphériques ayant peu de ressources (CPU, mémoire, alimentation)

CompromisEmpreinte mémoire réduite, options de boot avancées et BSPCLR runtime (engine, type system, GC)Librairies essentielles (mscorlib, graphics, HW, Net)Librairies sous forme de composants pour étendre des périphériques particuliers

Page 8: NET MicroFramework Historique & état des lieux Architecture A lintérieur du MicroFramework Demo: Sumo Robot.NET MicroFramework

ArchitectureArchitecture

Page 9: NET MicroFramework Historique & état des lieux Architecture A lintérieur du MicroFramework Demo: Sumo Robot.NET MicroFramework

A l’intérieur du MicroFrameworkA l’intérieur du MicroFramework

Chipsets supportésARM

ARM7TDMI, 25Mhz, 384Kb RAM, 1/2Mb FLASH, 8Kb D/I cacheARM920T, 96Mhz, 4Mb RAM, 2Mb FLASH, 16Kb D/I cacheARM Cortex M3 (en cours de développement)

Plateformes supportées (en tant qu’hôte pour le CLR)

M68kWin XP

Porter vers un nouveau hardware~80-100 fonctions

Porter vers une nouvelle plateforme~20-30 fonctions

Un kit pour porter le microframework vers un nouveau hardware est disponible

Chipsets supportésARM

ARM7TDMI, 25Mhz, 384Kb RAM, 1/2Mb FLASH, 8Kb D/I cacheARM920T, 96Mhz, 4Mb RAM, 2Mb FLASH, 16Kb D/I cacheARM Cortex M3 (en cours de développement)

Plateformes supportées (en tant qu’hôte pour le CLR)

M68kWin XP

Porter vers un nouveau hardware~80-100 fonctions

Porter vers une nouvelle plateforme~20-30 fonctions

Un kit pour porter le microframework vers un nouveau hardware est disponible

Page 10: NET MicroFramework Historique & état des lieux Architecture A lintérieur du MicroFramework Demo: Sumo Robot.NET MicroFramework

A l’intérieur du MicroFrameworkHAL + PALA l’intérieur du MicroFrameworkHAL + PAL

Conçus pour .NET MicroFrameworkBootstrapAbstraction du matérielMécanisme de report d’appel de procédure ( Deferred Procedure Call (DPC) )

Priorités des appels de fonctionGestion des appels asynchrones ( entrées/sorties)Forme de multitâche coopératif

SimpleNi scheduler ou gestion de mémoireBlocage minimum (seulement les ISRs)Seul le CLR est exécuté

Conçus pour .NET MicroFrameworkBootstrapAbstraction du matérielMécanisme de report d’appel de procédure ( Deferred Procedure Call (DPC) )

Priorités des appels de fonctionGestion des appels asynchrones ( entrées/sorties)Forme de multitâche coopératif

SimpleNi scheduler ou gestion de mémoireBlocage minimum (seulement les ISRs)Seul le CLR est exécuté

Page 11: NET MicroFramework Historique & état des lieux Architecture A lintérieur du MicroFramework Demo: Sumo Robot.NET MicroFramework

A l’intérieur du MicroFramework

HAL + PAL

A l’intérieur du MicroFramework

HAL + PAL

Petit40Ko (avec les drivers principaux)

Execution du CLRDirectement sur le HW (via HAL)

ou

En tant que tâche d’un RTOS (via PAL)

Petit40Ko (avec les drivers principaux)

Execution du CLRDirectement sur le HW (via HAL)

ou

En tant que tâche d’un RTOS (via PAL)

Page 12: NET MicroFramework Historique & état des lieux Architecture A lintérieur du MicroFramework Demo: Sumo Robot.NET MicroFramework

A l’intérieur du MicroFramework

Common Language Runtime (CLR)

A l’intérieur du MicroFramework

Common Language Runtime (CLR)

Dérivé du standard ECMA (CLI)CLS/CTS/VES

Aucun appel unsafe

Quelques extensions spécifiques à l’environnement embarqué

Taille très réduiteruntime + framework library: ~200 KB

<500KB toutes options (UI, XML, …)

Dérivé du standard ECMA (CLI)CLS/CTS/VES

Aucun appel unsafe

Quelques extensions spécifiques à l’environnement embarqué

Taille très réduiteruntime + framework library: ~200 KB

<500KB toutes options (UI, XML, …)

Page 13: NET MicroFramework Historique & état des lieux Architecture A lintérieur du MicroFramework Demo: Sumo Robot.NET MicroFramework

A l’intérieur du MicroFramework

Common Language Runtime (CLR)

A l’intérieur du MicroFramework

Common Language Runtime (CLR)Gestion mémoireGarbage collectorMark-and-sweep, non-incrementalSupport pour de la mémoire non-volatileOptimisé pour le ratio size/performance

Moteur d’executionCharge et exécute le code managé (MSIL)MSIL interprété

Execution avec une faible granularitéCode plus petit

Multi-threadéGestion des exceptions

Gestion mémoireGarbage collectorMark-and-sweep, non-incrementalSupport pour de la mémoire non-volatileOptimisé pour le ratio size/performance

Moteur d’executionCharge et exécute le code managé (MSIL)MSIL interprété

Execution avec une faible granularitéCode plus petit

Multi-threadéGestion des exceptions

Page 14: NET MicroFramework Historique & état des lieux Architecture A lintérieur du MicroFramework Demo: Sumo Robot.NET MicroFramework

A l’intérieur du MicroFramework

Common Language Runtime (CLR)

A l’intérieur du MicroFramework

Common Language Runtime (CLR)

Moteur de sérialisationOptimisé pour la mémoire non-volatile

RPCCommunication bi-directionnelle

Au travers de différents types de liens (Bluetooth, USB,…)

SécuritéXTEA (symmetric)

RSA (asymmetric)

Moteur de sérialisationOptimisé pour la mémoire non-volatile

RPCCommunication bi-directionnelle

Au travers de différents types de liens (Bluetooth, USB,…)

SécuritéXTEA (symmetric)

RSA (asymmetric)

Page 15: NET MicroFramework Historique & état des lieux Architecture A lintérieur du MicroFramework Demo: Sumo Robot.NET MicroFramework

A l’intérieur du MicroFramework

Common Language Runtime (CLR)

A l’intérieur du MicroFramework

Common Language Runtime (CLR)

RéseauDrivers 802.15.4 (Chipcon cc2420) et BT (Promi-SD)

Bientôt une stack TCP/IP (System.Net.Sockets)

Drivers managésGPIO, PWM, VTU32, I2C, SPI, USART

RéseauDrivers 802.15.4 (Chipcon cc2420) et BT (Promi-SD)

Bientôt une stack TCP/IP (System.Net.Sockets)

Drivers managésGPIO, PWM, VTU32, I2C, SPI, USART

Page 16: NET MicroFramework Historique & état des lieux Architecture A lintérieur du MicroFramework Demo: Sumo Robot.NET MicroFramework

System.WebSystem.Web System.Windows.FormsSystem.Windows.Forms

System.DataSystem.Data System.XMLSystem.XML

SystemSystem

• ServicesServices•DescriptionDescription•DiscoveryDiscovery•ProtocolsProtocols

•UIUI•HTML controlsHTML controls•Web controlsWeb controls

•RuntimeRuntime• Interop servicesInterop services•RemotingRemoting•SerializationSerialization

DesignDesign

ConfigurationConfiguration

CacheCache

Session stateSession state

SecuritySecurity

ImagingImaging

Drawing 2DDrawing 2D

TextText

PrintingPrinting

DesignDesign

ADO.NETADO.NET

SQL ServerCESQL ServerCE

SQL ClientSQL Client

Xslt/XPathXslt/XPath

XML DocumentXML Document

Reader/writersReader/writers

SerializationSerialization

Service processService process

ConfigurationConfiguration

ThreadingThreading

DiagnosticsDiagnostics

NetNet

IOIO

ResourcesResources

ReflectionReflection

SecuritySecurity

CollectionsCollections

GlobalizationGlobalization

TextText

Component Component modelmodel

.NET Framework.NET Framework

System.DrawingSystem.Drawing

Page 17: NET MicroFramework Historique & état des lieux Architecture A lintérieur du MicroFramework Demo: Sumo Robot.NET MicroFramework

System.WebSystem.Web System.Windows.FormsSystem.Windows.Forms

System.DataSystem.Data System.XMLSystem.XML

SystemSystem

• ServicesServices•DescriptionDescription•DiscoveryDiscovery•ProtocolsProtocols

•UI•HTML controls•Web controls

•Runtime•Interop services•Remoting•Serialization

DesignDesign

Configuration

Cache

Session state

SecuritySecurity

Imaging

Drawing 2DDrawing 2D

TextText

Printing

Design

ADO.NETADO.NET

SQL ServerCESQL ServerCE

SQL ClientSQL Client

Xslt/XPath

XML DocumentXML Document

Reader/writersReader/writers

Serialization

Service process

Configuration

ThreadingThreading

DiagnosticsDiagnostics

NetNet

IOIO

ResourcesResources

ReflectionReflection

SecuritySecurity

CollectionsCollections

GlobalizationGlobalization

TextText

Component Component modelmodel

.NET Compact Framework.NET Compact Framework

System.DrawingSystem.Drawing

Page 18: NET MicroFramework Historique & état des lieux Architecture A lintérieur du MicroFramework Demo: Sumo Robot.NET MicroFramework

System.WebSystem.Web System.Windows.FormsSystem.Windows.Forms

System.DataSystem.Data System.XMLSystem.XML

SystemSystem

• Services•Description•Discovery•Protocols

•UI•HTML controls•Web controls

Design

Configuration

Cache

Session state

Security

Imaging

Drawing 2D

Text

Printing

Design

ADO.NET

SQL ServerCE

SQL Client

Xslt/XPath

XML DocumentXML Document

Reader/writers

Serialization

Service process

Configuration

ThreadingThreading

DiagnosticsDiagnostics

NetNet

IOIO

ResourcesResources

ReflectionReflection

Security

CollectionsCollections

GlobalizationGlobalization

Text

Component model

.NET MicroFramework.NET MicroFramework

• Interop servicesInterop services

• RuntimeRuntime

•Serialization

•RemotingRemoting

System.DrawingSystem.Drawing

Page 19: NET MicroFramework Historique & état des lieux Architecture A lintérieur du MicroFramework Demo: Sumo Robot.NET MicroFramework

A l’intérieur du MicroFramework UI/Shell

A l’intérieur du MicroFramework UI/Shell

Basé sur WPFPolicesImagesPrimitives vectoriellesTransparence (couche alpha)

Applicable sur toutes les primitives

Basé sur WPFPolicesImagesPrimitives vectoriellesTransparence (couche alpha)

Applicable sur toutes les primitives

Page 20: NET MicroFramework Historique & état des lieux Architecture A lintérieur du MicroFramework Demo: Sumo Robot.NET MicroFramework

Outil de développementOutil de développement

Microsoft Visual Studio 2005Nouveau projet : Microframework

Déploiement vers un périphérique ou l’émulateur

Debug dans VS IDEBreakpoints

Memory inspection

Tracing

Emulateur extensible

Microsoft Visual Studio 2005Nouveau projet : Microframework

Déploiement vers un périphérique ou l’émulateur

Debug dans VS IDEBreakpoints

Memory inspection

Tracing

Emulateur extensible

Page 21: NET MicroFramework Historique & état des lieux Architecture A lintérieur du MicroFramework Demo: Sumo Robot.NET MicroFramework

Sumo RobotSumo Robot

Page 22: NET MicroFramework Historique & état des lieux Architecture A lintérieur du MicroFramework Demo: Sumo Robot.NET MicroFramework

LiensLiens

Le site consacré au MicroFrameworkwww.aboutNetMF.com

Le site des développeurshttp://msdn.microsoft.com/mobility/wiki