CS-309 / 3 crédits

Enseignant: Beuchat René

Langue: Français


Résumé

L'objectif de ce cours est de s'approprier les connaissances nécessaires pour réaliser du développement "full stack" depuis le hardware jusqu'au software application et s'exécutant sur un système d'exploitation Linux. La base des laboratoires est une plateforme embarquée basée sur un SOC FPGA & ARM.

Contenu

Mots-clés

Micro-controllers, Micro-contrôleurs, FPGA, SOC, Embedded Systems, Logic Analyzer, Oscilloscope, projects, work in groups, C, VHDL.

Compétences requises

Cours prérequis obligatoires

  • CS-173: Digital system design / Conception de systèmes numériques 
  • CS-208: Computer architecture
  • CS-209: Architecture des Systems-on-Chip

Cours prérequis indicatifs

  • CS-307: Introduction to multiprocessor architecture

Concepts importants à maîtriser

Les étudiants doivent connaître l'architecture d'un processeur, d'un système informatique, quelques notions de programmation en C, en langage assembleur et en VHDL.

Acquis de formation

A la fin de ce cours l'étudiant doit être capable de:

  • Analyser le problème à résoudre ;
  • Planifier le travail à réaliser ;
  • Créer l'architecture du système à réaliser ;
  • Coordonner le travail ;
  • Concevoir le système à réaliser ;
  • Implémenter la solution ;
  • Intégrer les modules disponibles ;
  • Expliquer la solution développée.

Compétences transversales

  • Planifier des actions et les mener à bien de façon à faire un usage optimal du temps et des ressources à disposition.
  • Fixer des objectifs et concevoir un plan d'action pour les atteindre.
  • Communiquer efficacement et être compris y compris par des personnes de languages et cultures différentes.
  • Persévérer dans la difficulté ou après un échec initial pour trouver une meilleure solution.
  • Faire preuve d'esprit critique
  • Utiliser les outils informatiques courants ainsi que ceux spécifiques à leur discipline.

Méthode d'enseignement

  • Travail par groupes d'étudiants ;
  • Laboratoires pratiques ;
  • Mini-projets spécifiques par groupe ;
  • Travaux avec des outils de développement croisé et de systèmes matériels réels ;
  • Utilisation des outils de débogage tels que oscilloscopes et analyseurs logiques ;
  • Les travaux sont réalisés sur les systèmes matériels réels avec des micro-contrôleurs et FPGA.

Travail attendu

  • Brainstorming par groupe ;
  • Répartition de la charge de travail à travers le groupe ;
  • Gestion de la planification ;
  • Analyse des données des data-sheet des composants utilisés ;
  • Résolution de problèmes pratiques sur des systèmes matériels ;
  • Développement de modules FPGA en VHDL ;
  • Développement de logiciels en C et observation en assembleur du déroulement du programme ;
  • Configuration et construction d'un Linux sur un système embarqué.

Méthode d'évaluation

  1. Rapports réguliers (60%)
  2. Présentation orale finale (20%)
  3. Démonstration (15%)
  4. Tenue d'un journal de laboratoire (5%)

Encadrement

Office hours Non
Assistants Oui
Forum électronique Oui

Ressources

Service de cours virtuels (VDI)

Non

Sites web

Liens Moodle

Préparation pour

CS-473: Embedded Systems

CS-476: Real Time Embedded systems

Dans les plans d'études

  • Semestre: Printemps
  • Forme de l'examen: Pendant le semestre (session d'été)
  • Matière examinée: Projet de systems-on-chip
  • Projet: 3 Heure(s) hebdo x 14 semaines
  • Semestre: Printemps
  • Forme de l'examen: Pendant le semestre (session d'été)
  • Matière examinée: Projet de systems-on-chip
  • Projet: 3 Heure(s) hebdo x 14 semaines

Semaine de référence

 LuMaMeJeVe
8-9     
9-10     
10-11     
11-12     
12-13     
13-14     
14-15     
15-16     
16-17     
17-18     
18-19     
19-20     
20-21     
21-22