Quelqu'un connaît-il des tutoriels de programmation noyau / pilote?

12

Je suis intéressé à utiliser le RPi pour m'enseigner la programmation au niveau matériel. J'ai cherché sur Internet des tutoriels pour RPi mais tout ce que je trouve sont des tutoriels généraux "comment compiler le noyau". Je suis plus intéressé par les didacticiels de type "comment écrire du code noyau / pilotes de périphérique". Existe-t-il des didacticiels spécifiques pour RPi, ou un didacticiel * nix pour la programmation au niveau matériel suffirait-il?

Jakub
la source
Copie possible de Y a
Jivings
2
@Jivings: Le doublon suggéré ne répond à aucune partie de ma question. Elinux et CAS ne semblent rien avoir à propos de la programmation du noyau RPi tandis que la programmation GPIO raye à peine la surface des pilotes d'écriture. De plus, il n'y a aucune mention dans la duplication suggérée de RPi vs tutoriels généraux * nix.
Jakub

Réponses:

5

Je ne pense pas que vous trouverez une meilleure ressource que celle-ci, sauf si vous connaissez quelqu'un personnellement.

Prendre plaisir

PS Au cas où le lien mourrait, le livre s'appelle Linux Device Drivers.

NickHalden
la source
Cela a l'air très bien, j'ai toujours été un fan de la série O'Reilly.
Jakub
Je suppose donc que la programmation des pilotes dans le noyau Linux sera transférée assez facilement vers Raspbian?
Jakub
Raspbian est simplement une distribution Debian plus petite compilée avec des paramètres spéciaux spécifiques au matériel du Raspberry Pi. Donc, oui, bien que je ne sois pas un expert de la programmation des pilotes ni du Raspberry Pi, attendons donc quelqu'un de plus compétent pour sonner.
NickHalden
Semble très obsolète (noyau 2.6 et à partir de 2009). Quelque chose de plus à jour?
Lukas Knuth
3

Je viens de trouver quelque chose de l'Université de Cambridge.

Il est facile de suivre et de présenter très bien comment assembler votre premier système d'exploitation: http://www.cl.cam.ac.uk/freshers/raspberrypi/tutorials/os/

Wolfv
la source
HOU LA LA! :) C'est génial!
gideon
2

En plus du livre LDD, vous pouvez également consulter les documents du cours de formation sur free-electrons.com . Là, tous les supports de cours sont open source. Tout à fait approprié pour ceux qui ont commencé un peu la programmation du noyau Linux ou qui recherchent une compréhension plus approfondie et plus large de sujets / domaines spécifiques.

Pour commencer, vous pouvez regarder au moins les deux premiers cours:

Et n'oubliez pas le site de référence croisée du code source lxr sur free-electrons.com , où vous pouvez vérifier le code source pour différentes versions du noyau.

Si vous préférez un IDE, en particulier NetBeans ou Eclipse, et savez comment exécuter des scripts Perl et Makefile, vous pouvez consulter mes outils Nbk de projet sur github.com . Le script vous permet d'indexer entièrement un projet de noyau avec le kit NetBeans C ++. Il aide grandement à améliorer l'expérience pour mieux comprendre les structures et les relations internes du code source. Je fais habituellement une configuration minimale du noyau plus le périphérique spécifique que je regarde, et je fais une construction et je fais un index dans NetBeans juste pour analyser le code du noyau. Tout en faisant le développement réel dans un autre projet. Ce script est testé directement dans NetBeans, mais avec Eclipse, l'idée serait la même (vous devez modifier le script pour l'adapter à Eclipse).

minghua
la source