Vous connaissez déjà le langage C et vous avez entendu parler de l’assembleur ? Vous voulez comprendre toutes les manipulations pour programmer pour l’embarqué ? Mieux, vous souhaitez développer vous-mêmes vos programmes en C, sans vous reposer sur l’assemblage de morceaux pré-empaquetés de systèmes embarqués ? Alors, ce cours est fait pour vous !
Vous allez utiliser les outils qui vous permettront de programmer, débuguer et exécuter des programmes en langage C sur une cible embarquée. Puis nous vous expliquerons l’architecture d’un processseur et son flux de contrôle. Vous en saurez alors assez pour programmer sur un microcontrôleur et configurer un périphérique. Vous allez notamment configurer des broches d’entrée/sortie et des timers. Pour finir, vous allez manipuler et configurer différents périphériques classiques des microcontrôleurs : les PWM, les ADC et la liaison série.
À la fin de ce cours, vous aurez programmé un jeu embarqué par vous-mêmes, et vous aurez acquis toutes les compétences minimales pour comprendre les spécificités de la programmation en C sur une cible embarquée.
Intervenants
Pierre-Emmanuel Hladik
Maître de Conférences à l’INSA de Toulouse et chercheur au LAAS-CNRSVincent Mahout
Maître de Conférences à l’INSA de Toulouse et chercheur au LAAS-CNRSDurée
Début le 01 Septembre 2017
Prérequis
Prérequis :
- Programmer en C
- Connaître la notion de langage d’assemblage
Pour réaliser ce cours de manière optimale, je vous conseille d’utiliser une machine sous Windows et d’avoir sous la main une carte Nucleo STM32XXX. Néanmoins, cette carte n’est pas obligatoire pour réaliser le cours, car toutes les activités peuvent être réalisées en simulé.
Charge de travail
30 heures au total
Coût
Gratuit
Certification
Vous devez compléter tous les exercices du cours et obtenir une note finale d’au moins 70% pour obtenir votre certification !
Un compte OpenClassrooms Premium Solo (20€ / mois) est nécessaire pour valider votre certification.
Déroulement
Chaque cours est composé d’une ou plusieurs parties et peut comporter du texte, des images (schéma, illustration) et des vidéos. Les vidéos des cours durent 10 minutes maximum, avec une moyenne de 3-4 minutes. Elles sont visualisables à tout moment sur OpenClassrooms et téléchargeables en haute définition.
Chaque partie d’un cours certifiant est ponctuée d’exercices de 2 types :
– des quiz corrigés automatiquement
– des devoirs libres (exemple : créer un site web avec des consignes précises).Ces devoirs sont évalués par les pairs. Chaque devoir est corrigé 3 fois par 3 autres élèves, dans un processus en double aveugle, selon un barème fixé par le professeur. La note finale est la moyenne des 3 notes reçues sur le devoir.
Si vous rencontrez des difficultés, pas de panique ! Vous pouvez à tout moment obtenir de l’aide sur les forums.
Programme
Partie 1 – Installez et utilisez les outils pour programmer en C sur une cible embarquée
1. Introduction
2. Déployez vos outils pour programmer sur une cible embarquée
3. Configurez une cible, compilez votre programme et exécutez-le
4. Manipulez les principaux outils de développement
Activité : Créez un projetPartie 2 – Comprenez l’exécution d’un programme
1. Introduction
2. L’architecture programmable ARM dans ses grandes lignes
3. L’accès mémoire dans les architectures ARM
4. Procédures et pile système
5. Les exceptions et les interruptions
6. Compilation C et assembleur
Quiz : Les grands principes de l’exécutionPartie 3 – Programmez votre microcontrôleur
1. Spécificité d’une architecture microcontrôleur
2. Manipulez les registres et les masques
3. Configurez les ports d’entrée/sortie
4. Gérer le temps avec les timers
5. Gérez vos interruptions
Quiz : Microcontrôleur et premiers périphériques
Activité : Allumez une LED de manière aléatoirePartie 4 – Configurez et utilisez des périphériques avancés
1. Configurez un modulateur de longueur d’impulsion
2. Domptez votre convertisseur analogique-numérique
3. Communiquez en série
4. Terminez sur des bonnes pratiques
Quiz : Les grands principes des différents périphériques
Activité : Détectez l’appui sur un boutonPlateforme
OpenClassrooms
Une technologie issue du projet Open Source CLAIRE (Community Learning through Adaptive and Interactive multichannel Resources for Education) développé conjointement par OpenClassrooms (ex : Simple IT / Site du zéro), le laboratoire LIRIS (équipe Silex), et INRIA Grenoble (équipe WAM)