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 参数设置可以参考芯片参考手册:

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

相关推荐
ะัี潪ิื3 小时前
Redisson Bug回顾
bug
极客 - L U5 小时前
卡尔曼滤波从零到精通
c语言·数据结构·单片机·嵌入式硬件·mcu
码小文6 小时前
CAM350使用笔记(6)---Gerber文件铺铜间距检查
嵌入式硬件·cam350软件·cam350使用笔记
Zw-awa8 小时前
编译器工具链:GCC、Clang、MSVC、ICC、armclang
stm32
Yiran_G8 小时前
双频 Wi-Fi 6 + 蓝牙 5.4:无声讯通 WS8712 模组的开发与集成要点
网络·嵌入式硬件·物联网·智能家居
凯基迪科技8 小时前
STM32G系列(G0/G4)芯片解密程序提取RDP读保护解析
网络·stm32·安全
光子物联单片机9 小时前
ESP32传感器模块编程实践(一)DIY智能WIFI视频控制小车
嵌入式硬件·esp32·智能硬件·硬件
2501_922639589 小时前
率能半导体 SS6628E直流双向马达驱动芯片:20V/7A,覆盖电子锁、玩具、无线充电、机器人四大应用场景
单片机·嵌入式硬件·硬件工程
硅基造物主9 小时前
STM32 从 0 到 1 做智能家居(五):工程结构与代码骨架
stm32·单片机·嵌入式硬件·智能家居
深圳老胡9 小时前
STM32F103 硬件 SPI 与软件 IO 模拟 SPI 最高速度差异详解
笔记·stm32·单片机·代码规范·1024程序员节