向量表位置
向量表是 STM32 启动的关键数据结构,它存储在内存的起始地址。对于 STM32 不同的型号,向量表的起始地址可能有所不同,但通常位于地址 0x00000000 或 0x08000000。
读取堆栈指针(SP)初始值
上电后,STM32 首先从向量表的第一个位置(地址 0x00000000 或 0x08000000)读取堆栈指针(SP)的初始值。这个值会被加载到主堆栈指针(MSP)寄存器中,用于初始化堆栈。堆栈在程序运行过程中用于保存局部变量、函数调用的返回地址等信息。
读取程序计数器(PC)初始值
接着,STM32 从向量表的第二个位置读取程序计数器(PC)的初始值。这个值指向复位处理函数的入口地址,程序将从这个地址开始执行。 |