[STM32L1] 如何解决 STM32CubeIde 中 STM32L0_EVAL 板上的 Hard fault

[复制链接]
476|9
 楼主| lilaiju 发表于 2025-4-9 11:00 | 显示全部楼层 |阅读模式
在执行以下代码行时遇到Hard fault:
hourly_log.credit = *credit_register.
下图显示了故障发生时的调试窗口,其中包含变量、反汇编视图和寄存器。
这个代码在 8 位平台上运行良好,正在将其移植到 STM32 平台,并且遇这个问题。

2728767f53ebe62cd4.png

elephant00 发表于 2025-4-9 11:16 | 显示全部楼层
检查外设时钟是否使能。
duo点 发表于 2025-4-9 13:00 | 显示全部楼层
非法内存访问,访问未初始化指针、空指针解引用、数组越界。
onlycook 发表于 2025-4-9 14:36 | 显示全部楼层
栈溢出导致的?
两只袜子 发表于 2025-4-9 16:23 | 显示全部楼层
时钟未使能或总线访问冲突。
jcky001 发表于 2025-4-9 18:00 | 显示全部楼层
可能执行了非法或未对齐的指令。
flycamelaaa 发表于 2025-4-9 18:03 | 显示全部楼层
电源电压是否稳定。
cr315 发表于 2025-4-9 20:00 | 显示全部楼层
检查是否存在电源不稳定、时钟配置错误或外设故障。
laocuo1142 发表于 2025-4-9 20:00 | 显示全部楼层
检查编译器优化选项,避免过度优化导致指令错误。
powerantone 发表于 2025-4-9 21:23 | 显示全部楼层
检查递归函数是否过深。优化递归为循环,减少局部变量占用。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

52

主题

52

帖子

0

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