Introduction

Le voici, le voilà, le nouveau Windows CE 7 !

Après Windows 7, Windows 7 Embedded et l’annonce de Windows Phone 7, Microsoft a dévoilé lors du salon Computex, du 1 au 5 Juin dernier, la suite logique de la série 7 : Windows Embedded Compact 7.

Au programme : une petite révolution dans l’embarqué, rien que ça, tant en termes d’apparence que de fonctionnalités et de développements.

En termes de fonctionnalités, Windows CE 7 fait tout à fait partie de la famille 7 et en est l’atout mobile. En effet, il intègre Internet Explorer, Windows Media Player avec une grande collection de codecs, le support de Flash 10.1, une visionneuse PDF, la gestion de documents Office ainsi que des comptes Exchange et ceci dans leurs version 2010, un Media Center, et bien d’autres fonctionnalités encore ! Idéal donc pour une utilisation mobile tant professionnelle que personnelle.

Windows CE 7 se distingue également par l’intégration totale de Silverlight et du langage XAML pour le développement d’application. En effet, les éditeurs de logiciels vont maintenant pouvoir, à la manière du WPF, découper leurs créations en graphisme d’un côté à l’aide d’Expression Blend 3 créé spécialement pour Windows CE 7, et en codage d’un autre côté, et ceci afin de gagner du temps !

Au niveau hardware, Windows CE 7 supporte l’ARM en général jusqu’à sa version 7, le MIPSII ainsi que le MIPSII-FP, l’architecture x86, mais supporte également le multi-processeur !

Microsoft entend bien devenir le concurrent direct de l’iPad avec son nouveau Windows CE offrant de nombreuses innovations pour les constructeurs. A travers cet article, les nouveautés seront passées en revue, et vérifiées par la création d’une image Windows CE 7.

Note : cet article ne vise pas à traiter d’actions spécifiques (développement d’application, intégration de drivers, création de BSP, débogage et autres). Seules les nouveautés par rapport aux anciennes versions sont ici présentées au travers de la création d’une image.

Historique

Et oui, avant d’attaquer le sujet, replaçons le dans l’histoire !

Tout comme Windows, il y a eu de nombreuses versions de Windows CE, chacune avec leur lot de nouveautés et une rupture avec les versions précédentes pour certaines.

La plupart des versions de Windows CE ont été déclinées en plusieurs « sous-versions » à partir de la version 2.0, chacune basée sur la version Core.

Windows CE 1.0 (nom de code Pegasus). Novembre 1996. Cette version représente la première étape vers l’embarqué. Elle supporte les architectures SuperH 3, MIPS 3000/4000.

o Mise à jour en version 1.01 pour le support de la langue japonaise (Juin 1997).

Description: Windows CE 1.0 Desktop

Windows 1.0

Windows CE 2.0 (nom de code Alder). Septembre 1997. Supporte les architectures ARM, MIPS, PowerPC, StrongARM, SuperH versions 3 et 4, ainsi que x86. De plus, l’écran est désormais en couleur et le système supporte le SSL 2.0 et 3.0.

oHandheld PC 2.0 (nom de code Mercury). Novembre 1997. Ajoute le support des polices True Type. En Mars 1998, la langue japonaise y est supportée.

Windows CE 2.01. Janvier 1998. Il s’agit d’une mise à jour déclinée en deux sous versions :

oPalm PC 1.0(nom de code Gryphon). Supporte la norme Palm 1.0.

oAuto PC 1.0(nom de code Apollo). Premier système pou Auto PC (embarqué dans l’automobile). Supporte la norme Auto PC 1.0.

Windows CE 2.10 (nom de code Alder EP pour Enhancement Pack). Mars 1998. Cette version apporte de nombreuses nouveautés : amélioration de la pile TCP/IP, support de l’infrarouge haute vitesse (FIR), du FAT32, de l’USB, et de près de 256 systèmes de fichiers différents, mais également beaucoup d’améliorations au niveau système.

Windows CE 2.11 (nom de code Birch). Juillet 1998. Mise à jour du noyau pour le support de nouvelles plateformes.

oHandheld PC Professionnel (nom de code Jupiter). Octobre 1998. Supporte les HPC version 3.0 et inclut Pocket Access ainsi que la possibilité d’ouvrir des fichiers Word et Excel.

oPalm-Size PC version 1.1 (nom de code Orion). Automne 1998. Basé sur la version HPC Professionnel, cette version est surtout destinée au marché Asiatique.

oPalm-Size PC version 1.2 (nom de code Wyvern).Février 1999. Version occidentale de la précédente et successeur de Palm PC 1.0.

Windows CE 2.12 (nom de code Birch SP2 ou Birch Enhancement pack). Septembre 1999. La sécurité a été revue, les librairies ont été améliorées et le système est plus personnalisable.

oAuto PC 2.0 (nom de code Goldeneye). Septembre 1999. Successeur d’Auto PC 1.0.

Description: Windows CE 1.0 Desktop

Palm-Size PC 1.0 (Windows CE 2.11)

Description: Windows CE 3.0 Desktop

Handheld PC Professionnel (Windows CE 2.11)

Windows CE 3.0 (nom de code Cedar). Juin 2000. Annonce de la version 3.0 de Windows CE. A cette date, Windows CE 3.0 n’est pas encore disponible pour les développeurs. Cette version est la première rupture technologique de Windows CE. Les fonctionnalités systèmes ont été revues, comme par exemple le passage de 8 à 256 niveaux de priorité des processus, ou bien encore un accès restreint aux API critiques et aux zones sensibles du registre. Cette version peut également supporter le PowerPC intégralement ainsi que le support de l’authentification Kerberos. Les drivers ont également été réécrits pour être plus stables.

oPocket PC 2000 (nom de code Rapier). Avril 2000. Pocket PC est le nouveau nom de Palm-Size PC afin de bien se distinguer de son concurrent, Ce système est basé sur Windows CE 3.0 (et oui, avant même que la version Core ne sorte !).

oHandheld PC 2000 (nom de code Galileo). Septembre 2000. Au niveau fonctionnalités, cette version n’apporte pas de grosses différences par rapport à la version Handheld PC Professionnelle (Windows CE 2.11). En revanche, l’intégration du nouveau Media Player ainsi que d’un client RDP, couplés à la nouvelle structure du noyau 3.0 propulsent Handheld PC 2000 en tant que système préféré des utilisateurs et des intégrateurs HPC.

Core Add-on Pack. Septembre 2000. Il s’agit d’une mise à jour technologique du noyau sans toutefois apporter de nouveautés (la version est toujours 3.0).

oCE For Automotive 3.0. Octobre 2000. Il s’agit du successeur d’Auto PC 2.0.

oPocket PC 2002 (nom de code Merlin). Octobre 2001. Cette version de Pocket PC se veut esthétiquement proche de son grand frère Windows XP, tout fraîchement sorti (2001). Ainsi, les icônes, le menu Démarrer ont été revus. Mais on est toujours sur Windows CE 3.0, donc aucune évolution pour autant. Cette version se voit garnie de nombreuses applications et supports : différents thèmes visuels, VPN, MSN Messenger, synchronisation des dossiers, Windows Media Player 8 avec Streaming, Microsoft Reader 2 avec gestion des DRM, Terminal Services. La version Chinoise de Pocket PC 2002 est sortie en décembre 2001.

oCE For Automotive 3.5. Décembre 2001. Successeur de CE For Automotive 3.0.

oSmartphone 2002 (nom de code Stinger). Octobre 2001. Version spécialement conçue pour les Smartphones, donc adaptée à la taille de l’écran.

Description: https://blog.nalis.fr/public/images/wm65/pocketpc_2000.jpg

Pocket PC 2000 (Windows CE 3.0)

Description: Windows CE 3.0 Desktop

Handheld PC 2000 (Windows CE 3.0)

Description: https://mobilarena.hu/dl/cnt/2007-04/1526/PPC2002.jpg

Pocket PC 2002 (Windows CE 3.0)

Description: https://img.clubic.com/photo/00057231.jpg

Smartphone 2002 (Windows CE 3.0) sur un téléphone SPV (Orange)

Windows CE 4.0 .NET Core (nom de code Talisker). Janvier 2002. Cette version de Windows CE n’apporte pas de nouveautés au niveau matériel, mais au niveau software elle intègre un outil bien connu aujourd’hui : le .NET Framework (cette version sort un mois avant la sortie officielle du .NET Framework 1.0). Le style visuel changé : le style Windows XP est maintenant intégré à la place du style Windows 2000, manque seulement la barre des tâches, encore au style Windows classique. Les outils de communications et de développement ont également été améliorés et renforcés

Windows CE 4.1 .NET Core (nom de code Jameson). Juin 2002. Cette version est une mise à jour système mineure, peu de changements donc avec l’ancienne version.

Windows CE 4.2 .NET Core (nom de code McKendric). Avril 2003. Nouvelle version de Windows CE qui intègre le .NET Framework 1.1.

oWindows Automotive .Net. Avril 2003. Sortie seulement 5 jours après la version Core, cette édition remplace CE For Automotive 3.5.

oWindows Mobile 2003 (nom de code Ozone). Juin 2003. Cette version de Windows Mobile est en fait le nouveau nom de Pocket PC, Smartphone ayant été remplacé par Windows Mobile 2003 pour Smartphone. Par défaut, Windows Mobile 2003 gère le Bluetooth (fichiers, casques) ainsi que les claviers add-on, intègre des applications de gestions d’images, le jeu Jawbreaker et Windows Media Player 9.0 avec optimisation du streaming. Quatre versions de Windows Mobile existent suivant l’usage final

§Windows Mobile 2003 pour Pocket PC Edition Premium. Il s’agit d’une version standard de Windows Mobile 2003.

§Windows Mobile 2003 pour Pocket PC Professional Edition. Intègre des outils professionnels et est exempt de jeux.

§Windows Mobile 2003 pour Smartphone. A la manière de l’édition Pocket PC Premium, il s’agit d’une version standard mais dont certains éléments ont été allégés.

§Windows Mobile 2003 pour Pocket PC Phone Edition. En plus du support des réseaux GSM, cette édition, supporte l’option SMS de réponse et les fichiers MIDI comme sonnerie en plus des logiciels standards.

oWindows Mobile 2003 Second Edition(Windows CE 4.21). Mars 2004. La seconde Edition de Windows Mobile 2003 arrive avec tout un tas de nouveautés très attendues par les utilisateurs : support du VGA en natif (640×480) et de la résolution écran carré (240×240 ou 480×480), support du WPA pour le WI-FI, la possibilité d’avoir un affichage en paysage, personnalisation des polices de caractère pour les écrans supportant le VGA, ajout automatique d’une barre de défilement, et beaucoup d’autres encore.

Description: https://www.hpcfactor.com/reviews/software/microsoft/dot-net/034-run.gif

Windows CE 4.1 Core avec thème Windows XP

Description: https://4.bp.blogspot.com/_6_B0DkpFMvg/TFwzyt8H--I/AAAAAAAABg4/YIialtCOd68/s1600/windows-mobile-2003.jpg

Windows Mobile 2003 pour Pocket PC Phone Edition

Windows CE 5.0 Core (nom de code Macallan). 9 Juillet 2004. Windows CE 5.0 est considéré comme l’aboutissement de sept années de travail de stabilisation du système Windows CE. Supporte le report de bugs automatique au fabriquant et introduit Direct3D et DirectDraw en version légères. La gestion des unités de stockage ainsi que le support de systèmes de fichiers ont été améliorés.

oWindows Mobile 5.0 (Windows CE 5.1) (nom de code Magneto). Mai 2005. Peu de changements par rapports à la version 2003, si ce n’est un nouveau thème graphique. Cette édition est la seule disponible, contrairement à la version 2003.

oWindows Automotive 5.0. Juillet 2005. Succède à Windows Automotive .Net.

oWindows Mobile 6.0 (Windows CE 5.2.1) (nom de code Crossbow). Mai 2006.

oWindows Mobile 6.5 (Windows CE 5.2.2) (nom de code Titanium). Mai 2009. Actuellement le dernier Windows Mobile en date. Marque un gros changement visuel comme peuvent le démontrer les captures d’écrans.

Description: Windows CE 3.0 Desktop

Windows CE 5.0 Core

Description: https://www.digimedia.ru/UserFiles/wm50.jpg

Windows Mobile 5.0

Description: File:Screenshot of Windows Mobile 6.5.3.jpg

Windows Mobile 6.5

Windows CE 6.0 (nom de code Yamazaki). Novembre 2006. Cette version de Windows CE marque la deuxième rupture avec les anciennes versions de Windows CE. Le système peut maintenant exécuter près de 32768 processus contre 32 auparavant, chaque processus se voit allouer 2Go de mémoire virtuelle adressable contre 32Mo auparavant, support du système de fichier exFAT, du WPA2 et QoS. Ce système supporte 512 Mo de mémoire physique. Les drivers peuvent fonctionner en User Mode ou en Kernel Mode suivant les besoins, d’ailleurs les fichiers systèmes ont été transformés en DLL et déplacé dans le Kernel Mode pour des raisons de sécurité. Pour la version Phone, le système d’appel a été amélioré.

Windows CE 6.0 R2. Novembre 2007. Il s’agit d’un add-on à installer en plus de Windows CE 6.0. Les nouveautés sont, entre autres, le support des Web Services on Devices, de la visiophonie et de la triple voix, une amélioration de la connexion avec Windows Server 2008 et Vista et bien d’autres encore.

Windows CE 6.0 R3. Septembre 2009. Tout comme Windows CE 6.0 R2, il s’agit d’un add-on à installer en complément des deux versions précédentes. Parmi les nouveautés, citons l’intégration de Silverlight en version Embedded, le support du multi touch pour les écrans tactiles, Flash Lite, Internet Explorer Embedded avec fonctions de multi touch et beaucoup d’autres !

Description: C:\Users\Zio\Desktop\Sans titre-1.png

Windows CE 6.0 R3

Windows CE 6.0 a été utilisé comme base pour le Zune HD de Microsoft, un baladeur lisant musique et vidéos.

Une petite nouveauté supplémentaire dans la version 6.0 de Windows CE concerne Platform Builder. Depuis la version 3.0, Platform Builder permettait de créer le système et de l’envoyer sur une machine cible. Platform Builder existe toujours, mais ce n’est plus une application standalone comme auparavant, c’est un plugin pour Visual Studio ! Ainsi pour concevoir un système Windows CE 6, il est nécessaire de posséder Visual Studio 2005 Service Pack 1 au préalable. L’avantage de cette solution est de centraliser le développement dans un seul outil, il n’y a donc plus besoin de jongler entre Visual Studio pour concevoir ses application et Platform Builder pour faire le système, tout peut se faire dans Visual Studio. L’inconvénient est qu’il est nécessaire de se procurer une licence de Visual Studio en plus de celle de Windows CE, engendrant des coûts supplémentaires. Heureusement, pour une utilisation ponctuelle, la version d’essai de Visual Studio limitée à 30 jours (90 si inscription du logiciel) peut être utilisée.

Partie théorique

1

2

3

3.1 Windows CE 7 aujourd’hui

Windows CE 7, c’est donc la nouvelle version du système embarqué de chez Microsoft. Notons toutefois que l’écriture « Windows CE » est correcte mais qu’il faut dire Embedded Compact en version longue, et ceci depuis la version 6 de Windows CE !

Mise à part ce détail, où en est Windows CE 7 aujourd’hui ? En effet, il n’est pas encore disponible à la vente et sa sortie, bien que non fixée pour le moment est prévue pour le quatrième trimestre 2010 (voir lien n° 1).

Pour le moment, et pour ceux qui veulent découvrir ce nouveau système, la version PCTP de Windows CE 7 est disponible en téléchargement légal via le site Connect de Microsoft, le téléchargement sera décrit dans la partie « Partie Pratique » de cet article.

PCTP signifie Public Community Technical Preview. PCTP est une version Community Technical Preview (une version bêta très proche de la version finale) avec l’avantage d’être disponible pour le public. Professionnels ou particuliers peuvent donc tester Windows CE 7. Pour information, il s’agit de la version utilisé pour la rédaction de cet article.

Le site Connect de Microsoft est une plateforme permettant de tester les produits et de donner un feedback sur leur utilisation. Il est possible soit de signaler un bogue sur un produit soit d’y donner une suggestion ou les deux. Grâce à ce système, Microsoft peut améliorer ses produits pour répondre plus favorablement aux demandes de ces utilisateurs. Toutefois, la version PCTP de Windows CE 7 fait partie des produit n’acceptant pas de feedback : ni suggestions, ni report de bogues. Le pourquoi de ce refus de feedback appartient à Microsoft, mais il est possible que la version PCTP soit extrêmement proche de la version définitive ou que les bogues soient connus ou non visibles et soient en cours de correction, ce qui, dans ces cas-là, expliquerait cette décision.

3.2 Nouveautés

Enfin un peu de concret ! Que nous propose donc Microsoft pour cette nouvelle version de Windows CE ?

A proprement parler, il ne s’agit pas d’une rupture comme cela s’est produit avec les versions 3.0 et 6.0 de Windows CE, mais la foule de nouveautés est au rendez-vous !

Tout d’abord en termes de hardware, Windows CE 7 supporte la version 7 de l’architecture ARM, gage de performances. Il supporte également les architectures multicores ainsi que le SMP (Symmetric MultiProcessing, terme désignant le fait de mettre en parallèle plusieurs processeurs afin de gagner en performances). Il est donc possible que certains équipements, comme des tablettes voire des téléphones, viennent à sortir munis de plusieurs processeurs! Au niveau graphique, Windows CE 7 supporte OpenGl ES en version 2.0, permettant d’améliorer les performances graphiques pour les jeux et la lecture de vidéos de manière significative.

Windows CE 7 supporte toutes les nouvelles technologies de communication telles que le Bluetooth en version 3.0 + HS. Le WPS (Wi-Fi Positioning System) couplé au GPS et au positionnement par antennes téléphoniques rend la géolocalisation plus efficace dans des endroits où les données GPS ne sont pas forcément accessibles. Le support du DLNA (Digital Living Network Alliance) et du MTP (Media Transfert Protocol) rend tout dispositif Windows CE 7 compatible avec un grand nombre d’équipements pour des échanges de fichiers et autres.

Windows CE 7 intègre également le support de NDIS (Network Driver Interface Specification) en version 6.1. NDIS permet de configurer automatiquement une carte réseau en fonctions des paramètres donnés par l’utilisateur. Cette fonctionnalité permet de se connecter à un réseau aussi simplement que sur un PC équipé de Windows !

En termes de software, Windows CE 7 supporte les DRM permettant de protéger les contenus numériques (audio, vidéo et autres). La gestion du multi touch et des mouvements spéciaux (rotation par exemple) ont été grandement optimisés et améliorés pour être plus précis, avec en plus la possibilité de personnaliser les mouvements associés à des actions. Internet Explorer passe en version 8 et profite des innovations en termes de multi touch pour une navigation plus aisée et intuitive, ainsi que des derniers standards et technologies que le Web peut offrir, notamment l’intégration d’Adobe Flash Player 10.1.

Au niveau de la lecture de vidéos, tout comme son grand frère Windows 7, le lecteur Windows Media peut lire le format MPEG-4 nouvelle génération et la vidéos haute définition. Ainsi la lecture de films au format DivX et autres codecs de compression vidéo est désormais possible. La gestion des médias a également été simplifiée grâce à une nouvelle bibliothèque plus ergonomique.

Windows CE 7 intègre également de nouveaux outils de gestion de périphériques comme le Windows Device Stage, intégré à Windows 7, permettant de gérer très facilement et intuitivement les périphériques connectés à l’ordinateur. Combiné avec le MTP, Windows CE 7 dispose d’une connectivité parfaite avec de nombreux périphériques et surtout avec des ordinateurs équipés de Windows 7 : le transfert et la gestion de fichiers est plus simple, par exemple.

Plus proche de la bureautique, les applications Office ont été mises à jour en version 2010, les documents PDF sont nativement supportés et la synchronisation des emails via Exchange ou Airsync a été grandement améliorée avec la mise à jour de ces composants.

Un petit passage du côté des nouveautés pour les développeurs d’applications. Ici encore les nouveautés ne manquent pas et Microsoft entend bien aider les créateurs d’applications dans leurs tâches.

Windows CE 7 intègre Silverlight for Windows Embedded qui est une version allégée et adaptée aux systèmes embarqués du célèbre framework de présentation, ainsi que le support du WPF. On peut donc facilement imaginer un développement d’interfaces riches et intuitives à l’aide d’outils comme Expression Blend. Cela amène un gain de temps de développement du fait de la séparation de la partie graphique et de la partie technique répartissant la charge de travail de manière idéale.

Avec Windows CE 6.0, les développeurs ont vu Platform Builder intégré à Visual Studio, et il en sera de même avec cette version de Windows CE 7 sauf que l’édition 2008 prend le relais. Le gros avantage de ce passage à Visual Studio 2008, hormis l’éditeur en lui-même, se nomme Windows Embedded Developer Update. Il s’agit d’un programme MSDN disponible uniquement pour les membres ayant un compte Embedded ou Premium qui vise à informer les développeurs des nouveautés (BSP, drivers et autres) sous la forme d’une notification. Si la nouveauté vaut le coup d’être intégrée, les développeurs peuvent accéder au téléchargement via un service Cloud et ceci bien avant que le produit ne soit disponible au public.

Une nouveauté supplémentaire concerne l’installation d’application. Désormais, l’installation se déroulera avec une faible intervention de l’utilisateur, ce qui permet d’aller plus vite et de passer outre certaines étapes de configuration pouvant dérouter l’utilisateur final.

Beaucoup de nouveautés donc pour cette version de Windows CE ! Voyons maintenant la suite pour en apprendre un peu plus.

3.3 Lien avec Windows Phone 7

En effet, quelle peut bien être la relation entre Windows CE 7 et Windows Phone 7 ? En regardant l’historique, il est clair que quasiment toutes les versions antérieures de Windows CE ont été déclinées en versions pour Smartphones, alors qu’en est-il pour Windows CE 7 ?

La réponse est simple : contrairement à toutes les rumeurs pouvant circuler sur Internet comme quoi Windows Phone 7 sera basé sur Windows CE 6.0 R3 avec quelques fonctionnalités prises sur Windows CE 7, Windows Phone 7 est basé sur Windows CE 7, information confirmée par Microsoft (lien n° 2).

Alors bien sûr, étant donné que Windows Phone 7 sortira avant Windows CE 7, cela ne signifie pas que Windows Phone 7 sera plein de bugs ! Tout d’abord, Windows CE 7 est quasiment terminé en version Core, et Windows Phone 7 nécessite moins de ressources, comme par exemple l’explorateur Windows qui est inutile, ce qui explique cette avance. Ce cas de figure est déjà arrivé dans le passé, avec Pocket PC 2000 qui est sorti deux mois avant la version Core de Windows CE 3.0 !

Etant basé sur Windows CE 7 et à la vue des nouveautés promises pour ce dernier, il y a fort à parier que Windows Phone 7 sera très bien intégré dans un environnement Windows grâce au MTP et à Device Stage, mais qu’en plus il sera performant au niveau médias, fonctionnalités tactiles et communications !

3.4 Hardwares disponibles

Déjà pas mal de choses ont été dites concernant les architectures supportées par Windows CE 7 dans les différents paragraphes précédents, mais quelques précisions supplémentaires ne font pas de mal !

Windows CE 7 supporte donc l’architecture ARM, qui est actuellement la plus répandue et la plus performante. Pour être plus précis, Windows CE 7 supporte les versions 4, 5, 6 et 7 de l’architecture ; les versions antérieures étant devenues obsolètes et la version 7 étant la dernière.

Concernant l’architecture MIPS, Windows CE 7 supporte le jeu d’instructions MIPS version 2 qui est le plus répandu dans les processeurs à base MIPS. Il supporte également les unités de virgule flottante (MIPSII-FP, FP pour Floating Point) si le processeur en est équipé (cette unité peut effectivement être en option sur certains processeur MIPS, dépendant du fabriquant).

Enfin, tout comme les autres versions de Windows CE, la version 7 supporte l’architecture x86 classique avec les instructions 80386 standard. Cette version peut donc toujours être portée sur un PC classique !

Toutefois, cette version ne voit pas revenir l’architecture SuperH, qui a été supprimée avec Windows CE 6.0 R2 alors supportée en version 4. Le pourquoi de cet arrêt de support n’a pas été communiqué.

La partie pratique de cet article donne plus d’informations sur les BSP fournies avec Windows CE 7 et donc quels équipements sont certifiés comme supportant Windows CE 7.

Partie pratique

4

4.1 Configuration requise

La configuration requise qui est décrite correspond à celle de l’ordinateur qui va compiler Windows CE. Même si le système lui-même ne prend pas beaucoup de place sur un système embarqué, l’environnement de développement par contre est beaucoup plus gourmand.

Microsoft a décidé de continuer sur la lancée de Windows CE 6.0, c’est-à-dire Platform Builder intégré à Visual Studio. A vrai dire, ce n’est pas une si mauvaise idée malgré le fait qu’il faille posséder Visual Studio en plus. En effet, Platform Builder dans ses versions antérieures n’était rien d’autre qu’un environnement de développement assez proche de Visual Studio mais dédié uniquement à Windows CE. C’est donc naturellement que le rapprochement s’est fait : pourquoi avoir deux environnements de développement séparés alors qu’ils se présentent de la même façon et qu’ils ont un même but : compiler du code C/C++ ?

La formule est donc reconduite pour Windows CE 7. Voici les recommandations de Microsoft pour installer Windows CE 7 :

Matériel : environ 55 Go d’espace libre sur le disque dur (oui ce sont bien 55 giga-octets !). Au minimum : un processeur cadencé à 1.6 GHz, 384 Mo de mémoire vive, une résolution d’écran de 1024×768 et un disque dur d’une vitesse de 5400 tours par minutes. Microsoft recommande toutefois la configuration suivante : un processeur cadencé à 2.2 GHz ou plus, 1024 Mo de mémoire vive ou plus, une résolution d’écran de 1280×1024 (en même temps Visual Studio en 1024×768, ce n’est pas très pratique !) et un disque dur d’une vitesse de 7200 tours par minutes. Une petite note si le système d’exploitation est Windows Vista : le processeur doit être cadencé au minimum à 2.4 GHz et la mémoire doit être au minimum de 768 Mo.

Système d’exploitation : Windows CE 7 peut être installé sur Windows XP avec Service Pack 2 minimum, Windows Server 2003 Service Pack 1 ou Windows Server 2003 R2, Windows Vista ou Windows Server 2008. Le développement sur Windows 7 est tout à fait possible malgré le fait qu’il ne fasse pas partie des recommandations.

Logiciel : Comme indiqué plus haut, Windows CE 7 requiert Visual Studio 2008 avec le Service Pack 1 installé (de toute façon Windows CE 7 refusera de s’installer si le Service Pack 1 n’est pas installé). Toutes les versions de Visual Studio sont supportées, sauf les versions Express (à noter que les versions d’essai de Visual Studio 2008 peuvent être utilisées pour un développement ponctuel). Si un développement avec Embedded Silverlight est envisagé, ceci requiert Expression Blend 3 (également disponible en version d’essai). De plus, le .NET Framework en version 3.5 doit être présent. Avant d’installer et d’utiliser Windows CE 7, il est impératif de désinstaller toutes les précédentes versions de Windows CE ainsi que les outils associés.

Beaucoup d’utilisateurs doivent se demander pourquoi il n’est pas possible d’utiliser Visual Studio 2010 avec Windows CE 7, après tout Visual Studio 2010 est sorti bien avant Windows CE 7 (avril 2010 pour être exact) alors pourquoi cette restriction à l’édition 2008 ? La réponse se trouve dans un article paru sur MSDN (lien n° 3) indiquant que le développement Smart Device n’est pas intégré à Visual Studio 2010. Alors qu’est-ce que Smart Device ? Il s’agit du développement d’applications mobile pour Windows Mobile et Windows CE. Concrètement, cela se traduit par l’élimination des projets pour les systèmes embarqués (.NET Compact Framework, Smart Device CAB, Visual C++ Device), ainsi que par la suppression des outils de tests (Device Emulator et son Manager, ainsi que Device Security Manager).

Mais alors comment faire pour les futures évolutions de Windows CE ? Devra-t-on conserver Visual Studio 2008 ? Bien sûr que non, il n’y a qu’à observer comment cela se passe pour Windows Phone 7 : il suffira d’installer un plug-in à Visual Studio qui, lui, intègrera un émulateur. Cette technique permet de ne pas surcharger Visual Studio avec des composants que l’on utilise rarement.

Maintenant que le nécessaire est réuni, l’installation peut commencer.

4.2 Installation de Windows CE 7

Pour cette partie pratique et donc cet article, Windows CE 7 est installé dans une machine virtuelle sous VMware Workstation 7.0 (fonctionne également sur VirtualBox, alternative libre à VMware). Cette machine virtuelle exécute un Windows XP Professionnel Service Pack 3, dispose de 1024Mo de mémoire vive, de 90Go d’espace disque dur et de deux cores de processeurs. Elle est reliée au réseau par une liaison de type « Bridged » et ceci pour être certain de sa détection sur le réseau ; d’ailleurs son adresse IP est attribuée par un serveur DHCP sur le réseau (box NB4 avec serveur DHCP activé). Il est tout à fait possible de fixer son adresse IP et d’utiliser une liaison directe, mais si un serveur DHCP est disponible, pourquoi ne pas l’utiliser ?!

La première étape à effectuer pour pouvoir utiliser Windows CE 7 est de s’assurer de disposer de la configuration minimale, à savoir le matériel et le système d’exploitation (voir la section Configuration requise). Une fois cela vérifié, la seconde étape consiste à installer Visual Studio 2008 et son Service Pack 1 (pour cette pratique, Visual Studio 2008 Professional Edition est utilisé). Microsoft ne communique pas sur les outils précis à installer, mais étant donné que Windows CE est basé sur du code natif il vaut mieux installer au moins les outils de langage C++.

Description: C:\Users\Zio\Desktop\Sans titre-2.png

Il est possible d’ajouter d’autres éléments, mais ceci est le minimum pour compiler Windows CE 7 (les compilateurs et outils x64 sont utilisés par les systèmes 64 bits). Une installation complète ou par défaut peut également convenir, cela dépend de l’usage final de Visual Studio.

Une fois l’installation de Visual Studio 2008 effectuée, il n’est en théorie pas nécessaire de le démarrer pour la première configuration, Windows CE 7 peut donc être installé directement.

Le téléchargement de Windows CE 7 PCTP s’effectue en cliquant sur le lien n° 4. Windows CE 7 PCTP se présente sous la forme d’une archive au format zip en 5 parties pour un total d’environ 8Go. Un fichier au format HTML intitulé « Release Notes » accompagne le téléchargement de ce fichier zip, il est fortement recommandé de le lire : il indique, entre autres, les « Known Issues » (problèmes connus) dont certains peuvent survenir pendant l’installation.

Pour lancer le programme d’installation, décompresser l’archive zip et exécuter le fichier « Windows Embedded Compact 7.exe ». L’écran d’accueil s’affiche alors :

Description: C:\Users\Zio\Desktop\Sans titre-1.png

Cliquer alors sur « Begin Install ». Après avoir accepté les termes du contrat, apparait alors le choix du type d’installation de Windows, « Complète » ou « Personnalisée ». Une installation complète demande le maximum d’espace disque soit environ 55Go mais elle permet de disposer de toutes les plateformes pour effectuer un développement sans avoir à relancer l’installation. Toutefois, pour cet article, seul l’architecture x86 sera installée, ainsi que les autres composants (documentation, CTK) :

Description: C:\Users\Zio\Desktop\Sans titre-3.png

Description: C:\Users\Zio\Desktop\Sans titre-4.png

Le récapitulatif s’affiche et l’installation peut commencer une fois que tous les éléments nécessaires ont été sélectionnés.

Description: C:\Users\Zio\Desktop\Sans titre-5.png

Suivant les composants sélectionnés, l’installation peut durer entre 20 et 50 minutes. Un peu de patience, le développement va bientôt commencer !

A la fin de l’installation de Windows CE 7, Visual Studio 2008 peut être lancé et la création d’une image peut commencer.

4.3 Création d’une image Windows CE 7

Pour créer une image Windows CE 7, il faut tout d’abord savoir quelle est la cible visée par cette image. Plusieurs BSP (Board Support Packages, sortes de modèles) sont fournis avec Windows CE 7 permettant de tester du matériel existant ou de partir sur une base existante. Voici une liste des BSP existants :

BSP Template : ARMv5 : Exemple de BSP pour processeurs ARMv5.

BSP Template : ARMv6 : Exemple de BSP pour processeurs ARMv6.

BSP Template : ARMv7 : Exemple de BSP pour processeurs ARMv7.

BSP Template : MIPSII : Exemple de BSP pour processeurs MIPSII.

BSP Template : MIPSII_FP : Exemple de BSP pour processeurs MIPSII avec unité de virgules flottantes.

Freescale i.MX27 3DS : BSP officiel pour le i.MX27 3DS (ARMv5).

Freescale i.MX30 3DS : BSP officiel pour le i.MX30 3DS (ARMv6).

Generic CEPC : BSP pour processeurs CEPC (x86).

ICOP eBox-3300 : BSP officiel pour la eBox-3300 (x86).

NEC NE1-TB : BSP officiel pour le NE1-TB (ARMv6).

Samsung SMDK6410 : BSP officiel pour le SMDK6410 (ARMv6).

Sigma Designs SMP865X : BSP officiel pour le SMP865X (MIPSII).

Sigma Designs SMP865X : BSP officiel pour la version « virgules flottantes » du SMP865X (MIPSII_FP).

Texas Instruments OMAP 3530 EVM : BSP officiel pour le OMAP 3530 EVM.

Virtual PC : BSP officiel pour exécuter Windows CE dans une machine virtuelle (x86).

Vortex86DX_60A : BSP officiel pour les processeurs Vortex86DX de DMP (x86).

Pour apporter quelques précisions : un BSP, en plus du système, apporte des pilotes reconnus comme compatibles avec la machine cible en question, ainsi que divers paramètres systèmes permettant un gain de performances voire une personnalisation de la part du constructeur (fond d’écran, applications par exemple).

La cible de cet article est Virtual PC 2007. Virtual PC 2007 est, comme VMware ou VirtualBox, un logiciel de virtualisation permettant donc de créer des machines virtuelles. C’est exactement le but de cette partie pratique : virtualiser Windows CE 7 !

Attention : Virtual PC 2007 ne fonctionne pas dans une machine virtuelle, ce qui signifie dans le cadre de cet article que Virtual PC 2007 est installé sur l’ordinateur hôte et non dans la machine virtuelle exécutant Visual Studio 2008 et Windows CE 7.

L’installation de Virtual PC 2007 est rapide et simple, cet outils est gratuit et peut être téléchargé sur le site de Microsoft.

Mais au fait, pourquoi ne pas tester cette image sur Device Emulator plutôt que de passer par une cible « réelle ». La réponse est simple : il n’y a pas de BSP pour Device Emulator et donc le portage sur Device Emulator est dès lors très complexe car le fonctionnement n’est pas le même que sur une autre cible d’un point de vue drivers, transport et processeur.

Trêve de bavardages, passons à la création de l’image !

La création d’une image passe par la création d’un nouveau projet Visual Studio, mais pas n’importe quel projet : un projet Platform Builder 2008 ! Cela se trouve dans « Fichier/Nouveau/Projet… ». Dans la liste des types de projet, choisir « Autres types de projets » puis « Platform Builder 2008 ». Le projet « OS Design » permet de créer un projet d’image Windows CE 7, le nommer de manière explicite et cliquer sur « OK ».

Description: C:\Users\Zio\Desktop\Sans titre-1.png

Un assistant se lance alors, il permet de sélectionner le BSP à utiliser si nécessaire et d’ajouter des applications ou des fonctionnalités particulières comme le support du LAN, le Media Player, des codecs et bien d’autres encore.

Description: C:\Users\Zio\Desktop\Sans titre-2.png

La page suivante concerne le choix du BSP à utiliser. Pour cette partie pratique et comme décrit plus haut, choisir « Virtual PC : x86 » (à noter qu’au vu de la liste des BSP, Windows CE 7 a été installé en version complète).

Description: C:\Users\Zio\Desktop\Sans titre-3.png

La fenêtre suivante de l’assistant permet de sélectionner un « Design Template » qui détermine l’usage final du produit (industriel, grand public et autre). Cela permet de choisir les fonctionnalités à inclure dans l’image Windows CE suivant des critères spécifiques, un industriel n’a pas besoin de lecteur de médias par exemple mais le grand public oui. Afin de tester les différentes fonctionnalités de Windows CE 7 et surtout les fonctionnalités multimédia et Internet, il est possible de créer soit un « Custom Device » où il est possible de créer une image complète, soit de sélectionner un template particulier. Après essai, il s’est avéré qu’une image complète était lourde et peu stable. Pour cet article, le template « Internet Appliance » a été choisi et les fonctionnalités multimédia ont été rajoutées via le « Catalog Items View » après cet assistant (détaillé par la suite).

Description: C:\Users\Zio\Desktop\Sans titre-2.png

La suite de l’assistant consiste à sélectionner les composants à intégrer à l’image Windows CE 7. Pour l’image Internet Appliance, toutes les applications ont été sélectionnées afin de pouvoir tester un maximum de choses.

Description: C:\Users\Zio\Desktop\Sans titre-2.png

A la fin de l’assistant, il est possible de compiler directement le projet en version « Release », « Checked » ou « Debug » suivant l’état d’avancement du projet. Avant cela, regardons comment va se présenter le projet en cliquant sur « Terminer ».

Description: C:\Users\Zio\Desktop\Sans titre-2.png

Le projet est alors créé. Dans l’explorateur de solutions de Visual Studio 2008, l’architecture du projet s’affiche.

Description: C:\Users\Zio\Desktop\Sans titre-2.png

Il y a donc la solution « WindowsCE7 » qui contient un projet « OS Design » nommé de la même façon que la solution (indiqué lors de la création du projet).

Le projet WindowsCE7 contient lui-même plusieurs dossiers dont voici la liste et le rôle de chacun :

C:/WINCE700 : ce dossier contient la base de Windows CE. Il est séparé en deux sous dossiers, chacun contenant une partie précise de l’OS :

oPlatform : il s’agit du dossier contenant la base de Windows CE (le kernel pour ne citer que lui !). Il contient également les définitions des BSP que l’on peut sélectionner dans l’assistant de création du projet (c’est à cet endroit que se trouvent les drivers par exemple).

oPublic : le dossier public contient toutes les fonctionnalités et logiciels livrés avec Windows CE 7, comme Internet Explorer, le lecteur média, le compact .NET Framework et bien d’autres encore.

Favorites : ce dossier contient des favoris pour Internet Explorer. Utile pour les constructeurs souhaitant ajouter des liens vers leurs sites Web.

SDKs : ce dossier permet de redistribuer les fichiers nécessaires au fonctionnement du système. C’est à l’utilisateur de créer un SDK, ce dernier sera alors stocké sous la forme d’un installateur MSI dans ce dossier. Un SDK permet à des développeurs de créer des applications pour le système final en leur apportant des systèmes de gestion de mémoire par exemple ou encore des instructions spécifiques au processeur.

Subprojects : si une application particulière doit être distribuée avec le système, ce dossier contient les projets de ces applications. Ces dernières sont compilées en même temps que le système lui-même et sont incorporées en fonctions des paramètres spécifiés.

Parameters Files : quatre fichiers composent ce dossier. Chacun permet de paramétrer le système ou une application en particulier. Un fichier .reg ajoute des clés au registre Windows CE si une application le demande par exemple.

Afin de rajouter quelques fonctionnalités à l’image créée, il suffit d’ouvrir le « Catalog Items View » qui liste toutes les fonctionnalités pouvant être intégrées.

Description: C:\Users\Zio\Desktop\Sans titre-2.png

Comme prévu, Internet Explorer a bien été intégré à la solution, à noter d’ailleurs que c’est donc la version 7 qui est livrée avec Windows CE 7. Sous la catégorie « Graphics and Multimedia Technologies » se trouvent un bon nombre d’application multimédia, particulièrement dans la section « Media » où l’on trouve trois lecteurs dans un dossier « Windows New Media Player ». Etrange, mais voyons ce que cela donne en vrai ! Mieux vaut cocher toutes les options de ce dossier bien intéressant !

Maintenant que l’architecture du projet est déterminée et que les applications ou drivers ont été intégrés (non nécessaire pour cet article), il est temps de compiler le système ! En effet, Windows CE est un OS compilé à environ seulement 40%, développé en C/C++ ce qui permet d’effectuer de très nombreuses modifications. Il faut, tout d’abord, déterminer dans quel mode le système va fonctionner (Debug, Release ou Checked). Debug permet de déboguer Windows CE via Visual Studio si une erreur survient. Release ne prend pas en compte le débogage et tourne en complète autonomie sur la cible. Checked, quant à lui, indique une Release vérifié, ce qui permet de différencier les phases de développement.

Pour cet essai, le système sera compilé en version Release.

Description: C:\Users\Zio\Desktop\Sans titre-2.png

Il ne reste plus qu’à lancer la commande « Générer/Générer la solution » accessible via le raccourci Ctrl+Maj+B. A partir de ce moment, la patience est de mise : en effet pour compiler notre essai de Windows CE, il aura fallu une heure et dix minutes ! Bien sûr, ce temps est raccourci si le processeur est plus rapide et contient plus de deux cores (le fait d’exécuter cette action dans une machine virtuelle influe également sur ce temps de compilation obtenu).

En sortie, l’image a été générée avec 1463 warnings mais aucune erreur. Il ne faut surtout pas s’inquiéter de ce nombre de warnings, il s’agit pour la plupart de bibliothèques non trouvées et donc recompilées à la volée ; en fait, tant qu’il n’y a aucune erreur lors de la compilation du noyau ou des fonctionnalités, il n’y a aucune inquiétude à avoir. Mais alors, où est l‘image de Windows CE ? Elle se trouve dans le répertoire de sortie du projet (dans le cadre de cet article, elle se trouve dans : C:\WINCE700\OSDesigns\WindowsCE7\RelDir\VirtualPC_x86_Release). Un nombre énorme de fichiers ont été générés, mais le plus important est le fichier nk.bin qui est l’image de Windows CE 7 et qui va donc être transférée sur la cible. Ce fichier est de taille relativement faible (environ 55Mo pour une image complète).

Il ne reste plus qu’à transférer cette image sur la cible, à savoir Virtual PC 2007, mais avant cela il est important de savoir comment la cible va recevoir cette image et comment elle va la traiter. C’est le rôle du BootLoader.

4.4 Un peu de théorie : le BootLoader

Mais qu’est-ce qu’un bootloader ? C’est un petit programme qui, lors du démarrage d’un système, s’exécute après le BIOS pour lancer le système d’exploitation. Tout le monde a déjà vu un bootloader en action : Boot Camp par exemple ou LILO et GRUB dans le monde Linux, et même pour Windows lorsque plusieurs systèmes sont présents : le choix du système à démarrer, c’est le bootloader (NTLDR pour être précis) ! Voici un schéma simplifié des étapes de démarrage d’un système classique.

Dans le monde de l’embarqué, il est beaucoup plus présent que sur une machine traditionnelle car, en plus de charger le système local, il est également utilisé pour charger des OS via Ethernet, certains sont capables de le charger via USB voire liaison série. Pour la plupart, il s’agit d’un mini système d’exploitation comme par exemple sur l’eBox-3300 où le bootloader est basé sur une version très allégée de MS-DOS. Les fonctionnalités des bootloaders varient d’un système à un autre et d’une architecture à une autre, la plupart laissent le choix entre le système local et un chargement via Ethernet (en utilisant une adresse IP fixe ou fournie par un serveur DHCP). Classiquement, le bootloader n’est pas situé sur le disque dur (ou en tout cas la mémoire morte contenant le système local), il s’agit d’une puce électronique contenant ce bootloader qui est exécuté après le BIOS. Toutefois certaines machines utilisant un BIOS classique (comme ceux des ordinateurs) peuvent voir leur bootloader stocké sur le disque dur.

C’est donc en utilisant un bootloader que l’image précédemment générée va être transférée sur la cible. Dans le cas de Virtual PC, c’est un peu plus compliqué que sur un système classique car le chargement du système va passer par une disquette qui va elle-même charger le système, le bootloader est donc sur la disquette.

Pas de panique, tout cela est transparent, pas besoin d’avoir un doctorat en informatique pour passer à la suite ! Tout cela pour expliquer que le bootloader est une partie importante dans un système informatique et spécialement dans les systèmes embarqués.

4.5 Lancement de l’image Windows CE 7

On y est, le moment tant attendu est enfin arrivé, l’image de Windows CE 7 va être portée sur la cible !

Pour effectuer ce transfert, la liaison Ethernet a été choisie car plus simple et plus rapide que l’USB ou la liaison série. Voici le schéma du réseau Ethernet réalisé pour le transfert :

Description: C:\Users\Zio\Desktop\Drawing1.png

Une fois cette configuration effectuée, il est temps de passer au transfert. La première étape se passe sur Visual Studio. La barre d’outils « Target » doit être affichée. Cette barre d’outils permet de configurer la cible et comment emmener l’image jusqu’à elle.

Description: C:\Users\Zio\Desktop\Sans titre-2.png

La liste déroulante permet de sélectionner le mode de transport de l’image Windows CE (Ethernet, USB ou liaison série, Device Emulator ou Dump). Les deux icônes suivantes permettent d’attacher la cible ou de la détacher (dans le cas d’Ethernet par exemple un socket d’écoute va être créé sur le port 980 afin de recevoir une requête de téléchargement de la part de la cible). L’icône suivante permet d’afficher une interface en ligne de commande afin de debugger la cible. L’icône « Target Status » affiche une fenêtre indiquant l’état de la cible (l’état du téléchargement par exemple). La dernière icône permet de créer ou de configurer une cible existante, pour utiliser un autre débuggeur que celui par défaut, par exemple, ou changer la résolution d’écran pour Device Emulator.

Dans le cas de cet article, il suffit de sélectionner « (auto) Ether » pour effectuer le transfert par Ethernet, puis de cliquer sur la première icône à droite « Attach Device » pour créer le socket d’écoute. Une nouvelle fenêtre s’ouvre alors indiquant le statut de la liaison Ethernet.

Description: C:\Users\Zio\Desktop\Sans titre-2.png

Pour le moment, aucune requête de téléchargement n’a été reçue, logique : Virtual PC n’a pas encore été lancé !

Laissons Visual Studio de côté, il est temps de préparer la cible.

Heureusement, un projet Virtual PC existe déjà et est livré avec Windows CE 7. Ce projet se trouve dans C:\WINCE700\platform\VirtualPC\VM. Il suffit de copier les trois fichiers présents et de les coller ailleurs (mieux vaut laisser une copie propre au cas où) et d’exécuter le fichier .vmc. Si la machine virtuelle se lance, la fermer immédiatement car un petit réglage s’impose.

Dans les propriétés de la machine virtuelle, pus dans la section « Réseau », il faut lier la carte réseau de la VM à celle de l’hôte (celle qui est reliée au réseau !).

L’image disquette n’est pas présente dans les paramètres de la machine virtuelle, mais elle est bien lancée lors du démarrage. Lancer la machine virtuelle. Le bootloader de la disquette est alors exécuté, il faut alors appuyer sur la touche « Espace » pour entrer dans le programme de configuration.

En appuyant sur la touche « 1 », un récapitulatif de la configuration apparait.

Le DHCP doit être activé dans notre cas. « Boot Source » et « KITL device » doivent être réglés sur la carte réseau de la machine virtuelle (ici, la configuration est bonne). Il est également possible de modifier la résolution d’affichage car, par défaut, elle est réglée à 640×480, ce qui est faible ! L’appui sur la touche « 0 » provoque une demande auprès du serveur DHCP pour obtenir une adresse IP suivi de l’envoi de trames de requêtes de téléchargement. Visual Studio (sur le PC de développement) reçoit ces dernières et affiche le périphérique qui vient de les envoyer.

Il suffit alors de cliquer sur « Apply » pour lancer le téléchargement de l’image sur la cible. Le téléchargement peut durer entre quelques secondes et quelques minutes dépendant de la vitesse de la connexion.

A la fin du téléchargement, Visual Studio indique que le téléchargement a réussi et après quelques secondes, Windows CE 7 apparait !

4.6 Cas d’une cible réelle : l’eBox 3300

Windows CE 7 a en effet été testé sur une eBox 3300 faisant partie d’un Jump Start Kit de la société taïwanaise ICOP (le kit se nomme eBox-3300A-MSJK, plus de détails avec le lien n° 5). Ce kit très bien documenté permet de tester Windows CE 6.0 et de développer des applications pour cet environnement. Bien sûr pour cet article, ce n’est pas Windows CE 6.0 qui est au banc d’essai !

Description: https://www.a2s.pl/en/images/products/dmp_ebox3300.jpg

Il n’y a presque pas de différences entre le portage de l’image sur Virtual PC et sur l’eBox, le système d’exploitation est le même ! La seule différence réside dans le bootloader qui est différent (mais très simple !), et dans les drivers qui évidement ne sont pas les mêmes.

Après essai, il s’est avéré que le BSP pour eBox 3300 fourni avec Windows CE 7 ne fonctionne pas, car au moment de la compilation de celui-ci, des erreurs de fichiers manquants se produisent. De fait, ce BSP ne peux pas être essayé. Pourtant, Microsoft indique ceci dans la documentation accompagnant Windows CE 7 :

The list of available board support packages (BSPs) in the OS Design Wizard may be inaccurate and may contain deprecated or untested BSPs that Microsoft does not intend to ship in the Compact 7 release. The following BSPs are approved for use:

·3DS_iMX27: ARMv5

·CEPC: x86

·eBox 3300: x86

·Freescale i.MX31 SDS: ARMv6

·NEC NE1TB: ARMv6 MP

·Samsung SMDK6410: ARMv6

·Sigma Designs SMP8654: MIPS II, MIPS II FP

·TI_EVM_3530: ARMv7

·vCEPC: x86

Note This list should in no way be interpreted as indicating the final list of BSPs for the Compact 7 release.

Qu’à cela ne tienne, l’eBox 3300 fonctionnant sur une base x86, le BSP VirtualPC fait l’affaire !

Les captures d’écran de l’eBox sont réalisé sur un autre ordinateur via le port série. En effet, le BIOS de l’eBox supporte l’accès à distance par port série permettant de visualiser ce qui est affiché en mode texte via un terminal. Attention toutefois, il n’est possible de visualiser que jusqu’à ce que Windows prenne le relais. Pour l’essai, les étapes sont les mêmes au niveau de Visual Studio. Une fois que Visual Studio est en attente de demande de téléchargement, il suffit de démarrer l’eBox.

Description: C:\Users\Zio\Desktop\Sans titre-2.png

L’eBox démarrée, un menu de démarrage MS-DOS s’affiche, il s’agit du bootloader. A partir de ce menu, il est possible de charger le système local (Windows CE 6.0) ou de télécharger le système via Ethernet en utilisant soit une adresse IP fixe soit une adresse attribuée par DHCP. Etant donné que la topologie réseau est la même que précédemment, la deuxième option est à choisir (« Load OS image from development station with DHCP service »).

L’écran de l’eBox devient alors noir et Visual Studio reçoit une demande de téléchargement. Il ne reste plus qu’à appuyer sur « Apply » et l’image se transfère sur l’eBox, même si cette dernière laisse son écran noir. Au bout d’un petit moment après le téléchargement, Windows CE 7 s’affiche alors (voir section suivante pour des captures d’écran).

Bien évidemment, le BSP VirtualPC ne contient pas les drivers pour l’eBox 3300, ce qui signifie que certains périphériques comme les ports USB et la carte réseau ne sont pas disponibles. Mis à part cela, le système est aussi fonctionnel que dans une machine virtuelle !

4.7 Windows CE 7 en images

Pour le plaisir des yeux (attention ce n’est pas Windows 7, tout de même), voici quelques screenshots de la VM exécutant Windows CE 7 !

Le bureau de Windows CE 7

A première vue, pas de changement dans l’interface, à part le fond d’écran spécial pour la version. En revanche, sur le bureau se trouvent trois nouvelles icônes : Video Player, Photo Viewer et Music Player. Music Player et Video Player remplacent le lecteur Windows Media et sont beaucoup plus adaptés à une utilisation tactile. Photo Viewer est basé sur le même thème que les deux précédents et permet, entre autres, d’organiser ses images en collections. N’ayant pas d’écran tactile, la fonctionnalité tactile n’a pas pu être testée mais il doit être très agréable de naviguer dans ces trois logiciels avec !

Photo Viewer avec les images Windows 7 par défaut

Music Player avec une musique Windows 7 par défaut

Lecture d’un film avec Video Player

Organisation des vidéos dans Video Player

Petite note concernant Video Player : la vidéo lue en premier screen n’est qu’un échantillon de 10 secondes, car manque de place en mémoire dans la machine virtuelle (en effet, c’est la RAM qui fait office de zone de stockage et non le disque dur !). La vidéo était optimisée pour de l’embarqué, toutefois le lecteur devient instable lors de la lecture donnant l’impression d’un manque de ressources. Ce manque peut-être pallié sur une machine réelle qui dispose d’un bon processeur (VirtualPC simule un Pentium 3 apparemment peu rapide). Attention toutefois, ce lecteur ne lit que le format WMV mais supporte bien le MPEG4 V2 !

Internet Explorer en version 7 a été conçu pour une navigation aisée sur un système embarqué et cela est réussi. La qualité d’affichage des pages est bien meilleure que celle de son prédécesseur sous Windows CE 6.0. Le seul reproche à pouvoir être fait, c’est que Flash ne soit pas intégré contrairement à ce qui avait été annoncé ; mais vu la nette progression en termes d’affichage, ce manque passe facilement pour un détail !

Le thème Windows XP déjà présent dans la version 6.0 a été revu et est désormais mieux intégré que précédemment. Il ne faut toutefois pas encore s’attendre à voir une interface en « full XP ».

Au niveau des icônes des dossiers, peu de changements par rapport à la version 6 ; les icônes XP sont toujours un succès !

La compatibilité avec les documents Office 2010 annoncée n’est pas disponible dans cette version de Windows CE. Il y a fort à parier que ce sera un module supplémentaire vendu à part à ajouter à Windows CE. Certes Wordpad peut faire beaucoup de choses, mais pas ouvrir de documents Office ; une visionneuse de documents aurait été un plus !

Concernant les nouveautés en termes de réseau et de connectivité simplifiée, il est vrai que la connexion au réseau a été immédiate et qu’il est possible de chercher des fichiers sur d’autres machines du réseau aussi simplement que sur un ordinateur normal. Le Wi-Fi et le Bluetooth n’ont pas pu être testés car une machine virtuelle ne se prête pas facilement à ce genre d’essais, et l’eBox 3300 ne disposait pas de ces périphériques.

Conclusion

Même si ce n’est pas une rupture avec les autres versions comme l’ont été les versions 3.0 et 6.0, Windows CE 7 prépare déjà le futur de l’embarqué en intégrant les technologies qui font la réputation de Microsoft comme Silverlight et XAML. Les développeurs y trouveront leur compte en simplifiant leurs tâches de création et les utilisateurs bénéficieront d’un environnement puissant à portée de main ! La plupart des nouvelles fonctionnalités indiquées par Microsoft sont présentes et les constructeurs souhaitant intégrer Windows CE 7 à leurs solutions en seront ravis (et les consommateurs aussi !).

La version PCTP, quoique non définitive, est très stable et contient déjà tout ce qu’il faut pour créer un environnement sain sur un système embarqué. Malgré quelques bugs, les nombreux BSP disponibles permettront de partir sur de bonnes bases pour créer une image Windows CE 7.

Liens et références

1.https://www.microsoft.com/Presspass/press/2010/may10/05-31ComputexPR.mspx

2.https://blogs.msdn.com/b/obloch/archive/2010/05/03/windows-ce-is-not-dead.aspx

3.https://msdn.microsoft.com/en-us/library/sa69he4t.aspx

4.https://connect.microsoft.com/windowsembeddedce

5.https://www.embeddedpc.net/eBox3300MSJK

6.https://www.mobifrance.com/articles/article.php?cat=logicielsppc&id=351

7.https://msdn.microsoft.com/en-us/windowsembedded/ce/dd367860.aspx

8./articles/web/windows_ce/

9.https://www.hpcfactor.com/support/windowsce/

10.https://wmpoweruser.com/whats-new-in-windows-ce-7/

11.https://www.homemedia.fr/actualites/5815-Windows-7-Embedded-Compact-ou-Windows-CE-7.html

12.https://www.mobiletechworld.com/2010/06/01/windows-embedded-compact-7-windows-ce-7-is-officially-unveiled-ctp-available-for-download/

13.https://windows-mobile-history.blogspot.com/

14.https://www.hpcfactor.com/forums/forums/thread-view.asp?tid=15239&start=1

15.https://www.microsoft.com/windowsembedded/en-us/about/pressroom/pressreleases/esc-west1.mspx