环境:STM32F207
内容:STM32F207大致启动流程分析
1.汇编调用
一般CPU复位都会进入一个reset_handler中断,我们在中断里面进行相关的初始化跳转操作
文件:startup_stm32f2xx.s 如下:
; Reset handler
Reset_Handler PROC
EXPORT Reset_Handler [WEAK];导出Reset_Handler操作,全局
IMPORT SystemInit<span style="white-space:pre"> </span>
IMPORT __main<span style="white-space:pre"> </span>
LDR R0, =SystemInit ;!!!这里很重要,系统初始化
BLX R0
LDR R0, =__main<span style="white-space:pre"> </span> ;!!!这里同样重要,系统初始化完成之后,进入main函数
BX R0
ENDP
2.SystemInit
这里面进行了系统时钟源选择,PLL锁相环操作
3.main函数
这里就是我们平时该怎么操作就怎么操作了
下节内容,主要讲系统怎么从外部25MHZ晶振得到120MHZ的系统时钟,将以代码进行分析