Qualcuno sa di eventuali tutorial di programmazione kernel / driver?


12

Sono interessato a utilizzare l'RPi per insegnare a me stesso la programmazione a livello hardware. Ho cercato su Internet alcuni tutorial per RPi ma tutto quello che trovo sono tutorial generali su "come compilare il kernel". Sono più interessato ai tutorial di tipo "come scrivere codice kernel / driver di dispositivo". Esistono tutorial specifici per RPi o sarebbe sufficiente un tutorial * nix per la programmazione a livello hardware?



2
@Jivings: il duplicato suggerito non affronta nessuna parte della mia domanda. Elinux e CAS non sembrano avere nulla sulla programmazione del kernel RPi mentre la programmazione GPIO graffia appena la superficie della scrittura dei driver. Inoltre, non vi è alcuna menzione nel duplicato suggerito di tutorial RPi vs. tutorial generali * nix.
Jakub,

Risposte:


5

Non credo che troverai una risorsa migliore di questa se non conosci qualcuno personalmente.

Godere

PS In caso di interruzione del collegamento, il libro si chiama Linux Device Driver.


Sembra molto bello, sono sempre stato un fan della serie O'Reilly.
Jakub,

Quindi suppongo che la programmazione dei driver nel kernel Linux si trasferirà abbastanza facilmente su Raspbian?
Jakub,

Raspbian è fondamentalmente solo una distribuzione Debian più piccola compilata con parametri speciali specifici per l'hardware su Raspberry Pi. Quindi sì, dovrebbe, anche se non sono un esperto né della programmazione dei driver né del Raspberry Pi, quindi aspettiamo qualcuno che sia più esperto per
entrare

Sembra molto obsoleto (kernel 2.6 e dal 2009). Qualcosa di più aggiornato?
Lukas Knuth,


2

Oltre al libro LDD, puoi anche consultare i documenti del corso di formazione su free-electrons.com . Lì tutti i materiali del corso sono di provenienza aperta. Abbastanza adatto per chi ha iniziato un po 'nella programmazione del kernel Linux, o chi è alla ricerca di una comprensione più profonda e più ampia di argomenti / aree specifiche.

Per cominciare, puoi guardare almeno i primi due corsi:

E non dimenticare il sito di riferimento incrociato del codice sorgente lxr su free-electrons.com , dove puoi controllare il codice sorgente per varie versioni del kernel.

Se preferisci un IDE in particolare NetBeans o Eclipse e sai come eseguire script perl e Makefile, puoi consultare gli strumenti Nbk del mio progetto su github.com . Lo script consente di indicizzare completamente un progetto del kernel con il kit C ++ NetBeans. Aiuta notevolmente a migliorare l'esperienza per comprendere meglio le strutture e le relazioni interne del codice sorgente. Di solito faccio una configurazione minima del kernel più il dispositivo specifico che sto guardando, e costruisco e faccio un indice in NetBeans solo per analizzare il codice del kernel. Mentre lo sviluppo effettivo in un altro progetto. Questo script viene testato direttamente in NetBeans, ma con Eclipse l'idea sarebbe la stessa (è necessario modificare lo script per adattarlo a Eclipse).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.