このトピックには5件の返信が含まれ、2人の参加者がいます。6 年前Ge Ge さんが最後の更新を行いました。

6件の投稿を表示中 - 1 - 6件目 (全6件中)
  • 投稿者
    投稿
  • #3980 返信

    sak_sitara
    参加者

    GPIO割込みについて

    デバイス型番:AM3352

    AM3352について、GPIOを使用した割り込みについて教えてください。

    GPIOをトリガーとする外部割込みは、タイマー割込み等の内部割込み処理中に多重に動作するのでしょうか?
    それを多重にならないようにする設定はどうすればよいでしょうか?

    #3989 返信
    Ge
    Ge
    従業員

    お問い合わせありがとうございます。

    デバイスとしては、割り込みベクターにジャンプする前に、IRQ及びFIQがディスエーブルになりますので、ISR内のソフトウェアで、IRQ、FIQを有効にしない限り、割り込みが多重に動作することは御座いません。割り込みのフローについては、以下の資料の図が参考になるかと思います。

    AM335x and AMIC110 Sitara™ Processors Technical Reference Manual
    https://www.ti.com/lit/ug/spruh73p/spruh73p.pdf
    (537page) Figure 6-2. IRQ/FIQ Processing Sequence

    以上、よろしくお願いいたします。

    #3992 返信

    sak_sitara
    参加者

    回答ありがとうございます。

    マニュアル中の6章に記載されているのは、IRQ/FIQの内部割込みについてだと思います。確かにこれらの割込みが多重に動作することはないですが、質問はGPIOを使用した外部入力割込みと先の内部割込みが多重に動作してしまうという内容です。実際にAM3352にてテストピンを作成し、オシロスコープで内部割込みとしてタイマー割込みハンドラ、GPIOの入力ピンを割込み入力と設定し外部割込みハンドラを計測してみました。結果としてはタイマー割込みハンドラ動作中にGPIOの外部割込みハンドラが動作していました。GPIOの割込みプライオリティの方が高く設定されている為なのでしょうか?多重に割込みが動作するかどうかがプライオリティの設定で変わるのも変なので別で何か設定があるのかと思い質問した次第です。

    #3996 返信
    Ge
    Ge
    従業員

    ご返信有難うございます。

    GPIOもタイマーもどちらの割り込みもIRQを介した割り込みとなります。
    以下のマニュアルに、AM335xの割り込みの振る舞いについて記載されておりますのでご参考いただけますでしょうか。

    AM335x and AMIC110 Sitara™ Processors Technical Reference Manual
    https://www.ti.com/lit/ug/spruh73p/spruh73p.pdf
    (537page) Figure 6-2. IRQ/FIQ Processing Sequence
    (541page) Figure 6-3. Nested IRQ/FIQ Processing Sequence

    一つの割り込みが発生した場合、ハードウェアは割り込みを禁止にします。(Figure 6-2)
    ISRの中で、Softwareで割り込みを許可することで、割り込みのネストが可能となります。(Figure 6-3)

    おそらく御社のソフト側(OSなど)で、このネストの処理をされているため、
    ご連絡いただいている動作になっていると推測いたしますので、
    ソフトウェア側の設定をご確認いただけますでしょうか。

    以上、よろしくお願いいたします。

    #3998 返信

    sak_sitara
    参加者

    返信ありがとうございます。

    文中、割込みのネストの許可/非許可するレジスタは具体的には何になるのでしょうか?

    #4037 返信
    Ge
    Ge
    従業員

    お問い合わせありがとうございます。

    IRQのイネーブル/ディスエーブルが、割り込みの許可/非許可になります。
    IRQのイネーブル/ディスエーブルは、ARMの CPSRレジスタのIビットで制御可能となります。
    CPSRレジスタについては、以下のARMのドキュメントをご参照ください。

    Cortex™-A8 Revision: r3p2 Technical Reference Manual
    http://infocenter.arm.com/help/topic/com.arm.doc.ddi0344k/DDI0344K_cortex_a8_r3p2_trm.pdf
    2.14 The program status registers

    以上、よろしくお願いいたします。

6件の投稿を表示中 - 1 - 6件目 (全6件中)