[Suzaku:01600] Re: SZ410 FPGA側で発生させた割り込み信号がlinux側で認識できない件

mizo email@hidden
2009年 8月 18日 (火) 11:41:39 JST


溝渕です。

Miyamoto wrote:
> FPGA側で割り込み信号が発生するように回路を作り、それが正しく動作している 
> 場合、
> 1stBootloader、2ndBootloader(hermit)、OS、いずれの状態でも信号は発生する 
> と考えてよろしいでしょうか?
> サンプルのソースによると、1stから2nd起動時に(ブートメニューでa選択)割り 
> 込みのベクタテーブルをクリアしていますが、

"割り込みのペクタテーブルをクリア"というのは、interrupt_clean()のことで
しょうか?

これは、SILのプロジェクトでなければ呼ばれませんし、SILのプロジェクトの割
り込み番号0〜5はすでに使用されています。

FPGAプロジェクトは、SZ410のデフォルからカスタマイズしましたか?SZ410-SIL
からですか?

あと、意図したxparametersがincludeされているかを確認するために、上書きし
たxparametersの中に、
#warning [任意のメッセージ]
を挿入して、ビルド時にメッセージが表示されるかを確認してみてください。

> その後何かしなければ以降信号は発生しないのでしょうか?
> 
> 現在、JP1ショートで1st起動中のみ、
> ボタン押下でLEDがトグルしています(割り込み信号によってハンドラに飛んでい 
> る)。
> 2ndを起動させるとトグルしなくなります。
> これは当然の動作でしょうか?

hermit内では割り込みを有効にしていないため、割り込みは入らないと思います。

> 本来はJP1オープンでOSを直に起動したいのですが、
> 割り込み信号を確認したいので上記のような事をしています。
> 
> OS直起動でFPGA側の割り込みを有効にさせるために、
> デバイスドライバでrequest_irq関数を実行する以外に、
> どんな処理が必要なのでしょうか?

request_irq()で割り込みハンドラを登録するだけで問題無いと思いますが。

request_irq()を呼んでいる部分と、割り込みハンドラのソースを添付していた
だけますか?



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