[Suzaku:01032] Re: デバイスドライバをKernel起動時に組み込む方法

Tetsuya Ohkawa email@hidden
2007年 9月 25日 (火) 18:28:01 JST


大川です。

ドライバ (sil-led)は、起動時に登録され
即利用可能状態にしてあります。

『LED/SWソフトウェアマニュアル』(ver 1.0.3)
http://suzaku.atmark-techno.com/files/downloads/suzaku/suzaku-io-boards/led_sw/doc/sil00_software_manual_ja-1.0.3.pdf
「4.6. ドライバの選択」のように
configuration 時に選択することで
ドライバを組み込んだイメージ(image.bin)が作成されます。

このあたりの方法は、
『uClinux-dist Developers Guide (version 1.3.0)』の
「11.2. driversディレクトリへのマージ」
が参考になると思います。


sil-led を例に具体的にどこを修正しているかと言いますと、
・{uClinux-dist}/linux-2.4.x/drivers/char/ に sil-led.cを配置
・{uClinux-dist}/linux-2.4.x/drivers/char/Makefile の
CONFIG_SUZAKU_SIL_LEDがある行
・{uClinux-dist}/linux-2.4.x/drivers/char/Config.in の
CONFIG_SUZAKU_SIL_LEDがある行
です。

あと、デバイスノードの作成は、
・{uClinux-dist}/vendors/AtmarkTechno/SUZAKU-S.SZ130-SIL/Makefile の
CONFIG_SUZAKU_SIL_LED がある所
です。

参考になれば幸いです。


長谷川 真一郎 wrote:
> はじめまして。
> ニューラルイメージの長谷川と申します。
>
> 現在、SUZAKU-S.SZ130にて独自のキャラクタデバイスドライバ
> を開発しているのですが、SUZAKUボード上でLinux起動直後
> に自作デバイスドライバを組み込む方法を教えていただけ
> ないでしょうか?
>
> [具体的な内容]
> デバイスドライバは以下の手順で開発&確認を行っております。
>
> なお、下記中[PC]と記述されている操作はPC上で、
> [SUZAKU]と記述されている操作はSuzakuボード
> 上でシリアル通信ソフトを経由して行っている操作です。
>
> 1.[PC]デバイスドライバをビルド
>   ->「DevDrv.o」を作成
> 2.SUZAKUを起動
> 3.[SUZAKU]root権限でログイン
> 4.FTPソフトにて、Suzakuボードの/var/tmpに「DevDrv.o」
>   をコピー
> 5.[SUZAKU]/var/tmp/フォルダ上でinsmod コマンドを実行
>   insmod DevDrv.o
> 6.[SUZAKU]mknodコマンド実行
>   mknod -m 444 DevDrv c 254 0
> 7.[SUZAKU]確認用別プログラムでデバイスドライバの動作確認
>
> 上記の方法で、想定どおりの動作ができているのは確認
> できております。
> ただ、これらの手順のうち、4-6の手順を自動化し、Linuxカーネル
> を起動した直後(手順3の前)にはデバイスドライバが利用可能な
> 状態にしたいのですが、その方法がわからないのです。
>
> なお、デバイスドライバのMakefileは「SUZAKUスターター
> キットガイド」の「5.2.2. サンプルドライバモジュールの Makefile」
> に記述されたものをほぼそのまま利用しています。
> また、デバイスドライバのコードそのものは「sil-led.c」と
> ほぼ同じです。(違うのはアクセスするアドレスや、アクセス範囲
> 程度)
>
> 参考となるURL、スレッドなどでもかまいませんので、
> ご教授頂ければ幸いです。
>
> 以上、よろしくお願いします。 
>
>
> _______________________________________________
> suzaku mailing list
> email@hidden
> http://lists.atmark-techno.com/mailman/listinfo/suzaku
>   



suzaku メーリングリストの案内