Choisissez votre langue
Cours de logiciels embarqués
Plus de 2 millions d'étudiants dans le monde

Cours de logiciels embarqués

4,8

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.

Dedika pour les entreprises

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.

Cliquez ici

Contenu du cours

8 Chapitres • 41 LeçonsDurée entre 4 et 360 heures (vous décidez)

Chapitre 1Voir les détails

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 2Voir les détails

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 3Voir les détails

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 4Voir les détails

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 5Voir les détails

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 6Voir les détails

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 7Voir les détails

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 8Voir les détails

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.

Certification

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...
Giulio Carlo
Giulio CarloÉtudiant en Marketing Digital
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.
Mariana Ferres
Mariana FerresÉtudiante en Photographie
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 !
Luciana Alvarenga
Luciana AlvarengaÉtudiante en Design d'Ongles
La plateforme est rapide, simple à utiliser. La diversité du contenu et les vidéos complémentaires aident beaucoup dans l'apprentissage.
André Felipe
André FelipeÉtudiant en Ingénierie de Prompt

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