S3C2410中断机制及相关寄存器介绍
INT_DMA0 | [17] | 0:Not requested,1:Requested |
INT_LCD | [16] | 0:Not requested,1:Requested |
INT_UART2 | [15] | 0:Not requested,1:Requested |
INT_TIMER4 | [14] | 0:Not requested,1:Requested |
INT_TIMER3 | [13] | 0:Not requested,1:Requested |
INT_TIMER2 | [12] | 0:Not requested,1:Requested |
INT_TIMER1 | [11] | 0:Not requested,1:Requested |
INT_TIMER0 | [10] | 0:Not requested,1:Requested |
INT_WDT | [9] | 0:Not requested,1:Requested |
INT_TICK | [8] | Reserved |
INT_BATT_FLT | [7] | 0:Not requested,1:Requested |
Reserved | [6] | Reserved |
INT_EINT8_23 | [5] | 0:Not requested,1:Requested |
INT_EINT4_7 | [4] | 0:Not requested,1:Requested |
INT_EINT3 | [3] | 0:Not requested,1:Requested |
INT_EINT2 | [2] | 0:Not requested,1:Requested |
INT_EINT1 | [1] | 0:Not requested,1:Requested |
INT_EINT0 | [0] | 0:Not requested,1:Requested |
表1-8寄存器INTPND
表1-8是INTPND寄存器各位的详细功能列表。不难发现,INTPND寄存器与SRCPND长得一模一样,但他们在中断处理中却扮演着不同的角色。INTPND寄存器的每个位对应一个中断请求,若该位被置1,则表示相应的中断请求被触发。说到这里你可能会发现它不仅和SRCPND长得一模一样,就连功能都一样,其实不然,他们在功能上有着重大的区别。SRCPND是中断源待决寄存器,某个位被置1表示相应的中断被触发,但我们知道在同一时刻内系统可以触发若干个中断,只要中断被触发了,SRCPND的相应位便被置1,也就是说SRCPND在同一时刻可以有若干位同时被置1,然而INTPND则不同,他在某一时刻只能有1个位被置1,INTPND某个位被置1,则表示CPU即将或已经在对该位相应的中断进行处理。于是我们可以有一个总结:SRCPND说明了有什么中断被触发了,INTPND说明了CPU即将或已经在对某一个中断进行处理。
每当某一个中断被处理完之后,我们必须手动将SRCPND/SUBSRCPND , INTPND三个寄存器中与该中断相应的位由1设置为0。
(6)中断偏移寄存器INTOFFSET
INTOFFSET寄存器的功能很简单,它用于表明哪个中断正在被处理。表1-9是该寄存器各位详细功能列表:若当前INT_TIMER0被触发了,则该寄存器的值为10,以此类推。
中断源 | 偏移值 | 中断源 | 偏移值 |
INT_ADC | 31 | INT_UART2 | 15 |
INT_RTC | 30 | INT_TIMER4 | 14 |
INT_SPI1 | 29 | INT_TIMER3 | 13 |
INT_UART0 | 28 | INT_TIMER2 | 12 |
INT_IIC | 27 | INT_TIMER1 | 11 |
INT_USBH | 26 | INT_TIMER0 | 10 |
INT_USBD | 25 | INT_WDT | 9 |
Reserved | 24 | INT_TICK | 8 |
INT_UART1 | 23 | INT_BATT_FLT | 7 |
INT_SPI0 | 22 | Reserved | 6 |
INT_SDI | 21 | INT_EINT8_23 | 5 |
INT_DMA3 | 20 | INT_EINT4_7 | 4 |
INT_DMA2 | 19 | INT_EINT3 | 3 |
INT_DMA1 | 18 | INT_EINT2 | 2 |
INT_DMA0 | 17 | INT_EINT1 | 1 |
INT_LCD | 16 | INT_EINT0 | 0 |
表1-9 INTOFFSET寄存器
S3C2410中断机制寄存 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)