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

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

相关推荐
8年车载测试9 分钟前
车载测试中如何通过 Jira 平台提交 Bug:操作步骤与关键要点
bug·jira·uds诊断·hil测试·uds自动化测试·ecu刷写测试·canoe工具
深圳老胡1 小时前
STM32CubeMX 2 与 STM32CubeMX 的主要区别
笔记·stm32·单片机·代码规范
BSD_CGQ2 小时前
FSR 压力传感器 I2C 接口实战:地址规划与 MCU 软件滤波的工程取舍
嵌入式硬件·机器人·压力传感器·柔性薄膜压力传感器
゛凌乱的记忆づ2 小时前
50元从零到成品:一套AI辅助的嵌入式实战入门教程——IIC篇
人工智能·stm32·单片机·嵌入式硬件
创界工坊工作室4 小时前
54-基于STC89C52控制的智能运输小车设计
stm32·单片机·嵌入式硬件·51单片机·proteus
iCxhust4 小时前
NTC温度测量计算
单片机·嵌入式硬件·51单片机·热力计算
沐欣工作室_lvyiyi4 小时前
基于单片机的汽车智能座舱控制系统的设计与实现(论文+源码)
单片机·嵌入式硬件·汽车·智能座舱
Alinket5 小时前
资源受限 MCU 的 OTA 升级怎么做:差分、签名校验与断点续传
单片机·嵌入式硬件
dtq04245 小时前
嵌入式3 - 外设和GPIO基本概念
单片机·嵌入式硬件
cu1437 小时前
细谈IT65631的具体功能与其应用
c++·单片机·嵌入式硬件