Réalisation de systèmes embarqués sur plateforme ebox3350

ebox3350Pour permettre aux étudiants de s'initier aux systèmes embarqués, le laboratoire a investi sur plusieurs unités de type ebox3350MX. Ce sont des mini PC Embarqué doté d'un processeur Vortex86MX (933MHz) avec 512MB de RAM DDR2, sans HD, avec 3 ports USB V2.0, un sortie vidéo VGA, et un carte éthernet 10/100 Mbps. Il est possible de booter sur carte SD, en clé USB ou en protocole PXE.

L'objectif du projet était de monter plusieurs manips afin de maîtriser la plateforme et les compilations et installations d'OS sur celle-ci afin de permetre la mise en place de travaux pratiques pour les étudiants. Les systèmes visés étaient avant tout Windows Embedded Compact et Linux embedded.

La compilation de Windows Embedded Compact 7 se réalise sur un PC de développement en Cross-Compilation en utilisant Visual Studio .Net 2008 et le Plug-in Platform Builder (qui s'installe avec le package Windows Embedded Compact 7). Il n'existe pas de version pour Visual Studio 2010 et WE Compact 2013 s'installe et se gère sous Visual Studio 2012. Par un jeu d'assistant et de sélection de modules, Platform Builder permet de créer le package du code source d'un système Windows Embedded Compact. Il faut cependant posséder et installer le BSP nécessaire au matériel ciblé (dans notre cas le BSP de l'eBox 3350 a été récupéré sur le site de ).
Ensuite, toujours sur le PC de développement, il faut le compiler l'image de l'OS en sélectionnant la plateforme cible sur laquelle il devra s'exécuter. Visual Studio fourni les outils nécessaires pour transférer l'image de l'OS directement sur la cible via différents protocoles réseau. Dans le cas de l'eBox, il suffit de créer une carte SD bootable en utilisant un utilitaire comme diskprep.exe (ici) de l'insérer et de booter.

L'interface de Visual-Studio / Platform Builder en création d'OS pour ebox3350MX :

wce 1

Les images Windows Embedded Compact 7 pour eBox se réalisent assez facilement avec les assistants fournis par Platform Builer. Il faut le bon BSP, quelques tests (pensez à mettre « Enable Kilt » à « No » pour les connaisseurs et à sélectionner la carte ethenet et les périphériques USB) et un utilitaire pour la carte SD. Les temps de compilation sont raisonnables, de quelques minutes à un quart d'heure pour un système complet. La taille du système obtenu va de quelques Mo à quelques dizaines en fonction des options incluses dans l'OS (bureau, CF.Net, Navigateur, ...).

Plusieurs plateformes WCE7 ont été réalisées et testées comme un lecteur multimédia, un contrôleur industriel, un Handheld (terminal durci) ou un système léger type vidéoprojecteur. De nombreuses fonctionnalités sont implémentables (ftp, telnet, serveur Web, Wifi). Il est aussi possible de réaliser un SDK pour chaque OS et réaliser les applications associées sur un PC de développement. Pour tester une application réalisée ainsi sur l'eBox, nous avons utilisé le transfert via ethernet avec debuggage en temps réel de l'application lancée sur l'eBox en utilisant les packages CoreCon (communication) et Autolauch (chargement au démarrage). Notons que les applications sont développées en C-API ou C#.

Voici en exemple l'interface d'un OS type vidéoprojecteur avec l'outil Microsoft de connexion. L'OS attand que PC distant vienne se connecter en changeant le pasword toutes les 5 mn.

wec 1    WEC 2

 

Coté Linux, nous avons déployé une distribution standard Ubuntu et Debian sur SDCard, en se basant sur le Kernel précompilé distribué par eBox. Le Kernel étant assez ancien, nous avons ensuite réalisé notre propre Kernel de dernière génération en nous basant sur les modules et les configurations détectées par l'installation de base. Il est donc possible de réaliser des configurations sur mesure de type serveur Web ou autres, suffisamment performantes pour un environnement de production. Dans la version Linux compilée From Scratch basé sur BusyBox, l'OS occupe 15 Mo sans optimisation particulière. Le temps de démarrage est immédiat (1 à 2 s après le bios). Un tel Linux avec un server Web allégé type Lighthttpd ou Boa peut tout à fait convenir pour de la supervision réseau (type Cacti) ou le contrôle d'un parc d'imprimantes avec Cups.

linuxem

 

D'autres systèmes ont été testés sur ces mini-PC, comme Windows NT Embedded (version embarquée de Windows NT, un peu lent sur eBox) et Kolibri OS (KolibriOS est un système d'exploitation complet avec interface graphique et applicatif, entièrement développé en assembleur, d'une légêreté et d'une rapadité déconcertantes, moins de 1,4 Mo).