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

ID 743810
日付 10/31/2022
Public

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

ドキュメント目次

12.1.1.36. alt_ic_isr_register()

プロトタイプ

int alt_ic_isr_register (alt_u32 ic_id,

alt_u32 irq

alt_isr_func isr

void* isr_context

void* flags

一般的な呼び出し元

C/C++ プログラム

デバイスドライバー

スレッドセーフ

はい

ISRから利用可能

いいえ

インクルード

<sys/alt_irq.h>

説明

alt_ic_isr_register()関数は ISR をレジスターします。 関数が成功すると、要求された割り込みが戻り時に有効になり、isrisr_contextがベクターテーブルに挿入されます。

関数の引数は次のとおりです。

  • ic_idは、system.hで定義されている割り込みコントローラー ID で、デイジーチェーン内の外部割り込みコントローラーを識別します。 外部割り込みコントローラー・インターフェイスが実装されていない場合、この引数は無視されます。
  • irqは、system.hで定義されている IRQ 番号で、レジスターする割り込みを識別します。
  • isrは割り込み受け付け時に呼び出される関数です。
  • isr_contextisrの入力引数です。isr_contextはデバイス・ドライバー・インスタンスに関連付けられたデータ構造を指します。
  • フラグが予約されています。

    ISR 関数のプロトタイプは次のように定義されます。

    typedef void (*alt_isr_func) (void* isr_context);

    alt_ic_isr_register()を呼び出すと、以前にレジスターされた割り込みirqのハンドラーが置き換えられます。

    isrがnullに設定されている場合、割り込みは無効になります。

戻り値

この関数は、成功した場合はゼロを返し、それ以外の場合はゼロ以外を返します。次の場合、関数は失敗します。 irq パラメーターが、割り込みコントローラーがサポートする最大割り込みポート番号を超えています。