[Armadillo:02772] Re: (Armadillo-9) 割り込み処理を行う方法
パルテック 吉岡
email@hidden
2008年 2月 23日 (土) 11:00:44 JST
渡部様
お世話になります、吉岡です。
御連絡ありがとうございます。
armadilloとlinuxの境界がはっきり分かっていない事と
linuxの知識が不十分なのがいけなかったんだと思います、反省です。
割り込みなどは「Linuxデバイスドライバ」の分野になるのですね?
こちらの方も勉強します。
まずは今回ご教示いただいた内容を全て試して
みて検証したいと思います。
ご教示ありがとうございました。
-----Original Message-----
From: email@hidden
[mailto:email@hidden] On Behalf Of 渡部清太郎
Sent: Saturday, February 23, 2008 10:23 AM
To: Armadillo series general discussion list
Subject: [Armadillo:02771] Re: (Armadillo-9) 割り込み処理を行う方法
渡部と申します。
私もLinuxを導入する際、何から着手していいのかわからず
このメーリングサイトにアルマジロと関係のない質問をして
しまったのでお気持ちはわかります。
Linuxについては勉強あるのみです。
> 改めて何が困っていたかと申しますと。
> INT割り込みと、タイマ割り込みの設定方法と
> 割り込み処理時が行われた場合、それをトリガとした
> プログラム起動もしくはプログラム上での割り込みの
> 手法がわからず困っていた次第でございます。
>
> その為、割り込みを使って何がしたいということは先の話であり
> まずはその方法だけでもと思い質問いたしました。
私はオライリージャパン発行の本でLinuxデバイスドライバ、カーネル
を読み、割り込みの作法を学びました。
ハードウエアとソフトウエアの関連はlinux/include/asm-arm/arch-ep93xx/irqs.h
に記述されています。
アルマジロで使用している割り込みの状態を確認するには
cat /proc/interruptsとすると表示されます。
irqs.hで定義されている番号が一番左、次が割り込みカウンタです。
PC104バスから入力できる割り込みはIRQ_ISAで定義されています。
例えば信号線IRQ4はIRQ_ISA3=65です。
これを使用してプログラムする場合はドライバーを作成する必要があります。
ドライバ内でIRQを取得します。
retval = request_irq(IRQ_ISA3,ep93xx_isa3_isr,
SA_INTERRUPT,"power_down",0);
割り込み待ちにします。
interruptible_sleep_on(&power_down_wq);
プログラムでドライバをコールして、戻ってきたら割り込みが入ったと言う事です。
後は勉強です。
_______________________________________________
armadillo mailing list
email@hidden
http://lists.atmark-techno.com/mailman/listinfo/armadillo
__________ NOD32 2895 (20080222) 情報 __________
このメールはNOD32によって検査済みです。
http://canon-sol.jp
armadillo メーリングリストの案内