详细描述Cortex-M系列处理器的中断和中断向量表。

Cortex-M系列处理器中的中断是一种事件驱动的机制,用于处理外部事件或异常情况。当中断事件发生时,处理器会立即暂停当前任务,保存当前状态并跳转到中断服务程序来处理中断。Cortex-M处理器的中断向量表是一个特残的数据结构,其中包含每种中断的处理程序地址。当发生中断时,处理器会根据中断号从中断向量表中找到对应的中断处理程序地址,然后跳转到该地址执行相应的中断服务程序。中断向量表一般位于处理器的起始地址处,是一个只读的数据结构。Cortex-M处理器的中断向量表在内存中的地址是固定的,每个中断的中断向量在表中的偏移位置也是固定的。中断向量表的结构如下所示:

索引中断类型地址
0复位中断0x00000000
1非屏蔽中断0x00000004
.........
n特殊中断0x0000004n

例如,Cortex-M4处理器的中断向量表如下所示:

索引中断类型地址
0复位中断0x00000000
1NMI0x00000004
2HardFault0x00000008
.........
n特殊中断0x0000004n