[Armadillo:08933] Re: 割り込み制御について質問です

Koyo Takenoshita email@hidden
2013年 6月 28日 (金) 17:48:21 JST


竹之下です。

> gccではモジュールは作れないのですね、MAKEに関しても勉強していこうと思います。
makeを使うと簡単なだけで、最終的にはgccでカーネルモジュールを作成していますよ。
make(makefile)の中で、gccに色々なオプションを付けて呼び出しています。

> モジュールの作成までは進むことができたのですがスイッチ入力から割り込みをしようとしたところ
> device or resource busyとエラーが出て実装できませんでした。
スイッチ入力を取得するために、新しくドライバを作る必要はありません。
(既にドライバがあるため。)

Armadillo-400シリーズ用のスイッチ(ボタン)ドライバは、インプットデバイス
として実装されていますので、通常のキーボードやマウス等と同様に扱うことが
できます。

インプットデバイスを扱う方法は、下記のようなページが参考になると思います。
http://www.tatapa.org/~takuo/input_subsystem/input_subsystem.html

ボタンドライバの仕様ついては、Armadillo-400シリーズソフトウェアマニュアル
を参照してください。

もし、ドライバを作ることそのものが目的であれば、下記がソースコードですので、
参考になると思います。
linux-2.6.26-at/drivers/input/keyboard/gpio_keys.c

(2013/06/25 19:25), linux armadillo wrote:
> 竹之下様 回答ありがとうございます。
> 無事解決しました。
> 
> 作ろうと思っていたのはカーネルモジュールでした。
> gccではモジュールは作れないのですね、MAKEに関しても勉強していこうと思います。
> 
> モジュールの作成までは進むことができたのですがスイッチ入力から割り込みをしようとしたところ
> device or resource busyとエラーが出て実装できませんでした。
> 
> 質問ばかりになりますがわかることがあれば教えてくださいよろしくお願いします。
> 
>> 竹之下です。
> 
>> 作ろうとされているのは、カーネルモジュールでしょうか?それとも、
>> ユーザー空間で動作するアプリケーションプログラムでしょうか?
> 
>> > gcc hoge.c だと<module.h>がみつからないとでたので
>> > gcc -I /usr/src/linux/include hoge.cと入力したところ以下のエラーがでました。
>> このコンパイル方法だと、アプリケーションプログラムになってしまいます。
>> が、割り込み番号を指定して何かを処理したいのであれば、カーネル空間で動作する
>> プログラムにする必要があります。
> 
>> 下記 Howto でカーネルモジュールの作り方を紹介していますので、参考にしてください。
>>http://armadillo.atmark-techno.com/howto/kernel-module-hello-world
> 
> 
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
> 

-- 
Koyo Takenoshita




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