Adakah yang tahu tutorial pemrograman kernel / driver?


12

Saya tertarik menggunakan RPi untuk belajar pemrograman tingkat hardware sendiri. Saya telah mencari di internet untuk beberapa tutorial untuk RPi, tetapi yang saya temukan adalah tutorial umum "bagaimana cara mengkompilasi kernel". Saya lebih tertarik pada aktual "cara menulis kode kernel / driver perangkat" -tipe tutorial. Apakah ada tutorial khusus untuk RPi, atau apakah tutorial * nix untuk pemrograman level hardware sudah cukup?


Kemungkinan rangkap dari Apakah ada koleksi bahan ajar?
Jivings

2
@Jivings: Duplikat yang disarankan tidak menjawab salah satu bagian dari pertanyaan saya. Elinux dan CAS tampaknya tidak memiliki apa-apa tentang pemrograman kernel RPi sementara pemrograman GPIO nyaris tidak menggores permukaan driver menulis. Selain itu, tidak disebutkan dalam duplikat yang disarankan dari tutorial RPi vs. umum * nix.
Jakub

Jawaban:


5

Saya tidak berpikir Anda akan menemukan sumber yang lebih baik dari ini kecuali Anda mengenal seseorang secara pribadi.

Nikmati

PS Jika tautannya mati, buku itu disebut Linux Device Drivers.


Ini memang terlihat sangat bagus, saya selalu menjadi penggemar seri O'Reilly.
Jakub

Jadi saya menganggap bahwa pemrograman driver di kernel Linux akan mentransfer dengan mudah ke Raspbian?
Jakub

Raspbian pada dasarnya hanyalah distribusi Debian yang lebih kecil yang dikompilasi dengan parameter khusus khusus untuk perangkat keras pada Raspberry Pi. Jadi ya itu harus, meskipun saya bukan ahli pemrograman driver atau Raspberry Pi jadi mari kita tunggu seseorang yang lebih berpengetahuan untuk berpadu.
NickHalden

Tampak sangat ketinggalan jaman (Kernel 2.6 dan dari 2009). Adakah yang lebih baru?
Lukas Knuth


2

Selain buku LDD, Anda juga dapat melihat dokumen kursus pelatihan di free-electrons.com . Di sana semua materi pelajaran bersumber terbuka. Cukup cocok untuk yang sudah mulai sedikit ke dalam pemrograman kernel linux, atau yang mencari pemahaman yang lebih dalam dan lebih luas tentang topik / area tertentu.

Untuk mulai dengan, Anda mungkin melihat setidaknya dua kursus pertama:

Dan jangan lupa situs referensi silang kode sumber lxr di free-electrons.com , di mana Anda dapat memeriksa kode sumber untuk berbagai versi kernel.

Jika Anda menyukai IDE terutama NetBeans atau Eclipse, dan tahu cara menjalankan skrip perl dan Makefile, Anda dapat melihat alat Nbk proyek saya di github.com . Skrip memungkinkan Anda untuk mengindeks sepenuhnya proyek kernel dengan NetBeans C ++ kit. Ini sangat membantu meningkatkan pengalaman untuk lebih memahami struktur internal kode sumber dan hubungan. Saya biasanya membuat konfigurasi minimal kernel plus perangkat spesifik yang saya lihat, dan membuat build dan melakukan indeks di NetBeans hanya untuk menganalisis kode kernel. Sementara melakukan pengembangan aktual di proyek lain. Skrip ini diuji secara langsung di NetBeans, tetapi dengan Eclipse idenya akan sama (Anda perlu memodifikasi skrip yang sesuai dengan Eclipse).

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.