Choisissez votre langue
Formation de base en BSP et C embarqué
Plus de 2 millions d'apprenants dans le monde

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.

Dedika pour entreprises

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.

Cliquez ici

Contenu du cours

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

Chapitre 1Voir les détails

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

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

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

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

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

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

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

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.

Certification

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...
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 Côte d’Ivoire ?

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