Console de Jeux du GEI Programmation ADA sur systèmes embarqués

Une nouvelle approche de l'algorithmique et programmation

Jusqu'en 2014, l’enseignement pratique de l'UF "Algorithmique et Programmation - Systèmes d'exploitation" en 2IMACS se basait sur l’utilisation de PC pour l’exécution des programmes. Les étudiants mettaient au point leurs algorithmes et testaient leur programmes en ADA sur un PC.

Afin d’actualiser cet enseignement, nous proposons depuis 2015 aux étudiants d’acquérir les mêmes compétences mais dans le cadre des systèmes embarqués au travers l’utilisation de cartes électroniques équipées de microcontrôleurs.

Compétences visées

 Les compétences concernent :

  • l’analyse d’un problème complexe,
  • la conception d’un programme basé sur des algorithmes (éventuellement récursifs) et une décomposition cohérente en sous-programmes,
  • le choix des structures de données adaptées au problème parmi les tableaux contraints et non contraints, les articles et les listes chaînées,
  • la mise en œuvre du programme et l’écriture des tests associés.


Cette évolution nous permet également d’aborder les problèmes de limitation de performances des cibles, et de donner les rudiments des concepts d’entrées/sorties numériques ou analogiques liés aux systèmes embarqués.


Architecture de la console

 

Le système de console de jeux développé par S. Di Mercurio est basé sur une platine STM32 F3 "Discovery", incluant différents capteurs tels qu'un accéléromètre, gyromètre, et magnétomètre, avec une carte d'interface développée à l'INSA.
La console permet de simuler une petite console de jeu, avec écran, système audio, potentiomètre et touches, et interface pour une carte microSD et la communication avec le PC par un port USB. Une centaine d'exemplaires de la console de jeux est en service depuis 2015, grâce à un financement spécifique du STPI.

Sujets de TP

 

Les sujets de TP (page de G. Auriol) couvrent les aspects suivants:

  • Développement d'un programme de "Pacman" avec gestion de l’affichage du labyrinthe, des déplacements, du nombre de vie, des contacts avec les murs et du chronomètre
  • Développement d'un programme "Snake" avec déplacements commandés par les accéléromètres 
  • Conception d'un algorithme performant de recherche d’une valeur dans un tableau classé
  • Gestion du capteur de champ magnétique 3 axes (page de P. Acco)

Retour d'expérience

L’équipe enseignante a reçu un premier retour de la part des étudiants très positif. Certains étudiants, particulièrement motivés, souhaiteraient avoir à disposition en dehors des TP encadrés des cartes pour terminer leur TP ou aller plus loin, la plateforme possédant un caractère pédagogique et ludique certain. L’équipe enseignante étudie des solutions de prêt de cartes en s'appuyant par exemple sur une structure étudiante existante.

 

Contacts: 

  • Sébastien DI MERCURIO (dimercur @ insa-toulouse.fr)
  • Pascal ACCO (pascal.acco @ insa-toulouse.fr)
  • Guillaume AURIOL (g_auriol @ insa-toulouse.fr)
  • José MARTIN (jose.martin @ insa-toulouse.fr)

 

Mise à jour: Avr. 2015