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

ID 743810
日付 10/31/2022
Public

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

インテルのみ表示可能 — GUID: geo1642850720782

Ixiasoft

ドキュメント目次

8.3.5.2. 例: HALへのButton PIO ISRのレジスター

例のコードに基づいて、次の実行フローが可能です。
  • ソフトウェア IRQ が生成されます。
  • ソフトウェア ISR が制御を取得します。
    • HAL の一般例外ファネルがプロセッサーの制御を取得し、 sw_isr() ISR。
  • sw_isr() ソフトウェア割り込みを処理し、通常のプログラム動作に戻ります。
  • 通常のプログラム操作は、更新された値で続行されます。 sw_isr_cnt.

例: HALへのソフトウェアISRのレジスター

#include "system.h"

#include "sys/msw_interrupt.h"

#include "alt_types.h"

...
/* Declare a global variable to hold the incrementing value. */
volatile alt_u32 sw_isr_cnt = 0;
...
int main() {
  /* Register the ISR. */
  alt_niosv_register_msw_interrupt_handler(sw_isr);
  /* Enable software interrupt. */
  alt_niosv_enable_msw_interrupt();
  /* Generate the software interrupt. */
  alt_niosv_trigger_msw_interrupt();
}