Programmation C nu-metal sur le bras
Ce référentiel contient un ebook de tutoriel concernant la programmation d'un système de bras nu-metal. Plus précisément, il traite d'une version ARMV7A de la plate-forme ARM Solderal Express, imitée sur un PC ordinaire via Qemu. Vous pouvez explorer le référentiel ou lire les choses dans l'ordre.
Table des matières
Une version PDF à jour est également disponible.
Les chapitres suivants peuvent être considérés comme la première édition de l'ebook, fournissant un chemin complet de la mise en place d'un programme de travail qui utilise des fonctionnalités matérielles.
- Chapitre 0: Introduction. Une brève introduction au sujet et à l'ebook.
- Chapitre 1: Configuration. Un court chapitre traitant de la préparation d'un environnement Linux pour un développement ultérieur.
- Chapitre 2: Le premier démarrage. Utilisation de base de Qemu et de la chaîne d'outils croisés, en obtenant le code le plus simple possible.
- Chapitre 3: Ajout d'un chargeur de démarrage. Construire le chargeur de démarrage U-Boot très populaire et le faire démarrer notre propre code.
- Chapitre 4: Préparation d'un environnement C. Ce chapitre traite du travail nécessaire pour passer du démarrage dans le code d'assemblage au code C.
- Chapitre 5: Système de construction et de débogage. Ici, nous montrons comment le travail peut être rationalisé en ajoutant un système de construction basé sur CMake et comment le programme Bare-Metal peut être débogué.
- Chapitre 6: Développement du pilote UART. Dans ce chapitre, un pilote de périphérique pour un UART est écrit.
- Chapitre 7: Interruptions. Le chapitre passe par la configuration du contrôleur d'interruption générique ARM, en l'utilisant pour recevoir et répondre aux interruptions. Le pilote UART est également adapté pour utiliser les interruptions.
- Chapitre 8 - WIP: planification. Travail en cours.
Structure de référentiel
Le référentiel se compose de deux dossiers de niveau supérieur. Le dossier doc contient les chapitres de tutoriel réels. Le dossier src contient le code source correspondant à chaque chapitre. Ainsi, par exemple, SRC / 04_CENV contient le code source tel qu'il semble après avoir terminé le chapitre 4.
De plus, le dossier src a des choses partagées. src/common_uboot détient une version dépouillée de U-Boot utilisée dans les exemples.
Amusez-vous et n'hésitez pas à régler et à expérimenter, c'est un excellent moyen d'apprendre!