Valid XHTML 1.0 Strict

Améliorations autour de PolyORB Kernel

Le but de ce projet est de travailler sur le noyau PolyORB Kernel. Ce noyau minimal est conçu pour construire des systèmes critiques sûrs et sécurisés. Il fournit un ensemble de fonctionnalités qui sont activables/désactivables à la compilation. Quelques lignes de code et la configuration sont générées à partir de modèles AADL. Ainsi, nous pouvons vérifier le modèle puis générer le système à partir du modèle. Nous garantissons alors que l'implémentation du système suit les spécifications et nous réduisons le nombre d'erreurs de conception.

Nous avons repris le concept d'OS partitionnés : l'OS est constitué de partitions contenant des threads. Chaque partition est isolée spatialement (une partition ne peut pas accéder à l'espace d'adressage d'une autre partition) et temporellement (une partition ne peut pas déborder sur le temps d'exécution d'une autre partition). On retrouve ce concept de système partitionné dans les spécifications d'ARINC653.

Nous proposons ici que vous puissiez travailler sur le noyau PolyORB Kernel et de le porter sur ARM. Le noyau définit un ensemble de fonctions bas niveaux qui sont dépendantes du matériel qui utilise la BSP. Le but est de pouvoir implémenter ces fonctions pour l'architecture ARM et plus spécialement sur la BSP Nintendo DS. Les points suivants devront être fonctionnels :

  • Boot de l'OS
  • Context-switch
  • Console (écran de la Nintendo DS)
  • Utilisation du Wifi

Le code devra bien entendu être minimal. Vous pouvez utiliser du code existant (voir le projet de portage de RTEMS sur Nintendo DS, voire d'autres projets existants - listés ci-dessous). Vous devez cependant veiller à une bonne intégration du code.

Le code devra fonctionner sur une console standard utilisant un linker et sur l'émulteur DesMuMe (voir liens ci-dessous).

Il faudra donc, au cours du projet, proposez des mécanismes permettant d'isoler les canaux de communications de chaque partition.

Le code du noyau est encore un peu jeune, c'est pour cela qu'il y aura déjà un travail de refactorisation du code et de debug.

Quelques liens