Descriptif
4SE03/4SE07 (ex. SE203) est une brique de base de la filière Systèmes Embarqués de l'école. Elle s'intéresse à la programmation bas-niveau d'un système embarqué, l'interaction entre le logiciel, le processeur et les périphériques ainsi que le démarrage et la mise en place de l'environnement d'exécution. Ces éléments permettent ainsi aux élèves d'avoir une vision complète des interactions matérielles/logicielles.
L'UE s'appuie sur le cours de 3TC31 (ex. INF107) en première année, notamment sur les notions d'architecture des processeurs et de programmation en langage C. Plusieurs cours de la filière ou de l'option Systèmes Embarqués se basent sur les connaissances et compétences acquises en 4SE03/4SE07, en particulier 4SE02 et 5SE04.
Note : 4SE03 et 4SE07 sont indissociables. Il n'est pas possible de suivre 4SE03 uniquement sans suivre 4SE07 et vice-versa.
Objectifs pédagogiques
Acquis d'apprentissage
À l'issue de l'UE, l'élève sera capable de:
- Développer une application, interagissant avec plusieurs périphériques, en C, pour un microcontrôleur, sans support préexistant, et en respectant les bonnes pratiques de programmation
- Mettre en œuvre une méthodologie permettant de déboguer une application s'exécutant sur un microcontrôleur
- Automatiser la construction d'une application destinée à une autre architecture (cross-compilation)
- Expliquer les différentes étapes nécessaires pour la mise en place d'un environnement permettant l'exécution d'une application développée en C pour un microprocesseur
Compétences de rattachement (et justification)
- BC8.3 – Concevoir et développer des solutions technologiques en s’appuyant sur un paradigme de programmation spécifique ou en concevant des architectures matérielles et logicielles spécifiques; Justification : 4SE03/07 permet aux élèves d'apprendre à développer une application, en langage C, pour un système à microprocesseur.
- BC8.1 – Analyser les besoins d’un projet, établir les cahiers des charges fonctionnel et technique en tenant compte des contraintes technologiques (spécifiques aux systèmes à large échelle, systèmes interactifs, aux systèmes embarqués, …); Justification : 4SE03/07 permet aux élèves de découvrir le fonctionnement bas-niveau, matériel et logiciel, d'un système à microprocesseur (et en particulier d'un système embarqué), leur permettant ainsi de découvrir les contraintes technologiques inhérentes à ces systèmes.
- BC1.5 – Réaliser un système complexe en mettant en œuvre les solutions technologiques nécessaires, en s’appuyant sur les ressources humaines, techniques, matérielles disponibles en faisant preuve de rigueur, d’esprit critique et d’adaptabilité; Justification : Durant 4SE03/07, les élèves doivent développer une application ambitieuse en s'appuyant sur leurs connaissances.
- Contrôle de connaissance : 3
- Cours magistral : 9
- Travaux Pratiques : 12
effectifs minimal / maximal:
/40Diplôme(s) concerné(s)
Parcours de rattachement
Pour les étudiants du diplôme Echange international non diplomant
- Connaissances de base du C (pointeurs, allocation mémoire dynamique...)
- Maîtrise de l'environnement Linux (utilisation de la ligne de commande) et de git
Pour les étudiants du diplôme Diplôme d'ingénieur
- Connaissances de base du C (pointeurs, allocation mémoire dynamique...)
- Maîtrise de l'environnement Linux (utilisation de la ligne de commande) et de git
Format des notes
Numérique sur 20Littérale/grade européenPour les étudiants du diplôme Echange international non diplomant
Vos modalités d'acquisition :
Les apprentissages de 4SE03/07 sont évalués en deux parties : une partie concernant les connaissances théoriques (note affectée arbitrairement à 4SE03) et une partie concernant les compétences pratiques (note affectée arbitrairement à 4SE07).
La note de 4SE07, qui constitue arbitrairement la partie pratique de 4SE03/07, est constituée de deux parties :
- Le rendu du projet
- Un examen de 3 heures, individuel, sur les machines de l'école en mode examen (sans accès interne, IA interdites...)
Pour ces deux points, les critères suivants sont pris en compte : avancement dans le projet/examen, respect des bonnes pratiques enseignées durant le cours, qualité de la production.
Les deux notes sont combinées (même coefficient) pour donner la note finale à 4SE07.
L'UE est acquise si Note finale >= 10- Crédits ECTS acquis : 2.5 ECTS
La note obtenue rentre dans le calcul de votre GPA.
Pour les étudiants du diplôme Diplôme d'ingénieur
Vos modalités d'acquisition :
Les apprentissages de 4SE03/07 sont évalués en deux parties : une partie concernant les connaissances théoriques (note affectée arbitrairement à 4SE03) et une partie concernant les compétences pratiques (note affectée arbitrairement à 4SE07).
La note de 4SE07, qui constitue arbitrairement la partie pratique de 4SE03/07, est constituée de deux parties :
- Le rendu du projet
- Un examen de 3 heures, individuel, sur les machines de l'école en mode examen (sans accès interne, IA interdites...)
Pour ces deux points, les critères suivants sont pris en compte : avancement dans le projet/examen, respect des bonnes pratiques enseignées durant le cours, qualité de la production.
Les deux notes sont combinées (même coefficient) pour donner la note finale à 4SE07.
L'UE est acquise si Note finale >= 10- Crédits ECTS acquis : 2.5 ECTS
- Crédit d'UE électives acquis : 2.5
- Crédits ECTS acquis : 2.5 ECTS
La note obtenue rentre dans le calcul de votre GPA.
L'UE est évaluée par les étudiants.
Programme détaillé
- Architecture des systèmes embarqués
- Architectures ARM
- Assembleur ARM
-
Chaîne de compilation
-
Anatomie des exécutables
-
Conventions d'appel et ABI
-
Projet sur carte à microcontrôleur