
Cours d'initiation au BSP et C embarqué
Maîtrisez les compétences qui animent les produits embarqués réels — du C nu et des scripts de liaison à l'architecture BSP complète. Ce cours vous mène de la configuration de la chaîne d'outils aux pilotes pilotés par interruption, à la communication série et au débogage matériel sur de véritables microcontrôleurs. Que vous fassiez vos premiers pas dans les systèmes embarqués ou que vous perfectionniez vos compétences en micrologiciel, voici la base pratique qu'exige le développement professionnel de BSP.
Ce que vous allez apprendre:
Configurez les périphériques GPIO, les temporisateurs, UART, SPI et I2C au niveau des registres sans bibliothèques du fournisseur.
Écrivez et modifiez des scripts de liaison GNU pour placer correctement le code, les données et la pile dans la mémoire du microcontrôleur.
Construisez un BSP structuré et portable avec des couches HAL propres qui compilent sur plusieurs cibles matérielles.
Implémentez des routines de service d'interruption, des pilotes de tampon circulaire et des transferts DMA pour une communication embarquée efficace.
Appliquez des normes de codage alignées sur MISRA et des tests unitaires hébergés pour produire un micrologiciel fiable et soucieux de la sécurité.
Déboguez un micrologiciel embarqué à l'aide de sondes JTAG/SWD, d'analyseurs logiques et d'une analyse post-mortem des registres de défauts.
Comment vous étudiez de façon pratique Cours d'initiation au BSP et C embarqué
Comment vous pratiquez Cours d'initiation au BSP et C embarqué
Pour vous, entreprise, qui souhaitez former votre équipe
Avec Dedika pour entreprises, le cours inclut des exercices et des exemples adaptés à votre propre entreprise et à ses besoins spécifiques.
Contenu du cours
8 Chapitres • 40 LeçonsDurée entre 4 et 360 heures (vous décidez)
Chapitre 1MasquerCacher les détailsVoir les détailsSystèmes embarqués et principes fondamentaux du BSP
Systèmes embarqués et principes fondamentaux du BSP
Leçon 1 • Premier programme sur métal nu
Écrit et flashe un programme C minimal sans système d'exploitation ni bibliothèque. Démontre le cycle complet de compilation, flashage et débogage sur du matériel réel.
Leçon 2 • Lecture de la documentation matérielle
Enseigne la navigation systématique des fiches techniques et des manuels de référence. Soutient directement la programmation au niveau des registres dans les chapitres suivants.
Leçon 3 • Configuration de la chaîne d'outils et de l'environnement de développement
Installe et configure un compilateur croisé, un débogueur et un système de construction. Les étudiants produisent un environnement de construction fonctionnel avant d'écrire du code.
Leçon 4 • Ce qu'est un BSP et ce qu'il fait
Définit la portée du BSP : code de démarrage, pilotes et couches HAL. Relie les responsabilités du BSP aux tâches de mise en service du matériel.
Leçon 5 • Anatomie d'un système embarqué
Couvre les processeurs, la mémoire, les périphériques et les bus comme un modèle matériel unifié. Établit le vocabulaire utilisé tout au long du cours.
Chapitre 2MasquerCacher les détailsVoir les détailsNotions essentielles de programmation C embarqué
Notions essentielles de programmation C embarqué
Leçon 1 • Types à largeur fixe et représentation des données
Présente les types stdint.h et leur importance matérielle. Empêche les bogues d'hypothèses de taille qui causent des défaillances silencieuses sur le matériel cible.
Leçon 2 • Pointeurs et modèles d'accès à la mémoire
Couvre l'arithmétique des pointeurs, les pointeurs de fonction et l'accès aux E/S mappées en mémoire. Permet directement la manipulation des registres dans les chapitres suivants.
Leçon 3 • Directives du préprocesseur et du compilateur
Couvre les macros, la compilation conditionnelle et les attributs du compilateur. Permet une sélection de code portable et spécifique au matériel entre les cibles BSP.
Leçon 4 • Techniques de manipulation des bits
Enseigne le masquage, la mise à un, la mise à zéro et le basculement de bits individuels. Ces opérations sont le principal mécanisme de configuration des registres matériels.
Leçon 5 • Normes de codage C embarqué
Applique les règles de style MISRA et l'analyse statique au code C embarqué. Construit des habitudes qui réduisent les défauts dans le code BSP critique pour la sécurité.
Chapitre 3MasquerCacher les détailsVoir les détailsArchitecture mémoire et scripts d'éditeur de liens
Architecture mémoire et scripts d'éditeur de liens
Leçon 1 • Syntaxe des scripts d'éditeur de liens et sections
Explique MEMORY, SECTIONS et les définitions de symboles dans les scripts GNU LD. Les étudiants placent .text, .data et .bss dans les régions correctes.
Leçon 2 • Configuration de la pile et du tas
Configure la taille de la pile, les limites du tas et la détection de débordement. Empêche les défaillances mémoire d'exécution les plus courantes dans les systèmes embarqués.
Leçon 3 • Carte mémoire du microcontrôleur
Mappe les régions Flash, SRAM et périphériques aux adresses physiques. Fournit le modèle spatial requis pour la rédaction de scripts d'éditeur de liens.
Leçon 4 • Code de démarrage et initialisation de l'environnement d'exécution C
Implémente la séquence de démarrage qui copie .data et met à zéro .bss avant main. Relie les symboles de l'éditeur de liens au code d'assemblage et C de démarrage.
Leçon 5 • Stratégies d'optimisation mémoire
Applique les indicateurs du compilateur et de l'éditeur de liens pour réduire la taille du code et des données. Directement pertinent lors du ciblage de microcontrôleurs aux ressources limitées.
Chapitre 4MasquerCacher les détailsVoir les détailsConfiguration des GPIO et des interruptions
Configuration des GPIO et des interruptions
Leçon 1 • Anti-rebond et détection de front
Implémente un anti-rebond logiciel et configure des interruptions déclenchées par front. Produit une détection fiable d'appui sur bouton comme exercice pratique.
Leçon 2 • Architecture des registres GPIO
Couvre les registres de direction, de sortie, d'entrée et de fonction alternative. Établit le modèle au niveau des registres appliqué à tous les pilotes de périphériques.
Leçon 3 • Activation de l'horloge et réinitialisation des périphériques
Explique pourquoi les périphériques doivent avoir leur horloge activée avant l'accès aux registres. Empêche le verrouillage silencieux causé par l'accès à des périphériques non cadencés.
Leçon 4 • Écriture de routines de service d'interruption
Implémente des ISR avec une nomenclature correcte, une latence minimale et un effacement sécurisé des drapeaux. Introduit les risques de données partagées entre le contexte ISR et le contexte main.
Leçon 5 • Principes fondamentaux du contrôleur d'interruptions
Configure le NVIC ou le contrôleur d'interruptions équivalent pour la priorité et l'activation. Relie les lignes d'interruption matérielles aux fonctions de gestionnaire C.
Chapitre 5MasquerCacher les détailsVoir les détailsTemporisateurs, PWM et synchronisation système
Temporisateurs, PWM et synchronisation système
Leçon 1 • Architecture matérielle du temporisateur
Explique le prédiviseur, le registre de rechargement automatique et les modes de comptage. Fournit le modèle conceptuel pour toutes les fonctionnalités basées sur les temporisateurs.
Leçon 2 • Capture d'entrée et mesure de fréquence
Utilise la capture d'entrée pour mesurer la largeur d'impulsion et la fréquence du signal. Démontre l'utilisation bidirectionnelle du même périphérique temporisateur.
Leçon 3 • Génération de signaux PWM
Configure les canaux de comparaison de sortie pour la PWM avec un rapport cyclique réglable. Permet le contrôle de moteurs et la gradation de LED comme applications pratiques.
Leçon 4 • Temporisateurs de surveillance et sécurité du système
Configure les temporisateurs de surveillance indépendants et à fenêtre pour la récupération après défaillance. Introduit le concept de surveillance de la vivacité du système dans la conception du BSP.
Leçon 5 • Génération de délais temporels précis
Implémente des délais bloquants et non bloquants en utilisant les interruptions de débordement du temporisateur. Remplace les délais basés sur des boucles peu fiables par une synchronisation précise basée sur le matériel.
Chapitre 6MasquerCacher les détailsVoir les détailsPilotes de communication série
Pilotes de communication série
Leçon 1 • Implémentation du pilote UART
Configure le débit en bauds, le format de trame et les registres d'émission et de réception. Construit un pilote UART par scrutation comme base pour les mises à niveau pilotées par interruption.
Leçon 2 • Implémentation du pilote SPI
Configure la polarité et la phase de l'horloge SPI ainsi que le contrôle de la sélection de circuit. Implémente des transferts full-duplex vers un capteur externe ou un périphérique mémoire.
Leçon 3 • UART piloté par interruption avec tampons circulaires
Améliore le pilote par scrutation pour utiliser les interruptions TX/RX et les tampons circulaires. Élimine le blocage du CPU pendant les transferts série.
Leçon 4 • Implémentation du pilote I2C
Implémente les séquences de démarrage, d'adresse, de données et d'arrêt I2C au niveau des registres. Gère correctement les erreurs ACK/NACK et d'arbitrage de bus.
Leçon 5 • Transferts accélérés par DMA
Déleste les transferts UART et SPI vers le contrôleur DMA, libérant ainsi le CPU. Introduit la configuration des canaux DMA et les interruptions de fin de transfert.
Chapitre 7MasquerCacher les détailsVoir les détailsArchitecture du BSP et modèles de conception de pilotes
Architecture du BSP et modèles de conception de pilotes
Leçon 1 • Stratification du BSP et conception de l'API
Définit les couches HAL, pilote et application avec des contrats d'interface clairs. Permet la réutilisation des pilotes entre variantes matérielles sans modifier le code de l'application.
Leçon 2 • Initialisation et cycle de vie du pilote
Implémente les transitions d'état init, deinit et d'alimentation pour chaque pilote. Assure un démarrage déterministe et un arrêt propre dans le BSP.
Leçon 3 • Fichiers de configuration et d'en-tête de carte
Centralise les affectations de broches, les fréquences d'horloge et les indicateurs de fonctionnalité dans les en-têtes de carte. Isole les différences matérielles dans un seul fichier par carte cible.
Leçon 4 • Portage du BSP vers une nouvelle cible
Parcourt les étapes pour porter un BSP existant vers un microcontrôleur différent. Valide la conception de l'abstraction en exerçant les points de jonction spécifiques au matériel.
Leçon 5 • Modèles de notification par fonctions de rappel et événements
Implémente des fonctions de rappel par pointeurs de fonction et des drapeaux d'événement pour les événements asynchrones des pilotes. Découple les composants internes du pilote de la logique de réponse de l'application.
Chapitre 8MasquerCacher les détailsVoir les détailsDébogage, test et validation
Débogage, test et validation
Leçon 1 • Intégration continue pour le micrologiciel
Automatise la construction, l'analyse statique et les tests unitaires dans un pipeline CI. Garantit que les contrôles de qualité du BSP s'exécutent à chaque modification de code sans effort manuel.
Leçon 2 • Gestion des défauts et récupération d'erreur
Implémente des gestionnaires de défaut matériel qui capturent les trames de pile et l'état du défaut. Permet l'analyse post-mortem des plantages dans le micrologiciel déployé.
Leçon 3 • Tests unitaires du code C embarqué
Applique des frameworks de tests unitaires basés sur l'hôte à la logique des pilotes BSP. Sépare le code dépendant du matériel de la logique pure testable.
Leçon 4 • Techniques de débogage JTAG et SWD
Utilise un débogueur matériel pour définir des points d'arrêt, inspecter les registres et parcourir les ISR. Renforce la confiance dans les flux de travail de débogage sur matériel réel.
Leçon 5 • Analyseurs logiques et oscilloscopes
Capture et décode les signaux UART, SPI et I2C sur les broches physiques. Corrèle le comportement logiciel avec les signaux électriques pour le débogage de protocole.
Votre certificat valide de réussite
Ce cours est pour vous :
Ingénieurs et ingénieures en électricité prêts à écrire du micrologiciel pour leurs propres conceptions matérielles.
Diplômés et diplômées en informatique qui intègrent leur premier rôle en systèmes embarqués.
Amateurs d'Arduino qui souhaitent dépasser les bibliothèques pour faire de la véritable programmation de microcontrôleurs.
Développeurs et développeuses de micrologiciels qui dépendent des HAL des fournisseurs et qui veulent comprendre ce qui s'exécute en dessous.
Étudiants et étudiantes en mécatronique qui réalisent des projets de fin d'études nécessitant un contrôle matériel de bas niveau.
Personnes en reconversion professionnelle venant du développement logiciel et qui visent des postes en systèmes embarqués ou en IoT.
Ce que nos apprenants disent
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 à 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 il est présenté ainsi que la transcription des vidéos, 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 au Canada ?
Les cours sont-ils gratuits?
Quelle est la charge de travail des 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 fonctionne?
Cours PDF




















