[Suzaku:02140] Re: SZ410の割込み

takashi nakajima email@hidden
2012年 1月 11日 (水) 16:03:03 JST


中島(なかじま)です。

[Suzaku:02139]の方法で、うまくいきました。
やはり、レベル割込みになっていたせいで異常動作をしていたようです。
ボタンを1回押すたびに、ハンドラ内のprintk文が実行され
cat ./proc/interrupt の数値も該当IRQ番号がインクリメントされるようになりました。

なかしまさま、アドバイスありがとうございました。

以上

 *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
 〒221-0031
 神奈川県横浜市神奈川区新浦島町1-1-32
 ニューステージ横浜 13F

 NTTエレクトロニクス株式会社

 デジタル映像事業本部
 第一製品事業部
 設計部 モジュール開発部門

 中島 孝

 E-mail nakajima-takashi@ntt-el.com
 TEL 045-414-9465

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*



----- Original Message ----- 
From: "takashi nakajima" <email@hidden>
To: "SUZAKU general discussion list" <email@hidden>
Sent: Wednesday, January 11, 2012 11:30 AM
Subject: [Suzaku:02139] Re: SZ410の割込み


> 中島(なかじま)です。
>
> 該当tclファイルmpdファイルを捜索していただき
> 感謝の思いが絶えません。
>
>
> 教えていただいたファイルの内容をのせます。
> \Xilinx\11.2\EDK\hw\XilinxProcessorIPLib\pcores\xps_intc_v1_00_a\data\xps_intc_v2_1_0.tclの該当部分の内容
>
> ###############################################################################
>
> # compute C_KIND_OF_INTR
> proc syslevel_update_kind_of_intr { param_handle } {
>
>    set mhsinst      [xget_hw_parent_handle $param_handle]
>    set mhs_handle   [xget_hw_parent_handle $mhsinst]
>
>    xload_hw_library intc_core_v1_00_c
>
>    return [hw_intc_core_v1_00_c::update_kind_of_intr "Intr" $mhsinst]
>
> }
>
> ###############################################################################
>
> # compute C_KIND_OF_EDGE
> proc syslevel_update_kind_of_edge { param_handle } {
>
>    set mhsinst      [xget_hw_parent_handle $param_handle]
>    set mhs_handle   [xget_hw_parent_handle $mhsinst]
>
>    xload_hw_library intc_core_v1_00_c
>
>    return [hw_intc_core_v1_00_c::update_kind_of_edge "Intr" $mhsinst]
>
> }
>
> ###############################################################################
>
> # compute C_KIND_OF_LVL
> proc syslevel_update_kind_of_lvl { param_handle } {
>
>    set mhsinst      [xget_hw_parent_handle $param_handle]
>    set mhs_handle   [xget_hw_parent_handle $mhsinst]
>
>    xload_hw_library intc_core_v1_00_c
>
>    return [hw_intc_core_v1_00_c::update_kind_of_lvl "Intr" $mhsinst]
>
> }
>
> http://japan.xilinx.com/support/documentation/sw_manuals/xilinx11/est_rm.pdf
> の付録Cを参考に該当ファイルが何をやっているかしらべましたが、
> わかりませんでした。
>
> xilinx answerに質問すべきかと思いますが
>
> 現在のmhsファイルにはxps_projへの割込みの外部入力が3本ありますが
> PORT INTRST = int_rst, DIR = I
> PORT INTA = int_a, DIR = I
> PORT INTB = int_b, DIR = I
> 試行錯誤で次の記述を追加してやってみます。
> PORT INTRST = int_rst, DIR = I,SIGIS = INTERRUPT, SENSITIVITY = 
> EDGE_RISING, INTERRUPT_PRIORITY = LOW
> PORT INTA = int_a, DIR = I,SIGIS = INTERRUPT, SENSITIVITY = EDGE_RISING, 
> INTERRUPT_PRIORITY = LOW
> PORT INTB = int_b, DIR = I,SIGIS = INTERRUPT, SENSITIVITY = EDGE_RISING, 
> INTERRUPT_PRIORITY = LOW
>
> なかしまさん、ありがとうございます。結果は後ほど報告いたします。
>
> 以上
>
> *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
> 〒221-0031
> 神奈川県横浜市神奈川区新浦島町1-1-32
> ニューステージ横浜 13F
>
> NTTエレクトロニクス株式会社
>
> デジタル映像事業本部
> 第一製品事業部
> 設計部 モジュール開発部門
>
> 中島 孝
>
> E-mail nakajima-takashi@ntt-el.com
> TEL 045-414-9465
>
> *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
> ----- Original Message ----- 
> From: "mio" <email@hidden>
> To: "SUZAKU general discussion list" <email@hidden>
> Sent: Tuesday, January 10, 2012 10:19 AM
> Subject: [Suzaku:02138] Re: SZ410の割込み
>
>
>> あけましておめでとうございます。
>> 中島(なかしま)です。
>>
>>> ところが,\Xilinx\11.2\EDK\hw\XilinxprocessorPlib\Pcores
>>> \hoge_interrupt_controler_v.1.0.0.a\data
>>> にはpaoファイルがあるだけでmpdファイルはありませんでした。
>>> paoファイルをみると割込みのセンスの記述がありましたが、それらしい記述は
>>> ありませんでした。
>>
>> 使用している割り込みコントローラがxps_intc_v1.0.0.aであるなら、
>> パラメータを上書きしているtclは
>>
>> \Xilinx\11.2\EDK\hw\XilinxProcessorIPLib\pcores\xps_intc_v1_00_a\data\xps_intc_v2_1_0.tcl
>>
>> あたりにあるのではないかと思います。
>>
>>>
>>> まず、EDKのビルドログを見ると
>>>
>>> C_KIND_OF_INTR = 0b00000000000000000000000000000010
>>> C_KIND_OF_EDGE = 0b00000000000000000000000000000010
>>>
>>> となっていて、console_uart_interruptのみ立ち上がりエッジで検出しており
>>> phy_mii_int、fifo_int、int_a、int_b、int_rstはレベルで検出しているように
>>
>> 割り込みの検出方法を指定する方法は色々あったように思うのですが、
>> console_uart_interruptの場合、立ち上がりエッジで検出されるのは、
>>
>> C:\Xilinx\11.1\EDK\hw\XilinxProcessorIPLib\pcores\xps_uartlite_v1_01_a\data\xps_uartlite_v2_1_0.mpd
>>
>> の下記の記述によるものだったと思います。
>>
>> PORT Interrupt = "", DIR = O, SIGIS = INTERRUPT, SENSITIVITY =
>> EDGE_RISING, INTERRUPT_PRIORITY = LOW
>>
>> _______________________________________________
>> suzaku mailing list
>> email@hidden
>> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/suzaku
>
> _______________________________________________
> suzaku mailing list
> email@hidden
> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/suzaku 



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