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

ID 743810
日付 7/08/2024
Public
ドキュメント目次

9.2.1.1. エンハンスト HAL ハードウェア割り込み API

BSP はエンハンスト HAL ハードウェア割り込み API を実装しています。このハードウェア割り込み API をサポートする各ドライバーは、<driver name> _sw.tcl ファイルを介してこの機能を BSP Editor に発行します。

ドライバーは、ソフトウェア・プロパティーを介して割り込み API サポートを発行できます。ドライバーの <driver name>_sw.tcl ファイルは、set_sw_property コマンドを使用して、supported_interrupt_apisenhanced_interrupt_api に設定します。

エンハンスト HAL ハードウェア割り込み API を使用した ISR の実装

HAL ハードウェア割り込み API を使用してハードウェア ISR を実装するには、次の手順を実行する必要があります。

  1. ハードウェア割り込みを処理する ISR 関数のプロトタイプを作成します。
  2. alt_ic_isr_register() を呼び出して、プログラムが HAL ドライバーに ISR を登録することを確認します。
  3. alt_ic_isr_register() はハードウェア割り込みを有効にします。
表 38.  エンハンスト HAL ハードウェア割り込み API 関数
関数名 説明
alt_ic_isr_register() ハードウェア割り込みを処理する割り込みハンドラーを登録します。
alt_ic_irq_enable() 単一の割り込みを有効にします。
alt_ic_irq_disable() 単一の割り込みを無効にします。
alt_ic_irq_enable() 対応する割り込みが有効になっているかどうかを確認します。
alt_irq_disable_all() すべての割り込みを無効にし、前の状態に対応するコンテキスト値を返します。
alt_irq_enable_all() 以前の alt_irq_disable_all() から返されたコンテキスト値に基づいて、以前の状態へのすべての割り込みを有効にします。
alt_irq_enabled() プロセッサーのグローバル割り込みイネーブルがアサートされているかどうかを確認します。
注: IIC では、機能は HAL によって実装されます。各機能の詳細については、HAL API リファレンスのセクションを参照してください。