最近、Linuxを実行している組み込みデバイスのドライバーの開発を始めました。
今まで私はLinuxの内部についてしか読んでいませんでした。
ドライバー開発の経験がないので、最初の一歩を踏み出すのは少し難しいと感じています。
- カーネルのソースコード(v2.6.32)をダウンロードしました。
- Linuxデバイスドライバー(3e)を読んだ(読み飛ばした)
- StackOverflowで関連する投稿をいくつか読みました。
- Linuxには「モノリシック」アプローチがあることを理解しています。
- カーネルを構築しました(menuconfigなどに既存のドライバーが含まれています)
- kconfigファイルとmakefileファイルの基本を知っているので、問題はないはずです。
誰かがカーネルソースコードのさまざまなディレクトリの構造(つまり、相互リンク)を説明できますか?言い換えると、ソースコードファイルが与えられた
場合、関連するコードについて他のどのファイルが参照するか(「#include」-sは部分的なアイデアを提供します)
誰かが私がより良いアイデアを得るのを手伝ってくれませんか?
どんな助けでも大歓迎です
ありがとうございました。