Raspberry Pi は色々なデバイスを接続することができるので、デバイスドライバを作りたくなることがあります。いくつか参考になる書籍があるので紹介をします。
「お手軽ARMコンピュータ ラズベリー・パイでI/O」というムックには「自作LinuxドライバでI/O制御を簡単・確実に」という記事が掲載されていて、nothingモジュール、Hello Worldモジュール、自作GPIOドライバという順番で解説がされています。
「日経Linux2014年12月号」という雑誌には「ラズパイのデバイスドライバを作ってみよう」という記事があり、I2Cのセンサーを使いやすくするデバイスドライバの開発方法が解説されています。ADT7410という温度センサーを具体的な例としてデバイスドライバを作っています。
本格的な書籍となると「Raspberry Piで学ぶARMデバイスドライバープログラミング」があります。こちらは「7セグLEDで作る初めてのデバイスドライバー」「7セグLEDでタイマーを使ってみよう」「I2C接続のLCDを使ってみよう」「ADCドライバーを作ろう」と大きく分類して4つのデバイスドライバについて解説がされています。
ARMに限らないということだと、「Linuxデバイスドライバ第3版」という書籍も参考になるようです。
デバイスドライバの開発というのは、なかなか手を出す人はいないと思いますが、Raspberry Piだとなんとなく手軽にやれそうな気がしてくるから不思議ですね。
- お手軽 ARMコンピュータ ラズベリー・パイでI/O: USB/イーサ/シリアル/HDMI…全部入り定番ボードでハード制御にトライ! (インターフェースSPECIAL)
- 日経 Linux (リナックス) 2014年 12月号
- RaspberryPiで学ぶ ARMデバイスドライバープログラミング
- Linuxデバイスドライバ 第3版