
Cours de logiciels embarqués
Maîtrisez l'ensemble de la pile logicielle embarquée, de la programmation C bare-metal et des pilotes périphériques à la conception RTOS et aux protocoles de communication. Ce cours vous donne les compétences pratiques pour construire un firmware de qualité professionnelle pour des microcontrôleurs réels. Que vous débutiez dans l'ingénierie embarquée ou que vous souhaitiez faire évoluer votre pratique professionnelle, cette formation vous y mènera.
Ce que vous allez apprendre:
Vous construirez des bases complètes en systèmes embarqués, en commençant par l'architecture des microcontrôleurs, la configuration de la chaîne d'outils et les techniques de programmation C spécifiques aux cibles à ressources limitées. Vous développerez des pilotes pour GPIO, timers, UART, SPI, I2C, ADC et CAN au niveau des registres. Vous implémenterez des conceptions pilotées par interruptions et assistées par DMA, puis architecturerez des applications multitâches à l'aide d'un RTOS. Le cours couvre la gestion de la mémoire, les protocoles de communication incluant USB, Ethernet et Modbus, ainsi que le débogage professionnel avec des outils matériels et l'analyse statique. Vous explorerez également les bootloaders, la conception basse consommation, la sécurité embarquée et les principes de sûreté fonctionnelle.
Comment vous étudiez de façon pratique Cours de logiciels embarqués
Comment vous pratiquez Cours de logiciels embarqués
Pour vous, entreprise, qui souhaitez former votre équipe
Avec Dedika pour les entreprises, le cours inclut des exercices et des exemples adaptés à votre activité et aux besoins spécifiques de votre entreprise.
Contenu du cours
8 Chapitres • 41 LeçonsDurée entre 4 et 360 heures (vous décidez)
Chapitre 1MasquerCacher les détailsVoir les détailsFondamentaux des systèmes embarqués
Fondamentaux des systèmes embarqués
Leçon 1 • Caractéristiques du logiciel embarqué
Identifie les propriétés uniques du logiciel embarqué : déterminisme, exécution sur métal nu et couplage étroit avec le matériel. Définit les contraintes qui façonnent tous les choix de conception ultérieurs.
Leçon 2 • Composants matériels de base
Passe en revue les microcontrôleurs, les processeurs, les types de mémoire et les périphériques. Relie les capacités matérielles aux décisions de conception logicielle.
Leçon 3 • Présentation de la chaîne d'outils de développement
Présente les compilateurs croisés, les éditeurs de liens, les débogueurs et les programmateurs flash. Les étudiants comprennent comment le code source devient un microprogramme exécutable sur un dispositif cible.
Leçon 4 • Configuration d'un environnement de développement
Guide les étudiants dans l'installation et la configuration d'une chaîne d'outils et d'un IDE complets. Produit un flux de travail fonctionnel de construction et de flash avant d'écrire le code de l'application.
Leçon 5 • Qu'est-ce qu'un système embarqué ?
Définit les systèmes embarqués par leur fonction dédiée, leurs contraintes de ressources et leurs exigences en temps réel. Établit le vocabulaire utilisé tout au long du cours.
Chapitre 2MasquerCacher les détailsVoir les détailsProgrammation C pour cibles embarquées
Programmation C pour cibles embarquées
Leçon 1 • Pointeurs et accès mémoire
Explique l'arithmétique des pointeurs, les qualificateurs volatile et l'accès aux registres mappés en mémoire. Permet directement la manipulation des registres matériels couverte dans les chapitres suivants.
Leçon 2 • Normes de codage C embarqué
Présente les directives de codage industrielles pour les microprogrammes critiques pour la sécurité, y compris les conventions de nommage et les fonctionnalités de langage restreintes. Prépare les étudiants aux revues de code professionnelles.
Leçon 3 • Types de données et disposition mémoire
Couvre les types d'entiers à largeur fixe, le regroupement de structures et les règles d'alignement. Garantit que les étudiants contrôlent précisément la disposition mémoire sur toute architecture cible.
Leçon 4 • Directives de préprocesseur et de compilateur
Couvre les macros, la compilation conditionnelle et les fonctions inline pour un microprogramme portable. Les étudiants apprennent à écrire des en-têtes d'abstraction matérielle utilisés dans tous les projets.
Leçon 5 • Techniques de manipulation de bits
Enseigne les opérateurs bit à bit, les masques et les opérations de décalage pour le contrôle des registres. Ces techniques sont appliquées dans chaque pilote de périphérique écrit ultérieurement.
Chapitre 3MasquerCacher les détailsVoir les détailsPériphériques et pilotes de microcontrôleur
Périphériques et pilotes de microcontrôleur
Leçon 1 • Communication série UART
Couvre le calcul du débit en bauds, le format de trame et l'accès aux registres d'émission/réception. Les étudiants mettent en œuvre un pilote UART par scrutation utilisé pour le débogage tout au long du cours.
Leçon 2 • Fondamentaux du CAN et du CNA
Explique la résolution de conversion analogique-numérique, la fréquence d'échantillonnage et la sélection de la tension de référence. Les étudiants lisent les données des capteurs et comprennent les exigences de conditionnement du signal.
Leçon 3 • Temporisateurs et génération MLI
Configure les temporisateurs matériels pour les événements périodiques, la capture d'entrée et la sortie MLI. La connaissance des temporisateurs est un prérequis pour les sujets d'ordonnancement en temps réel et de commande de moteur.
Leçon 4 • Configuration et contrôle des GPIO
Explique les modes d'entrée/sortie, les résistances de tirage et les réglages de force d'attaque. Les GPIO sont le périphérique le plus simple et ancrent tout le développement ultérieur de pilotes.
Leçon 5 • Protocoles de bus SPI et I2C
Compare les caractéristiques électriques et de protocole du SPI et de l'I2C, puis met en œuvre des pilotes maîtres pour chacun. Permet la communication avec des capteurs et des dispositifs de mémoire externe.
Chapitre 4MasquerCacher les détailsVoir les détailsInterruptions et programmation pilotée par les événements
Interruptions et programmation pilotée par les événements
Leçon 1 • Écriture de routines de service d'interruption
Couvre les conventions de nommage des ISR, le temps d'exécution minimal et les séquences d'effacement des indicateurs. Les étudiants écrivent des ISR pour GPIO et temporisateurs qui s'intègrent aux pilotes du chapitre 3.
Leçon 2 • Pilote UART piloté par interruptions
Refond le pilote UART par scrutation du chapitre 3 en une conception entièrement pilotée par interruptions. Démontre une amélioration mesurable de l'utilisation du processeur grâce à un exercice pratique.
Leçon 3 • Transferts de données assistés par DMA
Présente les contrôleurs d'accès direct à la mémoire pour décharger les transferts de masse du processeur. Les étudiants configurent le DMA pour l'UART et le CAN, réduisant considérablement la surcharge des interruptions.
Leçon 4 • Partage de données entre ISR et tâches
Aborde les variables volatile, l'accès atomique et les tampons circulaires pour la communication ISR-vers-principal. Empêche les bugs de corruption de données courants dans les conceptions pilotées par interruptions.
Leçon 5 • Architecture des interruptions et vecteurs
Explique les tables de vecteurs d'interruption, les niveaux de priorité NVIC et les types d'exceptions. Fournit le modèle conceptuel requis avant d'écrire tout code ISR.
Chapitre 5MasquerCacher les détailsVoir les détailsGestion de la mémoire dans les systèmes embarqués
Gestion de la mémoire dans les systèmes embarqués
Leçon 1 • Allocation statique vs. dynamique
Compare l'allocation statique avec malloc/free, en mettant en évidence les risques de fragmentation et de non-déterminisme. Guide les étudiants vers des stratégies d'allocation appropriées pour les microprogrammes critiques pour la sécurité.
Leçon 2 • Réduction de l'empreinte code et données
Applique les indicateurs du compilateur, l'optimisation au moment de l'édition de liens et la compression des données pour réduire la taille du microprogramme. Essentiel pour les dispositifs avec une capacité flash limitée.
Leçon 3 • Architecture mémoire embarquée
Mappe les sections flash, SRAM, pile, tas et éditeur de liens aux régions mémoire physiques. Fournit le modèle mental nécessaire pour interpréter les scripts d'édition de liens et les fichiers de carte mémoire.
Leçon 4 • Unités de protection mémoire
Configure les régions de l'UP mémoire pour appliquer les permissions d'accès et détecter les déréférencements de pointeur nul à l'exécution. Ajoute un filet de sécurité matériel au microprogramme fonctionnant sans système d'exploitation.
Leçon 5 • Utilisation de la pile et prévention du débordement
Quantifie la consommation de pile par appel de fonction et identifie les conditions de débordement. Les étudiants appliquent le marquage de pile et l'analyse statique pour dimensionner les piles correctement.
Chapitre 6MasquerCacher les détailsVoir les détailsSystèmes d'exploitation temps réel pour l'embarqué
Systèmes d'exploitation temps réel pour l'embarqué
Leçon 1 • Concepts RTOS et services du noyau
Présente les tâches, les types d'ordonnanceurs, la commutation de contexte et les objets du noyau. Établit le vocabulaire et le modèle mental du RTOS avant toute utilisation de l'API.
Leçon 2 • Temporisateurs, hook idle et gestion de l'alimentation
Utilise des temporisateurs logiciels et le hook idle pour mettre en œuvre des actions périodiques et des modes de veille basse consommation. Relie l'ordonnancement RTOS aux objectifs de consommation électrique du système.
Leçon 3 • Communication inter-tâches avec des files d'attente
Met en œuvre des files de messages pour passer des données entre les tâches et les ISR en toute sécurité. Remplace les motifs de tampon circulaire du chapitre 4 par des files d'attente gérées par le RTOS.
Leçon 4 • Analyse des échéances et ordonnançabilité
Applique l'analyse monolithique à taux fixe et l'estimation du temps d'exécution dans le pire cas pour vérifier que toutes les tâches respectent leurs échéances. Fournit une méthode formelle pour valider les conceptions RTOS.
Leçon 5 • Création et gestion de tâches
Couvre la création de tâches, l'attribution de priorités, le dimensionnement de la pile et la suppression. Les étudiants convertissent le microprogramme sur métal nu des chapitres précédents en une application multitâche.
Leçon 6 • Synchronisation avec des sémaphores et des mutex
Explique les sémaphores binaires, les sémaphores compteurs et les mutex pour la protection des ressources. Aborde l'inversion de priorité et son atténuation par l'héritage de priorité.
Chapitre 7MasquerCacher les détailsVoir les détailsProtocoles de communication embarqués
Protocoles de communication embarqués
Leçon 1 • Ethernet et TCP/IP sur microcontrôleurs
Configure un MAC/PHY Ethernet et intègre une pile TCP/IP légère. Les étudiants mettent en œuvre un serveur HTTP simple pour démontrer les dispositifs embarqués en réseau.
Leçon 2 • Mise en œuvre du protocole Modbus
Explique le tramage Modbus RTU, les codes de fonction et le mappage de registres sur UART. Les étudiants construisent un dispositif esclave qui répond aux demandes de lecture et d'écriture du maître.
Leçon 3 • Présentation des protocoles sans fil
Passe en revue les options Bluetooth Low Energy, Wi-Fi et radio sub-GHz pour la connectivité embarquée. Les étudiants évaluent les compromis des protocoles en termes d'alimentation, de portée et de débit.
Leçon 4 • Fondamentaux du périphérique USB
Introduit l'énumération USB, les descripteurs et la classe CDC pour la communication série virtuelle. Les étudiants configurent un périphérique USB CDC à l'aide d'une pile d'intergiciel.
Leçon 5 • Fondamentaux et pilote du bus CAN
Couvre la structure des trames CAN, l'arbitrage, la gestion des erreurs et la configuration des filtres. Les étudiants mettent en œuvre un pilote CAN et échangent des messages entre deux nœuds.
Chapitre 8MasquerCacher les détailsVoir les détailsTests et débogage de logiciels embarqués
Tests et débogage de logiciels embarqués
Leçon 1 • Tests d'intégration et au niveau système
Conçoit des tests d'intégration qui vérifient ensemble les pilotes de périphériques, les piles de protocoles et les tâches RTOS. Valide l'image du microprogramme complet par rapport aux exigences système.
Leçon 2 • Instrumentation et traçage
Applique la journalisation printf, la trace SWO et les analyseurs logiques pour observer le comportement à l'exécution de manière non intrusive. Complète le débogage par points d'arrêt pour les problèmes sensibles au timing.
Leçon 3 • Analyse statique et linting
Exécute des outils d'analyse statique pour détecter automatiquement les comportements indéfinis, le code inaccessible et les violations MISRA. Intègre l'analyse dans le pipeline de construction pour un retour continu.
Leçon 4 • Techniques de débogage matériel
Utilise des débogueurs JTAG/SWD, des points d'arrêt, des points de surveillance et l'inspection des registres pour diagnostiquer les défauts du microprogramme. Développe les compétences essentielles pour toutes les tâches de débogage ultérieures.
Leçon 5 • Tests unitaires du code embarqué
Présente les frameworks de test unitaire basés sur l'hôte et l'abstraction matérielle pour la testabilité. Les étudiants écrivent des tests pour la logique des pilotes sans nécessiter de matériel physique.
Votre certificat valide de réussite
Ce cours est fait pour vous :
Ingénieur électricien : souhaite écrire du firmware sans dépendre de ses collègues logiciels.
Maker passionné : prêt à dépasser les abstractions d'Arduino pour un contrôle au niveau des registres.
Développeur logiciel : cherche à se reconvertir vers des rôles embarqués dans des entreprises de produits matériels.
Étudiant en mécatronique : a besoin de compétences pratiques en firmware pour compléter ses cours de conception de systèmes.
Ingénieur embarqué junior : souhaite une formation structurée pour combler les lacunes laissées par l'apprentissage sur le terrain.
Ingénieur IoT en startup : responsable du firmware des dispositifs mais manque de formation formelle en systèmes embarqués.
Ce que disent nos élèves
Vos cours sont parfaits. J'ai acheté le forfait d'un an et j'ai enfin l'opportunité de suivre divers sujets qui m'intéressent sans avoir besoin de changer de plateforme... je vous remercie pour tout ce que vous faites, je vous ai déjà recommandés à d'autres personnes...

J'aime la façon dont les leçons vont droit au but et comment je peux changer de chapitres et passer le contenu dont je n'ai pas besoin.

J'aime le contenu et la façon dont les vidéos sont présentées et transcrites, ce qui accélère le processus !

La plateforme est rapide, simple à utiliser. La diversité du contenu et les vidéos complémentaires aident beaucoup dans l'apprentissage.

Formations principales
FAQ
Qui est Dedika ?
Le certificat est-il valable en France ?
Les cours sont-ils gratuits ?
Quelle est la charge de travail du cours ?
Comment sont les cours ?
Comment fonctionnent les cours ?
Quelle est la durée des cours ?
Quel est le coût ou le prix des cours ?
Qu'est-ce qu'un cours EAD ou en ligne et comment ça marche ?
Cours PDF




















