处理器需要有中断控制器,为了能够处理中断,ARM需要建立一张中断向量表,发生中断时,通过向量表查找到中断入口函数,而中断向量表通常放置在地址0开始处,然后代码跟着存放(中断向量表可以偏移)。通常在汇编文件中完成该工作(启动文件)。放置在地址0开始处,这应该是一个标准并且适用的设计。
(1)Cotex-MCotex-M内核的内核复位过程与大部分ARM不同,复位序列为从地址0x00000000处取出MSP的初始值;从地址0x00000004处取出PC的初始值,然后从这个值对应的地址处取值。因此,中断向量表的格式必需与这个相同,发生异常时,NVIC内核通知内核,根据偏移找到入口函数的地址,因此,在Cotex-M的中断向量表中放置的是ISR程序的入口地址,而不是跳转指令(这也是与其他ARM不同,其他ARM基本放置一条加载中断服务函数地址到PC的指令)。