INT160 : Systèmes embarqués, initiation à la robotique et à Linux embarqué


Retour
Imprimer la fiche programme
Code analytique: EDOINT160
Responsable  : Gérald OUVRADOU
Co-responsable  : Jérôme KERDREUX
   
Programmé en UVINT160

Présentation :

Il s'agit de s'initier aux problématiques de la programmation des systèmes embarqués. Connaître les contraintes issues du caractère autonome du dispositif à programmer, comprendre l'aspect central qu'occupe le temps dans son contrôle et se familiariser avec les outils utilisés pour sa programmation
Dans ce module, une place importante est donnée à la pratique. Celle-ci repose dans un premier temps sur un petit robot mobile nommé Hemisson [1] réalisé autour d'un micro-contrôleur [2] de type PIC [3]. La programmation de ce dernier est faite en C. Le recours à un système d'exploitation temps réel et à une bibliothèque de fonctions dédiées au robot permet de l'exploiter sans faire appel nécessairement à des notions avancées du langage C.
Dans un second temps, l'accent est mis sur une approche « Linux Embarqué » au travers de la mise en œuvre du système OpenWRT [4], distribution Linux dédiée à l'embarqué, sur une carte de développement.

Objectifs pédagogiques :


  • Être capable de citer les contraintes induites par le caractère autonome d'un système embarqué
  • Être capable de savoir utiliser efficacement une chaîne de développement croisée destinée à la programmation d'un système embarqué
  • Être capable de savoir expliquer les caractéristiques d'un micro-contrôleur et d'un « system on chip »

Pré-requis :

Notions et pratique basique de la programmation avec un langage impératif tel que C, Java, ou autre. Notions d'électronique analogique et numérique : conversion A/N et N/A, loi d'Ohm, ...
Notions des commandes de base de Linux (cf. module TC131C).

Liens :

[1] Le robot Hemisson : http://www.k-team.com/mobile-robotics-products/hemisson
[2] Les micro-contrôleurs : http://en.wikipedia.org/wiki/Microcontroller
[3] Le micro-contrôleur PIC : http://bit.ly/dvVSvo
[4] OpenWRT : http://openwrt.org
[5] « System on chip » http://en.wikipedia.org/wiki/System_on_Chip
[6] Atmel : http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4102

Volume horaire : 20h


Contenu détaillé :

- Séance 1 :
Cours 1 : concept de système embarqué, les systèmes à processeur (cours d'Alexis Polti)
Cours 2 : présentation du micro-contrôleur PIC, son architecture, son environnement de développement (cours d'André Thépaut).

- Séance 2 : Travaux pratiques (STP1-2) : découverte du PIC à l'aide d'un outil de simulation.

- Séance 3 (TP1) : Prise en main de l'environnement de développement en langage C du robot Hémisson, la bibliothèque de programmes.

- Séances 4 et 5 (TP2 et TP3) : nano-projet sur le thème de la robotique. Développer par équipe de 3 ou 4 élèves. une série de petites applications de plus en plus complexes ayant trait à la gestion d'un véhicule autonome. Il s'agit de faire évoluer celui-ci en temps limité au sein d'un espace contraint.

- Séance 6 (C3 et STP3) : Présentation d'un système Linux embarqué, aspects matériels (processeur, RAM, système de stockage, périphériques ...) et logiciels (chargeur d'amorçage, noyau, système de fichiers…) Introduction au kit de développement Atmel [6] et à l'environnement OpenWRT.

- Séance 7 (TP4) : Travaux pratiques sur le kit développement et l'environnement OpenWRT : compilation, installation et premiers tests, également par équipe de 3 ou 4 élèves.

Travaux personnels encadrés :

Séances 4 et 5 (TP2 et TP3) : nano-projet (voir contenu détaillé)


Année 2016/2017
Dernière mise à jour le 02-OCT-17
Validation par le responsable de programme le


IMT Atlantique
Campus de Brest
Technopôle Brest-Iroise
CS 83818
29238 Brest Cedex 3
France

Tél  +33 (0)2 29 00 11 11
Fax +33 (0)2 29 00 10 00