STM32启动分析
指针就是地址
STM32 将外设都映射位地址的形式,对外设的操作就是对地址的操作;
Linux 中,一切皆文件,IO 口输出也是以文件的形式进行(流缓存)
1. IC 上电之后,程序从 地址 0x00000000 开始执行,先读取前两个字(8 个字节)的数据,第一个字传给 MSP: 栈顶地址; 第二个字数据传给 PC指针寄存器:Reset Handler 复位向量表地址;之后就开始读取相应的指令;
Reset Handler 地址是0x080001B0


在复位向量表中:
堆栈段的数据初始化,数据段数据赋值,
systemInit() 函数,时钟初始化
main() 函数
程序上电后,PC 指针的值指向的是代码的开始 即地址 0x08000000 而地址 0x08000000的第一个地址存放的是栈顶地址 SP,第二个地址存放的是中断向量表地址,然后初始化时钟,进入main() 函数


浙公网安备 33010602011771号