S3C2410 中断处理 在介绍2410 的中断处理之前,我们不得不先看看先把ARM 的异常向量表(Exception Vectors),下面对异常向量表(Exception Vectors),做一个简单的介绍: ARM 的异常向量表一般存放在0x00000000 处,ARM920T 能处理有7 个异常,他们分别是:Reset(复位),Undefined instruction,Software Interrupt,Abort 舍弃(prefetch),Abort (data),IRQ,FIQ 下面是系统源码片段: _start: b Handle_Reset b HandleUndef b HandleSWI b HandlePrefetchAbort b HandleDataAbort b HandleIRQ b HandleFIQ …
上面这部分片段一般出现在一个名叫“head
s”的汇编文件里,“b Handle_Reset”这条语句就是系统上电之后运行的第一条语句
因为上电后CPU 会从SDRAM 的0x00000000 处取第一条指令并执行
0x00000000: b Handle_Reset 0x00000004: b HandleUndef 0x00000008: b HandleSWI 0x0000000C: b HandlePrefetchAbort 0x00000010: b HandleDataAbort 0x00000014: b HandleIRQ 0x00000018: b HandleFIQ 系统上电后 CPU 会从 SDRAM 的0x00000000 地址处取第一条指令并执行,终端向量表如上所示会放在0x00000000 地址处,以后每当系统有异常出现,则 CPU 会根据异常号,从内存0x00000000 地址处开始查中断向量表并做相