STM32CubeMX v6.9.0 BUG:FLASH_LATENCY设置错误导致初始化失败

背景

今天在调试外设功能时,发现设置了使用外部时钟之后程序运行异常,进行追踪调试并与先前可以正常运行的项目进行对比之后发现这个问题可能是由于新版本的STM32CubeMX配置生成代码时的BUG引起的。

测试环境

MCU: STM32H750VBT6
STM32CubeIDE: Version: 1.13.0 Build: 17399_20230707_0829 (UTC)
STM32CubeMX: v6.9.0
FW: STM32Cube FW_H7 V1.11.0
RCC:

问题现象

程序无法正确运行进入主循环,调试程序发现程序在执行 SystemClock_Config(); 时卡死;进一步调试发现程序在下面代码中卡死:

c 复制代码
  if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK)
  {
    Error_Handler();
  }

更进一步追踪发现程序卡死在 __HAL_FLASH_GET_LATENCY 相关操作比对结果时。

问题解决

通过上面调试发现问题出在 FLASH LATENCY 相关操作中,对比先前版本的程序,同样配置下 HAL_RCC_ClockConfig 函数中后一个参数为 FLASH_LATENCY_2 ,所以这里修改即可。实测也是修改侯便可以正常使用了。

FLASH LATENCY 参数设置可以参考芯片参考手册:

通常来说设置大点程序运行上会更加可靠,只是效率上变差。

相关推荐
Industio_触觉智能5 分钟前
瑞芯微RK3576机器视觉场景之割草机+无人清扫车
嵌入式硬件·硬件工程·边缘计算·智能硬件·rk3576·割草机·rk3576j
0x3F(小茶)5 分钟前
STM32 Bootloader与OTA升级
c语言·stm32·单片机·嵌入式硬件·物联网
Wallystech-Linda5 分钟前
[特殊字符] How Mesh WiFi Is Tested: A Complete Engineering Validation Guide
嵌入式硬件
嵌入式-老费8 分钟前
esp开发与应用(数码管类应用)
嵌入式硬件
fie888910 分钟前
51单片机 NRF24L01 接收程序
嵌入式硬件·mongodb·51单片机
agathakuan14 分钟前
從零開始在家開發 IoT: VM編譯到Windows燒錄與逐sector抹除原因
嵌入式硬件·iot·virtualmachine
XINVRY-FPGA18 分钟前
XC7Z035-2FFG900I Xilinx/AMD Zynq-7000 SoC FPGA
人工智能·嵌入式硬件·计算机视觉·fpga开发·硬件工程·dsp开发·fpga
fffzd27 分钟前
STM32:串口--DMA
stm32·单片机·嵌入式硬件·串口·dma·回调函数
踏着七彩祥云的小丑31 分钟前
嵌入式测试学习第 28 天:网络调试助手使用、TCP服务端客户端实操
单片机·嵌入式硬件·学习
不脱发的程序猿14 小时前
AI Coding时上下文不够用咋办?
单片机·嵌入式硬件·嵌入式