环境: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
ENDP2.SystemInit
这里面进行了系统时钟源选择,PLL锁相环操作
3.main函数
这里就是我们平时该怎么操作就怎么操作了
下节内容,主要讲系统怎么从外部25MHZ晶振得到120MHZ的系统时钟,将以代码进行分析
本文详细分析了STM32F207的启动过程,包括复位处理程序、系统初始化函数(SystemInit)及main函数的执行流程,并介绍了如何通过外部25MHz晶振获得120MHz系统时钟。
855

被折叠的 条评论
为什么被折叠?



