Cortex-M3支持大量的中斷和異常,其中包括CM3固有的和芯片本身所特有的,具體有多少個(gè)中斷得由芯片制造商決定。
向量表:
向量表其實(shí)是一個(gè)word(32位)型數(shù)組,其中每一項(xiàng)代表一種異常的起始地址,當(dāng)有異常發(fā)生時(shí),相應(yīng)的異常處理函數(shù)將被執(zhí)行。向量表是可以重定位的,重定位由NVIC來控制。復(fù)位時(shí),重定位控制寄存器初始值為0,所以在復(fù)位時(shí),向量表必須存放在0地址處。向量表定義如下:
復(fù)位時(shí)序:
當(dāng)處理器復(fù)位之后,會(huì)從存儲(chǔ)器中讀取兩個(gè)word的數(shù)據(jù)。地址0x00000000數(shù)據(jù)為SP(棧寄存器)初始值,地址0x00000004數(shù)據(jù)為程序的起始地址,也就是說復(fù)位之后,程序?qū)脑撎庨_始執(zhí)行。例如: