Logiciels Libres et Systèmes Embarqués


Chapitre 1. Présentation

1.1. Introduction

1.1.1. Travaille demandé

Le but de ce Travail d'Étude et de Recherche (T.E.R) est la création d'une distribution Linux, nommée « Dream[Slack] », pour la console de jeu SEGA DreamCast. Tout le monde, et surtout les non-informaticiens, doivent pouvoir l'utiliser sans ajout d'adaptateurs clavier, souris ou VGA. Le choix de cette machine a été déterminé par rapport au modem intégré, son très faible coup, ainsi que par la facilité à pouvoir développer librement dessus.

1.1.2. Approche du problème

Pour que n'importe quel utilisateur traditionnel de DreamCast puisse utiliser Linux sur cette machine, il faut qu'il soit capable de le faire depuis son joystick. Ce T.E.R. se divise donc en deux parties. La première partie consiste en l'écriture d'un pilote qui simule une souris à partir des entrées du joytsick. En effet, beaucoup plus de logiciels utilisent la souris que le joystick.

La seconde partie est la distribution Dream[Slack] en elle-même. On y retrouve un serveur HTTP qui fournis des pages permettant de lancer des applications ou de configurer le système, cela grâce des scripts s'exécutant sur le serveur. Afin de combler le manque de claviers, les pages HTML sont étendu par l'ajout de JavaScript, ce qui permet de créer un clavier virtuel accessible depuis la souris, donc depuis le joystick.

1.1.3. Moyens mis en oeuvre

Pour pouvoir développer librement sur DreamCast, il faut posséder, soit un câble de liaison entre le port série du PC et celui de la DreamCast, soit un adaptateur Ethernet. Il faut aussi utilisé la compilation croisée, c'est à dire que les programmes sont compilés sur une architecture différente de celle de la cible, ensuite, ils sont injectés dans la DreamCast grâce aux adaptateurs sus-mentionnés.

Tout cela fait énormément penser au développement sur systèmes embarqués, et les caractéristiques de la DreamCast vont dans ce sens : processeur SH4, 16 Mo de mémoire RAM, pas de disque dur.