La Référence Absolue sur les Technologies Microsoft




Tous les Articles du Laboratoire Microsoft

Programmation sur Windows CE : Introduction
Accueil > Articles > Matériels
Auteurs 
Julien BAKMEZDJIAN



 Tous les articles de cet auteur

2,5/5

Assez Bien


45981
155/390

Introduction

            Dans cet article nous allons présenter Windows CE (Compact Edition) et vous donner les bases pour comprendre cet OS. Windows CE est, en effet, une version bien particulière de Windows destinée aux appareils mobiles tels que les PocketPC, SmartPhone ou systèmes embarqués (voitures, écrans passagers dans les avions...). Windows CE doit donc pouvoir être utilisé sur une multitude de machines différentes non compatibles : processeurs, périphériques, mémoire, affichage... De plus, sa taille doit être la plus faible possible. C’est pourquoi il n’existe pas de Windows CE générique ; Microsoft propose plutôt un logiciel permettant de créer le Windows CE parfaitement adapté au matériel ciblé. Il s’agit de Platform Builder.

            Nous allons tout d’abord voir comment personnaliser et compiler le noyau de son OS.

Présentation de Windows CE

Voici ce à quoi ressemble l’interface graphique de Windows CE :


           

Comme vous le voyez donc, cette interface est très proche des Windows « classiques ».

L’architecture du système, est, elle, plus particulière, puisqu’elle doit permettre la plus grande modularité possible afin de pouvoir implémenter Windows CE pour des matériels très variés :


Il faut donc choisir tous les modules nécessaires au bon fonctionnement du système sur un matériel donné. Ainsi, chaque fabricant implémente le Windows CE voulu grâce à un outil de génération (Platform Builder), et paye ensuite une licence (de l’ordre de $3) à Microsoft pour chaque Windows CE vendu sur ce matériel. Par exemple, il est tout à fait possible de créer une implémentation de Windows CE sans interface graphique (automates) ! La taille de l’OS peut ainsi varier entre 1 MO (noyau sans interface ni option) et plusieurs dizaines de MO (interface graphique, multiples drivers, applications finales variées...).

Installation de Platform Builder

            Avant tout, vous devez installer Platform Builder : il s’agit de l’environnement de développement permettant de créer une implémentation spécifique de Windows CE. Ce logiciel est disponible en version d’essai à cette adresse (seule une version anglaise est disponible). Il vous permettra, une fois votre noyau compilé, soit de le simuler sur la machine de développement (grâce à l’émulateur fourni), soit de l’implanter sur une machine cible (autre PC, PocketPC...).

            L’installation se déroule « sans encombres ». Si vous choisissez une « Custom Installation », vous devrez choisir les composants à installer : en effet, pour chaque processeur existe une interface OS/matériel différente. Il vous suffit donc d’installer celles dont vous aurez l’utilité : 


            Sur l’exemple ci-dessus, nous n’installons que les Board Support Packages (BSP) pour l’émulateur (considéré ici comme un matériel à part entière) et les processeurs x86 (PC).           

Compilation d’un noyau et simulation sur émulateur

Pour débuter sous Platform Builder, nous allons réaliser notre premier OS. Pour cela, il suffit de créer une nouvelle plateforme via le menu « File à New Platform... ».

Nous allons suivre étape par étape l’assistant de création de plateforme. Après un écran d’accueil, vous devez choisir le type de la machine ciblée :


            Ici, nous développons un OS qui sera simulé sur la machine de développement via l’émulateur de Platform Builder. L’étape suivante vous propose de choisir les fonctionnalités de votre OS : vous pouvez sélectionner une configuration type ou bien en créer une personnalisée :


Si vous optez pour une « Custom configuration », vous devrez choisir tous les éléments de l’OS un par un : avec ou sans interface graphique, drivers en tout genre, protocoles réseaux, applications finales, polices...

Sélectionner une configuration prédéfinie vous évite d’avoir à choisir parmi toutes les options possibles. Vous pourrez par la suite plus ou moins affiner la configuration choisie. Au final, Platform Builder réunira tous les composants nécessaires à votre Windows CE. Vous pouvez par la suite retirer des modules ou en ajouter. Dans la fenêtre de gauche se trouvent toutes les fonctionnalités présentent dans l’OS et, dans celle de droite, toutes les fonctionnalités que l’on peut ajouter :


Vous devez maintenant compiler votre noyau. Pour cela, cliquez sur « Build à Build Platform ». L’opération est assez longue : comptez 15 minutes environ (testé sur un Pentium III, 1.3 GHz, 512 MO). Platform Builder recompile en effet une bonne partie des codes sources de Windows CE, effectue l’édition de liens et génère un OS complet ! Au passage, notez qu’environ 45% des codes sources de Windows CE sont mis à disposition par Microsoft : vous les trouverez dans le répertoire WINCE420 installé par défaut à la racine de votre disque.

Votre OS est maintenant prêt pour la simulation. Vous devez tout d’abord configurer la méthode de chargement de l’OS : par Ethernet, par liaison série, ou vers l’émulateur. Pour cela, cliquez sur « Target à Configure Remote Connection » :


Nous choisissons ici l’émulateur pour le téléchargement de l’image de l’OS. La zone « Kernel Transport » permet quant à elle de spécifier le type de liaison utilisée pendant le fonctionnement de l’OS, pour le déboguage (le cas échéant).

Dans notre cas (émulateur), vous pouvez configurer l’affichage et d’autres paramètres grâce au bouton « Configure » de la ligne « Download ».

Vous pouvez maintenant lancer la simulation en cliquant sur « Target à Download / Initialize ».

Déploiement du noyau sur machine cible

Il est tout à fait possible de projeter Windows CE sur un véritable PC, qu’on appelle CEPC. Pour cela, le CEPC et la machine de développement doivent être reliées par un réseau Ethernet. Le CEPC doit être équipé d’une carte vidéo compatible VESA (la plupart des cas).

Vous devez réaliser une plateforme pour CEPC, puis la compiler (les étapes sont les mêmes que pour la création d’une plateforme pour émulateur). Il faut ensuite créer une disquette de boot pour le CEPC. Cette disquette va permettre de télécharger, via la carte réseau (qui doit être compatible NE2000), le noyau depuis le PC de développement et de démarrer l’OS. Il s’agit d’une disquette DOS contenant des exécutables permettant de réaliser ces opérations.

Pour la créer, exécuter le programme « %ProgramFiles%\Windows CE Platform Builder\4.20\CEPB\Utilities\websetup.exe » qui va créer deux fichiers dans le répertoire Windows. Cette opération n’est à effectuer qu’une seule fois. Placez ensuite une disquette dans le lecteur, et exécutez « %ProgramFiles%\Windows CE Platform Builder\4.20\CEPB\Utilities\CEPCBoot.144 ». Une fois la disquette de démarrage crée, éditez le fichier « autoexec.bat » qui s’y trouve. Plusieurs modifications sont à y faire :

-         Si vous utilisez une carte Ethernet ISA sur le CEPC, vous devez entrer son IRQ et son IOBASE (informations disponibles dans le BIOS du CEPC). Entrez également l’IP du CEPC sur la ligne correspondante (si le CEPC n’est pas connecté à un serveur DHCP).

-         Si vous utilisez une carte Ethernet PCI, conservez les valeurs IRQ et IOBASE par défaut. Vous devez tout de même préciser l’IP de la machine (sauf si un DHCP est présent).

Voici une copie d’écran du fichier « autoexec.bat » modifié pour une carte ISA :


Démarrez le CEPC sur la disquette, puis lancez le « Configure Remote Connection ». Dans les deux zones « Download » et « Kernel Transport », entrez « Ethernet ». Cliquez ensuite sur le bouton « Configure » de la ligne « Download ». Lorsque le CEPC est prêt à télécharger l’OS, il envoie son nom sur le réseau. Vous verrez apparaître ce nom dans la boîte de configuration. Sélectionnez le puis validez. Vous pouvez maintenant lancer « Target à Download Initialize ». Le téléchargement terminé, Windows CE est lancé sur le CEPC !

Si votre OS a été compilé en version Debug, ou avec l’option de compilation « Enable CE Target Control Support » (voir copie d’écran plus bas) vous devez maintenir la connexion entre le PC et le CEPC. Si vous coupez la connexion (« Target à Disconnect »), le CEPC plantera. Notez que vous ne pouvez pas compiler pendant qu’une connexion est établie.


Conclusion

            Nous venons de décrire la méthode pour compiler une implémentation de Windows CE et pour la tester sur l’émulateur ou un PC cible. La modularité de Windows CE permet de réaliser des OS spécifiques au matériel et de taille très réduite (entre 1 et 25 MO). Cependant, il reste à écrire des applications dédiées ainsi que les drivers correspondants aux périphériques de la machine cible. Nous verrons tout cela dans un prochain article.




En Savoir Plus 
Evaluez cet article 


Pour afficher ou poster un commentaire, cliquez sur ce lien : Forum-Microsoft



Retrouvez ci-dessous les autres sections du Laboratoire Microsoft