
Formation de base en BSP et C embarqué
Maîtrisez les compétences qui animent les produits embarqués réels — du C sur métal nu et des scripts de l'éditeur de liens à 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 vrais microcontrôleurs. Que vous débutiez dans les systèmes embarqués ou que vous cherchiez à perfectionner 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, temporisateurs, UART, SPI et I2C au niveau des registres sans utiliser de bibliothèques fournisseur.
Écrivez et modifiez des scripts de l'éditeur de liens 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 se compilent sur plusieurs cibles matérielles.
Mettez en œuvre 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 conformes à MISRA et des tests unitaires basés sur l'hôte 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'analyses post-mortem des registres de défauts.
Comment vous étudiez de façon pratique Formation de base en BSP et C embarqué
Comment vous pratiquez Formation de base en BSP et C embarqué
Pour vous, entreprise, qui souhaitez former votre équipe
Avec Dedika pour les entreprises, le cours inclut des exercices et des exemples adaptés à votre propre activité et aux besoins spécifiques de votre entreprise.
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 fondamentaux du BSP
Systèmes embarqués et fondamentaux du BSP
Leçon 1 • Premier programme sur métal nu
Écrit et flashe un programme C minimal sans OS ni bibliothèque. Démontre le cycle complet compilation-flashage-débogage sur du matériel réel.
Leçon 2 • Lecture de la documentation matérielle
Enseigne la navigation systématique dans les fiches techniques et les manuels de référence. Soutient directement la programmation au niveau des registres dans les chapitres suivants.
Leçon 3 • Installation 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 et fait un BSP
Définit le périmètre 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 en tant que modèle matériel unifié. Établit le vocabulaire utilisé tout au long du cours.
Chapitre 2MasquerCacher les détailsVoir les détailsEssentiels de la programmation C embarquée
Essentiels de la programmation C embarquée
Leçon 1 • Types à largeur fixe et représentation des données
Introduit les types stdint.h et leur signification 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 entrées-sorties 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 de bits
Enseigne le masquage, la mise à un, la mise à zéro et le basculement de bits individuels. Ces opérations sont le mécanisme principal pour configurer les registres matériels.
Leçon 5 • Normes de codage C embarqué
Applique des règles de style MISRA et une 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 et sections des scripts d'éditeur de liens
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 des scripts de l'éditeur de liens.
Leçon 4 • Code de démarrage et initialisation de l'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 assembleur 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 les interruptions déclenchées par front. Produit une détection fiable d'appui sur bouton en tant qu'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 être activés en horloge avant l'accès aux registres. Empêche le verrouillage silencieux causé par l'accès à des périphériques non activés.
Leçon 4 • Rédaction de routines de service d'interruption
Implémente les ISR avec une dénomination correcte, une latence minimale et un effacement sécurisé des indicateurs. Introduit les risques de données partagées entre le contexte ISR et le contexte main.
Leçon 5 • Fondamentaux du contrôleur d'interruption
Configure le NVIC ou le contrôleur d'interruption é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 temporisation système
Temporisateurs, PWM et temporisation système
Leçon 1 • Architecture matérielle du temporisateur
Explique le pré-diviseur, le registre de rechargement automatique et les modes de compteur. Fournit le modèle conceptuel pour toutes les fonctionnalités basées sur un temporisateur.
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 variation de luminosité des LED en tant qu'applications pratiques.
Leçon 4 • Temporisateurs de surveillance et sécurité 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 l'activité du système dans la conception d'un BSP.
Leçon 5 • Génération de retards temporels précis
Implémente des retards bloquants et non bloquants en utilisant les interruptions de débordement du temporisateur. Remplace les retards basés sur des boucles non fiables par une temporisation matérielle précise.
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/réception. Construit un pilote UART par interrogation comme base pour les mises à niveau pilotées par interruption.
Leçon 2 • Implémentation du pilote SPI
Configure la polarité d'horloge, la phase et le contrôle de sélection de circuit intégré SPI. Implémente des transferts en duplex intégral vers un capteur ou un dispositif mémoire externe.
Leçon 3 • UART piloté par interruption avec tampons circulaires
Met à niveau le pilote par interrogation 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écharge les transferts UART et SPI sur le contrôleur DMA, libérant le CPU. Introduit la configuration des canaux DMA et les interruptions de fin de transfert.
Chapitre 7MasquerCacher les détailsVoir les détailsArchitecture BSP et modèles de conception de pilotes
Architecture 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 les variantes matérielles sans modifier le code d'application.
Leçon 2 • Initialisation et cycle de vie du pilote
Implémente les transitions d'état init, deinit et de mode d'alimentation pour chaque pilote. Assure un démarrage déterministe et un arrêt propre dans le BSP.
Leçon 3 • Configuration et fichiers 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 callback et de notification d'événements
Implémente des callbacks de pointeur de fonction et des indicateurs d'événements pour les événements asynchrones des pilotes. Découple les 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 firmware
Automatise la construction, l'analyse statique et les tests unitaires dans un pipeline CI. Garantit que les barrières 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éfauts graves qui capturent les piles d'appels et l'état des défauts. Permet l'analyse post-mortem des plantages dans le firmware déployé.
Leçon 3 • Tests unitaires du code C embarqué
Applique les 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 électriciens prêts à écrire le microprogramme pour leurs propres conceptions matérielles.
Diplômés en informatique faisant leurs premiers pas dans un poste en systèmes embarqués.
Amateurs d'Arduino qui souhaitent dépasser les bibliothèques pour aborder la programmation réelle des microcontrôleurs.
Développeurs de microprogrammes qui utilisent les HAL des fournisseurs et souhaitent comprendre ce qui se passe en dessous.
Étudiants 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 dans les systèmes embarqués ou l'IoT.
Ce que disent nos apprenants
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 au Cameroun ?
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




















