interrupts list

# 割り込みの種類

## 説明

割り込みの要因は、動作モード(NITROモード、TWLモード) や、プロセッサ(ARM9、ARM7) によって異なります。以下は ARM9 の NITRO モードと TWL モードでの割り込みです。ARM7 については割愛します。

### NITRO モードでの割り込み(ARM9)

値 | 割り込みの種類 | ビット(2^n)
--- | --- | ---
OS_IE_V_BLANK | Vブランク割り込み | 0
OS_IE_H_BLANK | Hブランク割り込み | 1
OS_IE_V_COUNT | Vカウンター割り込み | 2
OS_IE_TIMER0 | タイマー0割り込み | 3
OS_IE_TIMER1 | タイマー1割り込み | 4
OS_IE_TIMER2 | タイマー2割り込み | 5
OS_IE_TIMER3 | タイマー3割り込み | 6 *2
OS_IE_DMA0 | DMA0割り込み | 8 *2
OS_IE_DMA1 | DMA1割り込み | 9
OS_IE_DMA2 | DMA2割り込み | 10
OS_IE_DMA3 | DMA3割り込み | 11
OS_IE_KEY *1 | キー割り込み | 12
OS_IE_CARTRIDGE | カートリッジIREQ/DREQ割り込み | 13
OS_IE_SUBP | ARM7割り込み | 16
OS_IE_SPFIFO_SEND | ARM9・ARM7間送信FIFOエンプティ割り込み | 17
OS_IE_SPFIFO_RECV | ARM9・ARM7間受信FIFOノットエンプティ割り込み | 18
OS_IE_CARD_DATA | カードデータ転送終了割り込み | 19
OS_IE_CARD_IREQ | カードIREQ割り込み | 20
OS_IE_GXFIFO | ジオメトリコマンドFIFO割り込み | 21

*1キー割り込みはハードウェアの仕様上、使用しないで下さい。ただし、スリープからの復帰に使用することは可能です。
*2 ビット=2^7 に相当する割り込みはありません。

###
TWL モードでの割り込み(ARM9)

表中、★のついたものはNITROと比較して新たに追加されたものです。

値 | 割り込みの種類 | ビット(2^n)
--- | --- | ---
OS_IE_V_BLANK | Vブランク割り込み | 0
OS_IE_H_BLANK | Hブランク割り込み | 1
OS_IE_V_COUNT | Vカウンター割り込み | 2
OS_IE_TIMER0 | タイマー0割り込み | 3
OS_IE_TIMER1 | タイマー1割り込み | 4
OS_IE_TIMER2 | タイマー2割り込み | 5
OS_IE_TIMER3 | タイマー3割り込み | 6 *5
OS_IE_DMA0 | DMA0割り込み | 8 *5
OS_IE_DMA1 | DMA1割り込み | 9
OS_IE_DMA2 | DMA2割り込み | 10
OS_IE_DMA3 | DMA3割り込み | 11
OS_IE_KEY *3 | キー割り込み | 12
OS_IE_CARTRIDGE | カートリッジIREQ/DREQ割り込み | 13
OS_IE_CARD_A_DET ★*4 | メモリカードA MC_DET端子立ち下がり割り込み | 14
OS_IE_CARD_B_DET ★*4 | メモリカードB MC_DET端子立ち下がり割り込み | 15
OS_IE_SUBP | ARM7割り込み | 16
OS_IE_SPFIFO_SEND | ARM9・ARM7間送信FIFOエンプティ割り込み | 17
OS_IE_SPFIFO_RECV | ARM9・ARM7間受信FIFOノットエンプティ割り込み | 18
OS_IE_CARD_A_DATA (OS_IE_CARD_DATA) *4 | カード[A] データ転送終了割り込み | 19
OS_IE_CARD_A_IREQ (OS_IE_CARD_IREQ) *4 | カード[A] IREQ割り込み | 20
OS_IE_GXFIFO | ジオメトリコマンドFIFO割り込み | 21
OS_IE_DEBUG_RECV ★ | DEBUG通信チャネル受信バッファリード可能割り込み | 22
OS_IE_DEBUG_SEND ★ | DEBUG通信チャネル送信バッファライト可能割り込み | 23
OS_IE_DSP ★ | DSP割り込み | 24
OS_IE_CAMERA ★ | カメラ割り込み | 25
OS_IE_CARD_B_DATA ★*4 | カード[B] データ転送終了割り込み | 26
OS_IE_CARD_B_IREQ ★*4 | カード[B] IREQ割り込み | 27
OS_IE_NDMA0 ★ | 新規DMA0 割り込み | 28
OS_IE_NDMA1 ★ | 新規DMA1 割り込み | 29
OS_IE_NDMA2 ★ | 新規DMA2 割り込み | 30
OS_IE_NDMA3 ★ | 新規DMA3 割り込み | 31

*3キー割り込みはハードウェアの仕様上、使用しないで下さい。ただし、スリープからの復帰に使用することは可能です。
*4カードの A や B の名称は開発上の便宜的なものです。 B はデバッガ等開発機材で使用されるもので通常ユーザが使用することはありません。
*5ビット=2^7 に相当する割り込みはありません。

## 参照

`OS_EnableIrqMask, OS_DisableIrqMask, OS_SetIrqMask
`

## 履歴

2008/05/30 初版