Choisissez votre langue
Cours d'initiation au BSP et C embarqué
Plus de 2 millions d'apprenants dans le monde

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.

Dedika pour entreprises

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.

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

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

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

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

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

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.

Certification

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...
Giulio Carlo
Giulio CarloÉtudiant en Marketing Numérique
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 il est présenté ainsi que la transcription des vidéos, 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 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