M3芯片时钟启动问题

2020-02-19 20:56发布

Cortex M3时钟配置一般在主函数中进行的
那在这之前单片机是靠什么跑的?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
16条回答
security
2020-02-21 07:33
靠的是内部的时钟,复位默认使用FEI模式
但最终产品,最后运行的模式,一般是外部时钟 + PLL倍频上去,即所谓的PEE模式。

也就是说
复位时MCG模式为FEI,目标模式为PEE,需要经由FEI --> FBE --> PBE --> PEE

对于FSL而言,这部分设计稍显繁琐(对于兼容CMSIS的产品而言,这部分时钟切换的动作,是在SystemInit函数里面完成的)

通俗讲,就是启动时,使用FEI(内部时钟 + FLL,主时钟为FLL),
必须先转换为FBE(脱离FLL与主时钟的关系,主时钟为外部时钟)
而后,切换为PBE(启动PLL,主时钟为外部时钟),最终切换为PEE(外部时钟 + PLL,主时钟切换为PLL)。