[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 メーリングリストの案内