+ All Categories
Home > Documents > Qu'est-ce que Windows Embedded ? BackgroundArchitectureLibrairiesFontionnalitésDétailsQ&A.

Qu'est-ce que Windows Embedded ? BackgroundArchitectureLibrairiesFontionnalitésDétailsQ&A.

Date post: 03-Apr-2015
Category:
Upload: leontine-lallemand
View: 106 times
Download: 0 times
Share this document with a friend
35
Olivier Bloch Relations techniques Mobilité et Systèmes Embarqués [email protected] Microsoft France .NET Microframework
Transcript
Page 1: Qu'est-ce que Windows Embedded ? BackgroundArchitectureLibrairiesFontionnalitésDétailsQ&A.

Olivier BlochRelations techniques Mobilité et Systèmes Embarqué[email protected] France

.NET Microframework

Page 2: Qu'est-ce que Windows Embedded ? BackgroundArchitectureLibrairiesFontionnalitésDétailsQ&A.

Sommaire

Qu'est-ce que Windows Embedded ?BackgroundArchitectureLibrairiesFontionnalitésDétailsQ&A

Page 3: Qu'est-ce que Windows Embedded ? BackgroundArchitectureLibrairiesFontionnalitésDétailsQ&A.

Un monde de périphériquesPC

Web services

ProductivitéCommunicati

onLoisirs

Communications Multimédia

Industrie et Distribution

Commerce

Santé

Page 4: Qu'est-ce que Windows Embedded ? BackgroundArchitectureLibrairiesFontionnalitésDétailsQ&A.

De + en + de fonctionnalités sur des devices de + en + miniaturisés

SmartphonesWindows Mobile

Fonctionnalité

Tablet PC

PDAsWindows Mobile

PC portables

Windows Automotive

Portable Media Centre

VoIP Phones

TerminauxMobiles

PasserellesSet-top Boxes

Equipements médicauxTerminaux

Windows

Clients légers

Machines à sous

Point de venteAutomatisationbureautique

ATMs / Kiosks

Automatisatio

industrielle

Set-top Box

Périphériquesportables

Ecranssecondaires

Télécommandes

Composants réseaux

Ressou

rces

Hard

ware

Page 5: Qu'est-ce que Windows Embedded ? BackgroundArchitectureLibrairiesFontionnalitésDétailsQ&A.

Qu‘est-ce que Windows Embedded?

Page 6: Qu'est-ce que Windows Embedded ? BackgroundArchitectureLibrairiesFontionnalitésDétailsQ&A.

.NET MicroFramework : Le Challenge

Développer efficacement des périphériques trop "petits" pour Windows CE or XP Embedded

De plus en plus de "petits" terminauxHealthcareAutomatisation industrielle et domestiqueRetail Sensor networksBeaucoup de solutions "end-to-end" comprennent de "petits" terminaux

Mais…Compétences spécialiséesOutilsModèle de développementCode natif

Page 7: Qu'est-ce que Windows Embedded ? BackgroundArchitectureLibrairiesFontionnalitésDétailsQ&A.

Etendre la plateforme MS Embedded

Set-top boxes

Windows CE Windows XP Embedded

Windows Mobile

Smartphone

Windows Mobile

Pocket PC Phone

WindowsAutomotiv

e

Portable Media Center

Téléphones VoIP

Terminaux mobiles

Passerelles

Point de vente

Terminaux Windows

Equipements médicaux

Machines à sous

.NET Micro Framework

Surveillance médicale

Terminaux "portables

"

Ecrans secondair

es

Télécommandes

Equipements connectés

De + en + de fonctionnalité

De – en – de resources Hardware

Page 8: Qu'est-ce que Windows Embedded ? BackgroundArchitectureLibrairiesFontionnalitésDétailsQ&A.

Le Microsoft .NET Micro Framework

Extension de.NET à des terminaux plus petitsPetit runtime .NET pour terminaux embarqués

Empreinte de la plateforme – 256K RAMPas de MMU nécessaire

Developpement et debug avec Visual StudioOutils familiersDebug croisé et sur émulateur

Utilisation de C# et d'un sous-ensemble de librairies .NETCodage familierUtilisation des structures de code et de données

Rapidité de développement et robustesse du code managedPas d'instruction unsafeGestion de la mémoire/Garbage collectionGestionnaire d'exception

Page 9: Qu'est-ce que Windows Embedded ? BackgroundArchitectureLibrairiesFontionnalitésDétailsQ&A.

.NET Micro Framework Windows CE Windows

XPe

ExemplesSensor Nodes, SideShow displays, Health Monitoring, Remote Controls,

GPS Handhelds, PDAs, Automotive, Set Top Boxes

Clients légers, ATMs,Kiosques

Fonctionnalités Connecté, Petit, "portable", IHM Graphique

Connecté, IHM Graphique, Serveur, Browser, RAS, DirectX

PC-class performance,Réseau PC

Taille de l'empreinte

200-400KoCode managed compris

300Ko+ sans .NET CF12Mo+ avec .NET CF

40Mo +

Alimentation Très faible consommation Faible consommation Alimentation PC

CPU ARM7, ARM9 Pas de MMU

X86, MIPS, SH4, ARM, avec MMU X86

Temps réel Non temps réel Temps réel durPossibilité de temps réel avec des extensions tierce parties

Code managed vs. natif

Natif : interop uniquement,Managed : .NET MF

Natif : supporté de base,Managed : .NET CF

Natif : supporté de base,Managed : .NET Framework

Choisir une plateforme embarquée

Page 10: Qu'est-ce que Windows Embedded ? BackgroundArchitectureLibrairiesFontionnalitésDétailsQ&A.

Technologie Microsoft Research

Construit pour des projets internesL'incubation de Smart Personal Objects Technology (SPOT) Débute en 2001 chez Microsoft ResearchContruction d'une “TinyCLR” pour SPOTPlatform embarquée dans :

Smart Watches avec MSN Direct (2004)Microsoft TV (2005)MEDC Sumo Robot Kit (2006)

A venir très prochainement :Microsoft Windows Vista Sideshow (2007)

Autres projets internes/externes

Page 11: Qu'est-ce que Windows Embedded ? BackgroundArchitectureLibrairiesFontionnalitésDétailsQ&A.

Windows Sideshow

Page 12: Qu'est-ce que Windows Embedded ? BackgroundArchitectureLibrairiesFontionnalitésDétailsQ&A.

Autres projets

Page 13: Qu'est-ce que Windows Embedded ? BackgroundArchitectureLibrairiesFontionnalitésDétailsQ&A.

Outils

Microsoft Visual Studio 2005Projet système/templatesPost-build processingIntellisenseDeploiement sur cible (USB/série) ou emulateurDebug "interactif" depuis l'IDE

Points d'arrêtsEspion VariablesTraces

Emulateur extensiblePersonnalisable pour correspondre à votre configuration hardware et à vos périphériques

Page 14: Qu'est-ce que Windows Embedded ? BackgroundArchitectureLibrairiesFontionnalitésDétailsQ&A.

Développer avec le .NET Microframework

Démo Création d'une application Utilisation de l'émulateur

Page 15: Qu'est-ce que Windows Embedded ? BackgroundArchitectureLibrairiesFontionnalitésDétailsQ&A.

Architecture

Objectifs.NET bootable

Cœur natif minimalisteEspace applicatif entièrement managed

SûrAucun accès direct aux ressources physiques

SécuriséAssemblies signées uniquement

ExtensiblePortable

Page 16: Qu'est-ce que Windows Embedded ? BackgroundArchitectureLibrairiesFontionnalitésDétailsQ&A.

Architecture

Page 17: Qu'est-ce que Windows Embedded ? BackgroundArchitectureLibrairiesFontionnalitésDétailsQ&A.

Cibles

Chipsets supportés à ce jour (runtime bootable)ARM7TDMI @ 27MHz (384K RAM, 1M Flash)ARM7TDMI @ 50MHz (4M RAM, 2M Flash)ARM920T @ 96MHz (4M RAM, 2M Flash)ARM Cortex M3 (under development)And more…

Plateformes suportées à ce jour (runtime "hosté")Dual ARM7TDMI @ 100MHz (32M RAM, 1G Flash)Windows XP (x86)Motorola 68k

Portage sur de nouvelles ciblesPorting to new hardware: 80-100 APIsPorting to new platform: 20-40 APIs

Page 18: Qu'est-ce que Windows Embedded ? BackgroundArchitectureLibrairiesFontionnalitésDétailsQ&A.

.NET FrameworkSystem.Web System.Windows.Forms

System.Data System.XML

System

Services• Description• Discovery• Protocols

UI• HTML controls• Web controls

Runtime• Interop services• Remoting• Serialization

Design

Configuration

Cache

Session state

Security

Imaging

Drawing 2D

Text

Printing

Design

ADO.NET

SQL ServerCE

SQL Client

Xslt/XPath

XML Document

Reader/writers

Serialization

Service process

Configuration

Threading

Diagnostics

Net

IO

Resources

Reflection

Security

Collections

Globalization

Text

Component model

System.Drawing

Page 19: Qu'est-ce que Windows Embedded ? BackgroundArchitectureLibrairiesFontionnalitésDétailsQ&A.

.NET Compact FrameworkSystem.Web System.Windows.Forms

System.Data System.XML

System

Services• Description• Discovery• Protocols

UI• HTML controls• Web controls

Runtime• Interop services• Remoting• Serialization

Design

Configuration

Cache

Session state

Security

Imaging

Drawing 2D

Text

Printing

Design

ADO.NET

SQL ServerCE

SQL Client

Xslt/XPath

XML Document

Reader/writers

Serialization

Service process

Configuration

Threading

Diagnostics

Net

IO

Resources

Reflection

Security

Collections

Globalization

Text

Component model

System.Drawing

Page 20: Qu'est-ce que Windows Embedded ? BackgroundArchitectureLibrairiesFontionnalitésDétailsQ&A.

.NET Micro FrameworkSystem.Web System.Windows.Forms

System.Data System.XML

System

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 Document

Reader/writers

Serialization

Service process

Configuration

Threading

Diagnostics

Net

IO

Resources

Reflection

Security

Collections

Globalization

Text

Component model

• Interop services

Runtime

• Serialization

• Remoting

System.Drawing

Page 21: Qu'est-ce que Windows Embedded ? BackgroundArchitectureLibrairiesFontionnalitésDétailsQ&A.

Composantes du Runtime

Common Language Specification (CLS) compliant

Possibilité d'utiliser les librairies avec différents langages

Sous-ensembles de librairies "core"Dérivant de l'infrastructure Common Language Infrastructure (CLI) v1.0Supporte l'exécution Common Intermediate Language (CIL)

Page 22: Qu'est-ce que Windows Embedded ? BackgroundArchitectureLibrairiesFontionnalitésDétailsQ&A.

Composantes du Runtime

Multi-threading et synchronisation

Timers

using System.Threading;…Thread myThread = new Thread(new ThreadStart(this.MyWorkerThread));myThread.Priority = ThreadPriority.AboveNormal;myThread.Start();

using System.Threading;…Timer myTimer = new Timer( new TimerCallback(this.MyTimerCallback), null, 10, 100));…

Page 23: Qu'est-ce que Windows Embedded ? BackgroundArchitectureLibrairiesFontionnalitésDétailsQ&A.

Composantes du Runtime

Serialization~60% plus petit que.NET Framework

ReflectionRemote Procedure Call (RPC)

Invoque les méthodes d'objets distantsImplémentation spécifique au.NET Micro Framework

SecuritéXTEA (symétrique)RSA (asymétrique)

Gestion d'ExceptionDelegates / multicast delegates

Pointeurs de fonction typésPermet la programmation événementielle vs synchrone (polling)

Page 24: Qu'est-ce que Windows Embedded ? BackgroundArchitectureLibrairiesFontionnalitésDétailsQ&A.

Composantes du Runtime

RéseauSupport Ethernet avec/sans filSockets du namespace System.Net

Pilotes ManagedGPIO, PWM, I2C, SPI et USART en C#Interruptions GPIO transmises aux applications managed

Page 25: Qu'est-ce que Windows Embedded ? BackgroundArchitectureLibrairiesFontionnalitésDétailsQ&A.

Composantes du Runtimeusing System.Threading; using Microsoft.SPOT.Hardware;

…InterruptPort myButton = new InterruptPort(

(Cpu.Pin)12, true, Port.ResistorMode.PullUp, Port.InterruptMode.InterruptEdgeLow

);

MyButton.OnInterrupt +=new GPIOInterruptEventHandler( this.MyInterruptHandler );

…}

public void MyInterruptHandler(Cpu.Pin id, bool edge, TimeSpan time){ // handle the interrupt event here}

Page 26: Qu'est-ce que Windows Embedded ? BackgroundArchitectureLibrairiesFontionnalitésDétailsQ&A.

Composantes du Runtime

IHM/ShellModèle objet basé sur Windows Presentation Foundation (WPF)Routage des évènements d'entréeSystème Layout

Dimensionnement de contenuText flowSupport riche pour les contrôles imbriqués

Bitmap fontsImagesPens, brushes, colorsPrimitives "Vector"Alpha blending

Page 27: Qu'est-ce que Windows Embedded ? BackgroundArchitectureLibrairiesFontionnalitésDétailsQ&A.

Implémentation

Petite empreinte (ROM/FLASH) Runtime seul : ~120KoAvec min. framework: ~250KoAvec max. framework: ~500Ko

Peu de RAM requise~70Ko system overhead

Page 28: Qu'est-ce que Windows Embedded ? BackgroundArchitectureLibrairiesFontionnalitésDétailsQ&A.

Implémentation

Assembly loaderEffectue une validation minimale des assemblies post-processéesEnregistre les types avec le système de type commun

Intégré dans Visual Studio

L'interpréteur Microsoft Intermediate Language (MSIL)

Support pour toutes les instructions MSIL (sauf unsafe)Petite latence à l'éxécutionFournit un environnement d'éxécution purement virtuel

Page 29: Qu'est-ce que Windows Embedded ? BackgroundArchitectureLibrairiesFontionnalitésDétailsQ&A.

Implémentation

Moteur d'exécutionPas de scheduler natifGère des "work queues" nativesInvoque du code natif

Interoperabilité non traditionnelle

Garbage collectorNon-incremental mark-and-sweep

50ms pour 1Mo (dépendant du nombre d'objets)

Support pour le stockage non volatileFournit un mécanisme basique de persistance d'objet

Page 30: Qu'est-ce que Windows Embedded ? BackgroundArchitectureLibrairiesFontionnalitésDétailsQ&A.

Implémentation

HALBootstrap le runtimeMet à disposition une abstraction des ressources hardGère les interruptionsMultitâche asynchrone coopératif

Queue de "work items"

Compact~40Ko (avec les drivers de base)

Page 31: Qu'est-ce que Windows Embedded ? BackgroundArchitectureLibrairiesFontionnalitésDétailsQ&A.

Développer .NET MF pour une cible

Démo Création d'une application Upload sur la cible

Page 32: Qu'est-ce que Windows Embedded ? BackgroundArchitectureLibrairiesFontionnalitésDétailsQ&A.

Plus d'informations

Site MSDNhttp://msdn.microsoft.com/embedded/nemf/

Resources et infos Mobilité et Embarquéhttp://www.microsoft.com/france/msdn/mobilite/default.mspx

Evaluez les produits Windows Embeddedhttp://www.windowsembeddedkit.com/

Les partenaires Windows Embeddedhttp://www.mswep.com

Visite quotidienne ;-)http://blogs.msdn.com/obloch

Page 33: Qu'est-ce que Windows Embedded ? BackgroundArchitectureLibrairiesFontionnalitésDétailsQ&A.

La référence technique

pour les IT Pros :technet.microsoft.com

La référence technique

pour les développeurs :

msdn.microsoft.com

S’informer - Un portail d’informations, des événements, une newsletter bimensuelle personnalisée

Se former - Des webcasts, des articles techniques, des téléchargements, des forums pour échanger avec vos pairs

Bénéficier de services - Des cursus de formations et de certifications, des offres de support technique

Visual Studio 2005 +

Abonnement MSDN Premium

Abonnement TechNet Plus :

Versions d’éval + 2 incidents support

Page 34: Qu'est-ce que Windows Embedded ? BackgroundArchitectureLibrairiesFontionnalitésDétailsQ&A.

Questions ?

Page 35: Qu'est-ce que Windows Embedded ? BackgroundArchitectureLibrairiesFontionnalitésDétailsQ&A.

© 2007 Microsoft France

Votre potentiel, notre passion TM


Recommended