「デバイスドライバ開発入門」のアーカイブ

開発環境構築

デバイスドライバをビルドするためには、カーネルバージョンと同一バージョンの、kernel-develとkernel-headersパッケージが必要です。 そのため、まずは自身の環境のカーネルバージョンと上記2つのパッケー [...]

ドライバのバージョン確認

ドライバをビルドした環境のカーネルバージョンと、そのドライバをロードする環境のカーネルバージョンが異なると、insmod(ドライバをロードするコマンド)でエラーが発生します。 必ず両バージョンは一致させる必要があります。 [...]

HelloWorld作成

新しいプログラミング言語を覚えるとき、一番初めに書くプログラムは大抵「HelloWorld」だと思います。それはデバイスドライバ開発でも例外ではありません。 まずは新しいディレクトリを作成し、その中に、下記コードを記述し [...]

ドライバのロード・アンロード

ドライバをビルドしただけでは、まだそのドライバは使えません。 使えるようにするためには、ドライバをロードしてやる必要があります。 ドライバのロードはinsmodコマンドにより行います。 koファイルがあるディレクトリに移 [...]

ソースファイルの分割

ドライバを複数人で開発する場合など、ソースファイルを分割して開発したい場合もあります。 その場合は、Makefileで複数のソースファイルを指定します。 以下、ソースファイル分割のサンプルです。 main.c #incl [...]

HelloWorldソースコード解説

今回は、以前の記事にて作成したHelloWorldのソースコードについて見ていきます。 hello.c #include <linux/module.h> #include <linux/init [...]