s3c6410_中断
参考:
1)《USER'S MANUAL-S3C6410X》Chapter 10 GPIO, Chapter 12 VECTORED INTERRUPT CONTROLLER
2)《ARM1176 JZF-S Technical Reference Manual》Chapter 2 Programmer's Model, Chapter 12 Vectored Interrupt Controller Port
3)《ARM Architecture Reference Manual》Chapter A2 Programmers' Model,
4)u-boot源码:
u-boot-x.x.x/cpu/s3c64xx/start.S
1. 中断源
S3C6410有64个中断源,0-31由VIC0控制,32-63由VIC1控制。产生中断时,进入IRQ或FIQ工作模式。
64个中断源的定义见《USER'S MANUAL-S3C6410X》12.3 INTERRUPT SOURCE。中断源分内部中断源和外部中断源。内部中断源由S3C6410芯片的内部模块产生。外部中断源由S3C6410芯片的外部模块产生。
64个中断源中,外部中断的中断号分配如下:
| Int. No. | Sources | Description | Group | 
| 53 | INT_EINT4 | External interrupt Group 1 ~ Group 9 | VIC1 | 
| 33 | INT_EINT3 | External interrupt 20 ~ 27 | VIC1 | 
| 32 | INT_EINT2 | External interrupt 12 ~ 19 | VIC1 | 
| 1 | INT_EINT1 | External interrupt 4 ~ 11 | VIC0 | 
| 0 | INT_EINT0 | External interrupt 0 ~ 3 | VIC0 | 
即:外部中断源group1-group9产生的中断的中断号为53;外部中断源group0的0-3号中断的中断号为0,4-11号中断的中断号为1,12-19号中断的中断号为32,20-27号中断的中断号为33。
2. 外部中断源
S3C一共有127个外部中断,分为10组,即group0-group9
| Group | 中断源 | 中断数 | GPIO分布 | 
| group0 | EINT0-EINT27 | 28 | GPL,GPM,GPN, | 
| group1 | EINT1[14:0] | 15 | GPA,GPB | 
| group2 | EINT2[7:0] | 8 | GPC | 
| group3 | EINT3[4:0] | 5 | GPD | 
| group4 | EINT4[13:0] | 14 | GPF | 
| group5 | EINT5[6:0] | 7 | GPG | 
| group6 | EINT6[9:0] | 10 | GPH | 
| group7 | EINT7[15:0] | 16 | GPO | 
| group8 | EINT8[14:0] | 15 | GPP | 
| group9 | EINT9[8:0] | 9 | GPQ | 
3. S3C6410工作模式

各个工作模式下用到的寄存器如下:

除了system mode和user mode,其余6中工作模式都属于exception,优先级如下:

中断向量表用于存放中断处理程序的入口地址,中断向量表在0地址处

 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号