割り込みの種類

説明

割り込みの要因は、動作モード(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 初版