Jeudi 4 janvier 2007
4
04
/01
/2007
12:59
Cet article ne s'étendra pas sur Windows Mobile qui est un Windows CE dédié aux SmartPhones. Au premier abord, CE, Xpe et POS se ressemblent beaucoup, puisque tous sont des systèmes d’exploitations qui ont été repensés pour les applications embarquées, tous arborent des interfaces de programmation semblables ( Win32, cpc, ATL, NET etc … ), et tous supportent les technologies classiques d’un système exploitation ( fichiers, réseau, navigateur Internet etc .. )
L'une des différences majeures entre CE et ses frères c'est l'empreinte mémoire qui est nettement plus petite : un OS CE de base sans fioritures plafonne à 500 Ko, dépendant toujours des composants qui ont été associés ; il faudra quand même compter avec une dizaine de Mo de RAM pour qu'il se sente à l'aise. Un routeur Wifi grand public, avec administration par navigateur web et sécurité réseau taille CE à 4 Mo environ. Un PDA simple avec navigateur web, lecteur médias, support .net, Windows explorer etc , nécessite une taille de noyau d'environ 18 Mo. Loin de donner des tailles exactes, ces exemples permettent de donner un ordre de grandeur suivant les applications. Voir aussi les spécifications générales Hardware pour une carte supportant CE - Standard Development Board ( SDB ).
Autre différence majeur entre CE et ses frères : CE est un vrai OS 32 bits qui ne supporte pas les applications MS-DOS et Windows 3.x. L'architecture est d'ailleurs complètement différente : les trois composants principaux d'un Windows desktop à savoir Kernel32, GDI32 et User32, n'existent pas sur CE, car ils sont remplacés par Coredll et GWES. Une application desktop ne tournera pas sur CE, il faudra au minimum recompiler l'application d'une part parce que les architectures sont différentes, mais aussi et surtout parce que les processeurs cibles peuvent être très différents ( x86 uniquement avec Xpe, ARM / MPIS / SH / x86 sous CE ).
De plus, les API de programmation diffèrent : l’API Win32 de CE est un peu dépréciée et dans quelques rares cas, les paramètres de certaines fonctions changent. Pour ce qui est du développement .NET, le Framework disponible sous CE est le Compact Framework plus petit et ne proposant pas autant de classes que son homologue du monde du PC (faute de place).
Enfin CE a été conçu pour être un OS « temps réel dur » avec un temps de latence aux interruptions de 10 µS ( temps mesuré avec une architecture ARM à 200 Mhz ) ce qui n'est pas si mal et permet de couvrir une grande majorité des besoins en la matière dans le monde industriel. De part cet aspect, son empreinte mémoire faible et sa diversité de cibles processeurs, CE semble être un choix judicieux pour toute application embarquée optimisée ( ressources système, coût, intégration etc .. ), tout en négligeant pas les options étoffées d'un bon OS ( connectivité, compatibilité, sécurité etc .. ) De plus de nombreuses cartes d’évaluation de CPUs sont vendus avec le support Windows CE sous la forme d’un Board Support Package ( BSP ) mettant à disposition les drivers et la couche d’adaptation de CE au hardware. Il ne reste plus qu’à développer les quelques drivers spécifiques à l’application développée, compiler le noyau, et développer l’applicatif à proprement parler, le tout avec Visual Studio 2005, et en bénéficiant de fonctionnalités telles que le debug croisé ou encore le profiling, …
Pour Windows CE ( à priori c’est le même prix pour la version 5.0 et 6.0 ) il faut compter 5 $ pour 1000 licences pour la version « CORE » et environ 15 $ pour 1000 licences pour la version « PRO » plus complète … A cela il faut ajouter l’outil Platform Builder ( 995 $ ) qui permet de construire le noyau Win CE en fonction des besoins de l’application : c’est un plugin de Visual Studio, ce dernier étant par ailleurs fourni avec le CD de Platform builder .
Contrairement à CE, Xpe ne supporte que des processeurs basés sur l’architecture x86 tels que la famille Celeron / Pentium d’Intel ou la famille K6 / Athlon / Duron d’AMD.
La configuration minimum recommandée serait basée sur un Pentium II ou équivalent 233 à 300 MHz minimum, 128 Mo de RAM ( 64 Mo possible mais limitation des performances et des caractéristiques ), mémoire Flash de 200 Mo et vidéo super VGA ( 800 x 600 ).
Cette limitation devient un avantage puisque au niveau du développement on a une plate-forme unifiée et donc une rapidité et une flexibilité formidable. Comme Xpe tourne sur une architecture x86 et donc sur une architecture de type PC Windows, cela signifie que n'importe quel programme sous Win 2000 ou XP sur PC peut tourner sur une application Xpe, sans modifications. D'ailleur Xpe est fourni avec des composants compatibles desktop PC, qui assurent la compatibilité avec les applications et les drivers.
Le développement d’un noyau XPe se fait avec un ensemble d’outils mettant à disposition une base de donnée de composants qu’il s’agit de sélectionner et de paramétrer dans un environnement graphique confortable. Parmi les outils en question, il en est qui permettent d’analyser une configuration hardware automatiquement pour constituer le projet contenant tous les composants nécessaires à sa bonne exploitation (affranchissant l’utilisateur d’un fastidieux travail).
Merci à Olivier pour sa participation à l'écriture de cet article - Le blog d'Olivier, Windows Embedded
Toujours chez Olivier : présentation Windows Embedded à RTS 2007
Tags : Freescale iMX - Renesas SH - Intel PXA - MIPS - Centre de dev MSDN mobilité et embarqué - XP Embedded - Windows CE - Windows Embedded for POS - Windows Embedded Home
Par BigEndian
-
Publié dans : Systèmes - OS
Ecrire un commentaire - Voir les commentaires - Recommander
Ecrire un commentaire - Voir les commentaires - Recommander
