[CW32F030系列] 芯源MCU修改频率导致跑飞问题

[复制链接]
1847|23
 楼主| 小夏天的大西瓜 发表于 2024-5-22 20:00 | 显示全部楼层 |阅读模式
MCU的系统时钟从默认的8MHz改为48MHz后,程序跑飞,原因为:CW32F030 内部的 FLASH 存储器支持最快 24MHz 频率的操作时钟,当配置的 HCLK 频率大于 24MHz 时,需通过 FLASH 控制寄存器 FLASH_CR2 的 WAIT 位域来配置插入的等待 HCLK 周期个数。大于24MHz,小于等于48MHz时,需要插入1个等待周期;大于48MHz时,需要插入2个等待周期。
lidi911 发表于 2024-5-23 20:21 来自手机 | 显示全部楼层
这就有点鸡肋了,还需要2个等待周期。
lamanius 发表于 2024-6-5 14:13 | 显示全部楼层
其实我觉得可以通过时钟树的配置,就不会出现这种问题
b5z1giu 发表于 2024-6-5 15:22 | 显示全部楼层
哈哈,我一般都是用官方提供的时钟晶振参数来弄,这样会好一些
d1ng2x 发表于 2024-6-5 16:33 | 显示全部楼层
那这种flash是外部flash还是内部flash啊?
t1ngus4 发表于 2024-6-5 18:45 | 显示全部楼层
这个时钟周期是自己测试的?
y1n9an 发表于 2024-6-5 19:58 | 显示全部楼层
如果官方要有这方面的说明还好,不然真的很难找到这种问题的原因啊
weifeng90 发表于 2024-6-6 23:04 来自手机 | 显示全部楼层
这个设计对没有仔细看过手册的新手来说,是个大坑啊。
AdaMaYun 发表于 2024-6-14 08:18 | 显示全部楼层
参考实际官方案例程序进行设计是一种途径
OKAKAKO 发表于 2024-6-21 21:19 | 显示全部楼层
最好不要随便修改频率
中国龙芯CDX 发表于 2024-6-26 16:36 | 显示全部楼层
大于48MHz时,需要插入2个等待周期,这个是什么操作?
jf101 发表于 2024-6-27 16:56 | 显示全部楼层
大于48MHz时,需要插入2个等待周期。
deliahouse887 发表于 2024-7-4 20:30 | 显示全部楼层
修改频率后,系统的负载可能会发生变化,如果系统没有足够的资源来处理这种变化,可能会导致跑飞。
rosemoore 发表于 2024-7-4 22:12 | 显示全部楼层
在修改频率后没有正确更新定时器或计数器的配置,也可能导致程序跑飞。
ulystronglll 发表于 2024-7-7 14:15 | 显示全部楼层
检查程序中设置的频率是否正确              
cemaj 发表于 2024-7-7 17:18 | 显示全部楼层
更高的时钟频率可能会增加MCU的功耗,如果电源供应不稳定或者散热不足,可能会导致MCU工作不稳定
pentruman 发表于 2024-7-9 20:49 | 显示全部楼层
MCU的时钟系统是其运行的基础,如果时钟设置不正确,比如时钟源配置错误、分频系数设置不当等,都会导致MCU运行不稳定。
mattlincoln 发表于 2024-7-9 23:52 | 显示全部楼层
在修改MCU的时钟频率时,必须确保所有相关的时钟配置都是正确的。这包括主时钟源的选择、分频器的设置、PLL(Phase Locked Loop)的配置等。如果配置不当,可能会导致时钟频率超出MCU的工作范围,从而引起程序跑飞。
kkzz 发表于 2024-7-10 02:53 | 显示全部楼层
使用仿真工具(如Keil uVision)进行调试,观察程序运行时的状态。这可以帮助找到导致跑飞问题的具体原因。
chenci2013 发表于 2024-7-10 05:58 | 显示全部楼层
如果程序中的某些部分依赖于特定的时钟频率(例如,定时器的中断周期、通信协议的波特率等),在修改时钟频率后,这些依赖关系可能会被打破,导致程序逻辑出错。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

273

主题

2368

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部