こんにちは。えのきだ申します。
現在、組込Linuxドライバを作成中なのですが困った現象が
でており、知恵を拝借したいと思いメールしました。
o ソフト構造
- キャラクタ型デバイス(read,open,close)、割込を登録済
- Aスレッド処理内容
デバイスの初期化、割込MASK解除を行い、Readメソッド
をコール(Aスレッドにてデバイスからの割込待ちを行い
たいと思うため)。
- Readメソッド処理内容
"interruptible_sleep_on"をコール
- 割込ハンドラ処理内容(request_irqにて登録したもの)
wake_up_interruptible、デバイスの割込マスク
o 現象
- Aスレッドを生成し、起動すると割込MASKの解除直後に
割込ハンドラが動いてしまい、ハンドラから処理が戻って
きた後にスレッドは寝る動きになっている。
結果、Aスレッドがデバイスの状態を参照する機会を失っ
てしまう。
o 質問事項
- 本来、デバイスからの割込を参照し、その状態変化を上位
に知らせるためにはどのようなソフト構造にすべきなの
でしょうか。
- もしステータスレジスタを参照するのはドライバなのなら
その状態変化をスレッドに知らせるにはどのようにすれば
よいのでしょうか。
以上基本的な質問かもしれませんがよろしくお願い致します。
-----
Yuichi Enokida
mail : enokida@xxxxxxxxxxxxxxxxxx
Follow-Ups:
- [linux-users:102061] Re: 組込Linuxドライバの作成方法Dr.Sc.KAWAMOTO,Takuji (Ext)
- [linux-users:102074] Re: 組込Linuxドライバの作成方法Naoto Shimazaki
- Prev by Subject: [linux-users:102053] xf4vncでのキーボード設定
- Next by Subject: [linux-users:102055] Re: xf4vncでのキーボード設定
- Previous by thread: [linux-users:103452] Re: xf4vncでのキーボード設定
- Next by thread: [linux-users:102061] Re: 組込Linuxドライバの作成方法
- Indexes:[Main][Thread]