STM32 的中止向量表的设置主要是用在IAP 程序中,
假如是一般的 flash 中只要一个程序,一般不需要设置这个。
望文生义,这个表寄存的是中止服务函数的进口地址,当产生中止时,
CPU来这个表中查询,以此获取中止函数的进口地址。
在stm32 的发动文件中,设置完结仓库,就来设置 中止向量表,
AREA RESET, DATA, READONLY ;
界说只读数据段,实际上是在CODE区(假定STM32从FLASH发动,则此中止向量表开始地址即为0x8000000)
假如改动了程序的开始地址,这种便是IAP的状况了,像这个姿态
那么这个时分就需要从头设置中止向量表
NVIC_SetVectorTable(NV%&&&&&%_VectTab_FLASH, 0x00010000);//从头配置中止向量表
合作地址的改动,这样程序运转的时分才干找到中止服务函数的进口地址,正常履行。
附件:
对中止向量表更深化的解说
明显,200039c0便是栈顶地址,而08006F21便是reset_handler地址!
stm32 小端形式,高字节在高位,低字节在低位,所以这个要反过来看。