探索者,没有初始化时钟,系统却能运行

2019-07-20 22:02发布

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
正点原子
1楼-- · 2019-07-20 22:58
不初始化,系统会用自己默认的8M内部晶振,也可以跑。就是速度慢。
Chan_X
2楼-- · 2019-07-20 23:13
原子的代码里写了,不过是寄存器的,藏得很深就是。。。
yiller
3楼-- · 2019-07-21 04:59
本帖最后由 yiller 于 2016-5-24 08:41 编辑

你可以看看startup_stm32f4xx.s这段代码:
Reset_Handler    PROC
                 EXPORT  Reset_Handler             [WEAK]
        IMPORT  SystemInit
        IMPORT  __main

                 LDR     R0, =SystemInit
                 BLX     R0
                 LDR     R0, =__main
                 BX      R0
                 ENDP
开机或复位后,先会调用system_stm32f4xx.c的SystemInit()函数来进行时钟,FLASH等相关的初始化,你可以看到SystemInit里的代码都是寄存器操作,这样用不用库就无所谓了。然后进入main。这就是为什么你自己不配置时钟,系统也能工作的原因。

一周热门 更多>