1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 2<html> 3 4<head> 5<META http-equiv="Content-Type" content="text/html; charset=windows-1252"> 6<META name="GENERATOR" content="IBM WebSphere Studio Homepage Builder Version 7.0.1.0 for Windows"> 7<META http-equiv="Content-Style-Type" content="text/css"> 8<title>Types of Interrupts</title> 9<LINK rel="stylesheet" href="../../css/nitro.css" type="text/css"> 10</head> 11 12<body> 13 14<h1 align="left">Types of Interrupts <IMG src="../../image/NTR.gif" align="middle"><IMG src="../../image/TWL.gif" align="middle"></h1> 15<H2>Description</H2> 16<P>The events that cause interrupts vary depending on both the operating mode (NITRO mode vs TWL mode) and the processor (ARM9 vs ARM7). The following list shows the types of ARM9 interrupts in NITRO mode and in TWL mode. ARM7 interrupts are omitted from this discussion.</P> 17<H3><B>Interrupts in NITRO Mode (ARM9)</B> <IMG src="../../image/NTR.gif" align="middle"><BR> 18</H3> 19<TABLE> 20<TBODY> 21<TR> 22<TH>Value</TH> 23<TH>Type of Interrupt</TH> 24<TH>Bit (2<SUP>n</SUP>)</TH> 25 </TR> 26 <TR> 27<TD>OS_IE_V_BLANK</TD> 28<TD>V-Blank interrupt</TD> 29 <TD>0</TD> 30 </TR> 31 <TR> 32<TD bgColor=#eeeeee>OS_IE_H_BLANK</TD> 33<TD bgColor=#eeeeee>H-Blank interrupt</TD> 34 <TD>1</TD> 35 </TR> 36<TR> 37<TD bgColor=#eeeeee>OS_IE_V_COUNT</TD> 38<TD bgColor=#eeeeee>V-Counter interrupt</TD> 39 <TD>2</TD> 40 </TR> 41<TR> 42<TD bgColor=#eeeeee>OS_IE_TIMER0</TD> 43<TD bgColor=#eeeeee>Timer0 interrupt</TD> 44 <TD>3</TD> 45 </TR> 46<TR> 47<TD bgColor=#eeeeee>OS_IE_TIMER1</TD> 48<TD bgColor=#eeeeee>Timer1 interrupt</TD> 49 <TD>4</TD> 50 </TR> 51<TR> 52<TD bgColor=#eeeeee>OS_IE_TIMER2</TD> 53<TD bgColor=#eeeeee>Timer2 interrupt</TD> 54 <TD>5</TD> 55 </TR> 56<TR> 57<TD bgColor=#eeeeee>OS_IE_TIMER3</TD> 58<TD bgColor=#eeeeee>Timer3 interrupt</TD> 59 <TD>6 <B><FONT color="#ff0033"> *2</FONT></B></TD> 60 </TR> 61 <TR> 62<TD bgColor=#eeeeee>OS_IE_DMA0</TD> 63<TD bgColor=#eeeeee>DMA0 interrupt</TD> 64 <TD>8 <B><FONT color="#ff0033"> *2</FONT></B></TD> 65 </TR> 66<TR> 67<TD bgColor=#eeeeee>OS_IE_DMA1</TD> 68<TD bgColor=#eeeeee>DMA1 interrupt</TD> 69 <TD>9</TD> 70 </TR> 71<TR> 72<TD bgColor=#eeeeee>OS_IE_DMA2</TD> 73<TD bgColor=#eeeeee>DMA2 interrupt</TD> 74 <TD>10</TD> 75 </TR> 76<TR> 77<TD bgColor=#eeeeee>OS_IE_DMA3</TD> 78<TD bgColor=#eeeeee>DMA3 interrupt</TD> 79 <TD>11</TD> 80 </TR> 81<TR> 82<TD bgColor=#eeeeee>OS_IE_KEY (<B><FONT color="#ff0033">*1</FONT></B>)</TD> 83<TD bgColor=#eeeeee>Key Interrupt </TD> 84 <TD>12</TD> 85 </TR> 86<TR> 87<TD bgColor=#eeeeee>OS_IE_CARTRIDGE</TD> 88<TD bgColor=#eeeeee>Game Pak IREQ/DREQ interrupt</TD> 89 <TD>13</TD> 90 </TR> 91<TR> 92<TD bgColor=#eeeeee>OS_IE_SUBP</TD> 93<TD bgColor=#eeeeee>ARM7 interrupt</TD> 94 <TD>16</TD> 95 </TR> 96<TR> 97<TD bgColor=#eeeeee>OS_IE_SPFIFO_SEND</TD> 98<TD bgColor=#eeeeee>ARM9-ARM7 send FIFO empty interrupt</TD> 99 <TD>17</TD> 100 </TR> 101<TR> 102<TD bgColor=#eeeeee>OS_IE_SPFIFO_RECV</TD> 103<TD bgColor=#eeeeee>ARM9-ARM7 receive FIFO not-empty interrupt</TD> 104 <TD>18</TD> 105 </TR> 106<TR> 107<TD bgColor=#eeeeee>OS_IE_CARD_DATA</TD> 108<TD bgColor=#eeeeee>Card data transfer end interrupt</TD> 109 <TD>19</TD> 110 </TR> 111<TR> 112<TD bgColor=#eeeeee>OS_IE_CARD_IREQ</TD> 113<TD bgColor=#eeeeee>Card IREQ interrupt</TD> 114 <TD>20</TD> 115 </TR> 116<TR> 117<TD bgColor=#eeeeee>OS_IE_GXFIFO</TD> 118<TD bgColor=#eeeeee>Geometry command FIFO interrupt</TD> 119 <TD>21</TD> 120 </TR> 121 </TBODY> 122</TABLE> 123<P><B><FONT color="#ff0033">*1</FONT></B> The hardware specification does not allow the use of key interrupts. However, they can be used for awakening from sleep.</font><BR><B><FONT color="#ff0033">*2</FONT></B> There is no interrupt that corresponds to the case where the bit is 2<SUP>7</SUP>.</P> 124<H3><BR> <BR> <B>Interrupts in TWL Mode (ARM9)</B> <IMG src="../../image/TWL.gif" align="middle"></H3> 125<P>Within the table, items marked with a ★ are new and were not used in NITRO.</P> 126<TABLE> 127<TBODY> 128<TR> 129<TH>Value</TH> 130<TH>Types of Interrupts</TH> 131<TH>Bit (2<SUP>n</SUP>)</TH> 132 </TR> 133<TR> 134<TD bgColor=#eeeeee>OS_IE_V_BLANK</TD> 135<TD bgColor=#eeeeee>V-Blank interrupt:</TD> 136 <TD>0</TD> 137 </TR> 138<TR> 139<TD bgColor=#eeeeee>OS_IE_H_BLANK</TD> 140<TD bgColor=#eeeeee>H-Blank interrupt:</TD> 141 <TD>1</TD> 142 </TR> 143<TR> 144<TD bgColor=#eeeeee>OS_IE_V_COUNT</TD> 145<TD bgColor=#eeeeee>V-Counter interrupt</TD> 146 <TD>2</TD> 147 </TR> 148<TR> 149<TD bgColor=#eeeeee>OS_IE_TIMER0</TD> 150<TD bgColor=#eeeeee>Timer0 interrupt</TD> 151 <TD>3</TD> 152 </TR> 153<TR> 154<TD bgColor=#eeeeee>OS_IE_TIMER1</TD> 155<TD bgColor=#eeeeee>Timer1 interrupt</TD> 156 <TD>4</TD> 157 </TR> 158<TR> 159<TD bgColor=#eeeeee>OS_IE_TIMER2</TD> 160<TD bgColor=#eeeeee>Timer2 interrupt</TD> 161 <TD>5</TD> 162 </TR> 163<TR> 164<TD bgColor=#eeeeee>OS_IE_TIMER3</TD> 165<TD bgColor=#eeeeee>Timer3 interrupt</TD> 166 <TD>6 <B><FONT color="#ff0033"> *5</FONT></B></TD> 167 </TR> 168 <TR> 169<TD bgColor=#eeeeee>OS_IE_DMA0</TD> 170<TD bgColor=#eeeeee>DMA0 interrupt</TD> 171 <TD>8 <B><FONT color="#ff0033"> *5</FONT></B></TD> 172 </TR> 173<TR> 174<TD bgColor=#eeeeee>OS_IE_DMA1</TD> 175<TD bgColor=#eeeeee>DMA1 interrupt</TD> 176 <TD>9</TD> 177 </TR> 178<TR> 179<TD bgColor=#eeeeee>OS_IE_DMA2</TD> 180<TD bgColor=#eeeeee>DMA2 interrupt</TD> 181 <TD>10</TD> 182 </TR> 183<TR> 184<TD bgColor=#eeeeee>OS_IE_DMA3</TD> 185<TD bgColor=#eeeeee>DMA3 interrupt</TD> 186 <TD>11</TD> 187 </TR> 188<TR> 189<TD bgColor=#eeeeee>OS_IE_KEY (<B><FONT color="#ff0033">*3</FONT></B>)</TD> 190<TD bgColor=#eeeeee>Key Interrupt </TD> 191 <TD>12</TD> 192 </TR> 193<TR> 194<TD bgColor=#eeeeee>OS_IE_CARTRIDGE</TD> 195<TD bgColor=#eeeeee>Game Card IREQ/DREQ interrupt</TD> 196 <TD>13</TD> 197 </TR> 198 <TR> 199<TD>OS_IE_CARD_A_DET ★ (<B><FONT color="#ff0000">*4</FONT></B>)</TD> 200<TD>Memory Card A MC_DET terminal falling edge interrupt</TD> 201 <TD>14</TD> 202 </TR> 203 <TR> 204<TD>OS_IE_CARD_B_DET ★ (<B><FONT color="#ff0000">*4</FONT></B>)</TD> 205<TD>Memory Card B MC_DET terminal falling edge interrupt</TD> 206 <TD>15</TD> 207 </TR> 208 <TR> 209<TD bgColor=#eeeeee>OS_IE_SUBP</TD> 210<TD bgColor=#eeeeee>ARM7 interrupt</TD> 211 <TD>16</TD> 212 </TR> 213<TR> 214<TD bgColor=#eeeeee>OS_IE_SPFIFO_SEND</TD> 215<TD bgColor=#eeeeee>ARM9-ARM7 send FIFO empty interrupt</TD> 216 <TD>17</TD> 217 </TR> 218<TR> 219<TD bgColor=#eeeeee>OS_IE_SPFIFO_RECV</TD> 220<TD bgColor=#eeeeee>ARM9-ARM7 receive FIFO not-empty interrupt</TD> 221 <TD>18</TD> 222 </TR> 223<TR> 224<TD bgColor=#eeeeee>OS_IE_CARD_A_DATA (OS_IE_CARD_DATA) (<B><FONT color="#ff0000">*4</FONT></B>)</TD> 225<TD bgColor=#eeeeee>Card [A] data transfer completion interrupt</TD> 226 <TD>19</TD> 227 </TR> 228<TR> 229<TD bgColor=#eeeeee>OS_IE_CARD_A_IREQ (OS_IE_CARD_IREQ) (<B><FONT color="#ff0000">*4</FONT></B>)</TD> 230<TD bgColor=#eeeeee>Card [A] IREQ interrupt</TD> 231 <TD>20</TD> 232 </TR> 233<TR> 234<TD bgColor=#eeeeee>OS_IE_GXFIFO</TD> 235<TD bgColor=#eeeeee>Geometry command FIFO interrupt</TD> 236 <TD>21</TD> 237 </TR> 238 <TR> 239<TD>OS_IE_DEBUG_RECV ★</TD> 240<TD>DEBUG communication channel receive buffer readable interrupt</TD> 241 <TD>22</TD> 242 </TR> 243 <TR> 244<TD>OS_IE_DEBUG_SEND ★</TD> 245<TD>DEBUG communication channel send buffer writable interrupt</TD> 246 <TD>23</TD> 247 </TR> 248 <TR> 249<TD>OS_IE_DSP ★</TD> 250<TD>DSP interrupt</TD> 251 <TD>24</TD> 252 </TR> 253 <TR> 254<TD>OS_IE_CAMERA ★</TD> 255<TD>Camera interrupt</TD> 256 <TD>25</TD> 257 </TR> 258 <TR> 259<TD>OS_IE_CARD_B_DATA ★ (<B><FONT color="#ff0000">*4</FONT></B>)</TD> 260<TD>Card [B] data transfer completion interrupt</TD> 261 <TD>26</TD> 262 </TR> 263 <TR> 264<TD>OS_IE_CARD_B_IREQ ★ (<B><FONT color="#ff0000">*4</FONT></B>)</TD> 265<TD>Card [B] IREQ interrupt</TD> 266 <TD>27</TD> 267 </TR> 268 <TR> 269<TD>OS_IE_NDMA0 ★</TD> 270<TD>New DMA0 interrupt</TD> 271 <TD>28</TD> 272 </TR> 273 <TR> 274<TD>OS_IE_NDMA1 ★</TD> 275<TD>New DMA1 interrupt</TD> 276 <TD>29</TD> 277 </TR> 278 <TR> 279<TD>OS_IE_NDMA2 ★</TD> 280<TD>New DMA2 interrupt</TD> 281 <TD>30</TD> 282 </TR> 283 <TR> 284<TD>OS_IE_NDMA3 ★</TD> 285<TD>New DMA3 interrupt</TD> 286 <TD>31</TD> 287 </TR> 288 </TBODY> 289</TABLE> 290<P><B><FONT color="#ff0033">*3</FONT></B> The hardware specification does not allow the use of key interrupts. However, they can be used for awakening from sleep.<BR><B><FONT color="#ff0000">*4</FONT></B> The "A" and "B" designations for Cards were set during development for expediency. Type B are used for development hardware like the debugger and are not normally used by users.<BR><B><FONT color="#ff0033">*5</FONT></B> There is no interrupt that corresponds to the case where the bit is 2<SUP>7</SUP>.</P> 291 292<h2>See Also</h2> 293<p><CODE><A href="OS_EnableIrqMask.html">OS_EnableIrqMask</A><BR> <A href="OS_DisableIrqMask.html">OS_DisableIrqMask</A><BR> <A href="OS_SetIrqMask.html">OS_SetIrqMask</A><br></CODE></p> 294<H2>Revision History</H2> 295<P>2008/05/30 Initial version.</P> 296<hr><p>CONFIDENTIAL</p></body> 297</html> 298