![]() |
Projet PAF : Développement d'un petit système d'exploitation |
Bienvenue sur ce sujet de projet PAF.
L’objectif de ce projet est de concevoir un petit système d’exploitation. Il vous permettra d’approfondir et de mettre en pratique les cours des modules INF104 (Systèmes d’Exploitation et Langage C) et ELECINF102 (Processeurs et Architectures Numériques).
Voici quelques liens vers des documents techniques qui vous seront utiles tout au long du projet, gardez les à proximité (mais ne commencez pas à les lire tout de suite, vous n’aurez pas le temps de les finir d’ici à la fin du projet) :
Certaines partie d’un système d’exploitation étant fortement liées aux détails du matériel sur lequel il doit s’exécuter, il va falloir choisir une première cible pour le développement.
Dans le cadre de ce projet, pour des raisons de simplifications pédagogiques, nous ciblerons un SoC (System-on-Chip) à base de ARM Cortex-M3. Et plus précisément la carte Luminary Micro Stellaris LM3S6965EVB.
Cette carte a été choisie car c’est une des cartes à base de Cortex-M3 qui est émulée par QEMU. QEMU vous permettra, depuis votre ordinateur, de simuler cette carte et de facilement déboguer le code qui tourne dessus, ce qui sera très utile pendant toute la durée du projet.
Le Stellaris LM3S6965 est un SoC produit par Texas Instruments. Il contient un cœur de processeur ARM Cortex-M3 ainsi qu’un certain nombre de périphériques regroupés sur le même circuit : timers, UART, ADC, I2C, et de la mémoire : 256 ko de mémoire flash et 64 ko de mémoire vive (SRAM).
Pour pouvoir développer durant cette UE, vous aurez besoin, outre un éditeur de texte pour coder en C (choisissez un avec lequel vous êtes à l’aide) :
qemu-system-arm
, Arch : qemu
et qemu-arch-extra
)gcc-arm-none-eabi
et gdb-arm-none-eabi
, Arch : arm-none-eabi-gcc
, arm-none-eabi-gdb
et arm-none-eabi-binutils
)Commencez par récupérer et installer ces paquets sur vos machines.
Avant de commencer et de rentrer dans le vif du sujet, un peu de réflexion :
Une fois que vous avez convergé vers des réponses qui vous satisfont, discutez-en avec votre encadrant. Seulement après, passez à la page suivante.
© Copyright 2020 Guillaume Duc. Le contenu de cette page est mis à disposition selon les termes de la Licence Creative Commons Attribution - Partage dans les Mêmes Conditions 4.0 International (à l'exception des exemples de code tirés du noyau Linux et qui sont distribués sous leurs licences d'origine).