Nios® Vプロセッサー・ソフトウェア開発者ハンドブック

ID 743810
日付 10/31/2022
Public

このドキュメントの新しいバージョンが利用できます。お客様は次のことを行ってください。 こちらをクリック 最新バージョンに移行する。

ドキュメント目次

8.2.3. ハードウェアISRのレジスター

ソフトウェアでISRを使用するには、alt_IRQ _register()を呼び出して、それをレジスターする必要があります。
int alt_ic_isr_register(alt_u32 ic_id, alt_u32 irq, alt_isr_func isr, void *isr_context, void* flags)

プロトタイプには以下のパラメーターがあります。

  • ic_idは、system.hで定義されている割り込みコントローラー識別子 (ID) です。
    • IIC では、ic_idは重要ではありません。
  • irqは、system.hで定義されているデバイスのハードウェア割り込み番号です。
    • IIC の場合、irqは IRQ 番号です。 割り込み優先度は IRQ 番号に逆に対応します。 したがって、 IRQ0は最高の優先順位の割り込みを表し、IRQ16 は最低の優先順位を表します。
  • isrは、IRQ 番号irqに応答して呼び出される ISR 関数へのポインターです。
    • ISR 関数のプロトタイプは次のとおりです。
      void (*alt_isr_func) (void* isr_context);

      この関数に提供される入力引数はisr_contextです。

      注: isrにヌルポインタをレジスターすると、割り込みが禁止されます。
  • isr_context:
    • デバイスドライバー インスタンスに関連付けられたデータ構造を指します。
    • 入力引数として ISR 関数に渡されます。コンテキスト固有の情報を ISR に渡すために使用され、任意の ISR 固有の情報を指すことができます。コンテキスト値は HAL に対して不透明です。これは完全にユーザー定義の ISR のために提供されています。
  • flagsが予約されています。