1 ARM中断服务程序的函数名是固定的?
- 印象中学C51时,只需要使能中断,然后编写任意名词的中断函数就可以了。但是编写中断函数时,会写明中断号。现在想来,应该是编译器根据中断号,修改了中断向量表中对应中断的跳转地址。一般中断向量表中存放的是中断服务程序的地址。
- 对于stm32,也就是cortex-M系列,中断函数有固定的函数名。因为启动文件中,中断向量存放的是可执行代码,其中写明了要跳转到的中断处理程序的名称。中断向量表是属于code区的。
- arm9比cortex要老,arm9同样也是有固定的中断函数名。
看一下keil提供的s3c2440的启动文件。
中断向量表:
Vectors LDR PC, Reset_Addr
LDR PC, Undef_Addr
LDR PC, SWI_Addr
LDR PC, PAbt_Addr
LDR PC, DAbt_Addr
这些xxxx_Addr处是什么?
Reset_Addr DCD Reset_Handler
Undef_Addr DCD Undef_Handler
SWI_Addr DCD SWI_Handler
PAbt_Addr DCD PAbt_Handler
DAbt_Addr DCD DAbt_Handler
DCD 0