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

2019-07-20 22:02发布

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
3条回答
yiller
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。这就是为什么你自己不配置时钟,系统也能工作的原因。

一周热门 更多>