ST意法半导体
直播中

刘埃生

7年用户 1654经验值
私信 关注
[问答]

STM32F7508单片机冻结的原因?如何处理?

大家好,
我有一个 STM32F7508-Discovery 板(STM32F750N8H6 MCU),上面有一个自定义 UI 应用程序,在中断模式下使用 LTDC 和 DMA2D,并不断用红色/蓝色填充整个显示屏。Stm32CubeF7 v1.16.0 用作 SDK。
使用此应用程序,我有以下行为:
  • 使用 IAR 工具链,未观察到任何问题,应用程序运行顺畅,性能良好
  • 使用 GCC 工具链 (Stm32CubeIde 1.40.0),应用程序在执行期间在随机点冻结
最糟糕的是,这不是应用程序冻结,而是 MCU 冻结,因为:
  • 调试器失去连接,在冻结期间尝试停止 CPU 不起作用,在没有系统重置的情况下附加调试器也不起作用
  • SystickHandler 不再执行,这意味着 IRQ 停止触发
  • RTOS空闲任务不再进入
  • WDT 是唯一可以重启 MCU 的东西,在 WDT 禁用的情况下,除了按下 RST 按钮外没有其他解决方案
  • WDT 复位后,我看到所有的 CPU 寄存器都被复位,这是不正常的,没有提供调试目的
由于调试器在冻结期间停止,因此我无法调试,因此我怀疑硬件级别存在问题(AHB 总线死锁、电源问题)。
有人在这个 MCU 上遇到过类似的死机吗?
我怎样才能得到一些痕迹来帮助我进行调查(ETM 痕迹、SystemView 痕迹)?








更多回帖

发帖
×
20
完善资料,
赚取积分