【问题标题】:Trouble returning from functions STM32F051C6 (Hard fault)从功能 STM32F051C6 返回故障(硬故障)
【发布时间】:2015-12-10 13:11:52
【问题描述】:

所以我已经被这个问题困扰了一段时间。每当我调用一个函数时,在我的代码接近尾声时,它就不能再返回到主函数并导致硬故障错误。我检查它确实使用断点到达函数的末尾。

如果我将函数中的代码复制到主函数中,它可以正常工作,但会降低代码的可读性和重复性。

知道为什么会发生这种情况以及解决方法。

我正在使用 STM32F051C6 并在 Eclipse 中用 c 编程。

【问题讨论】:

  • 第一个想法:发布您的代码....
  • 堆栈.......................?

标签: c stm32


【解决方案1】:

这听起来像您的堆栈溢出。通常堆栈大小在您的链接器文件中定义,请尝试增加它。

检查可以轻松填满堆栈的递归函数调用。

这也可能是内存问题,例如在不知不觉中覆盖了您的堆栈。检查函数内部无法返回的数组和指针访问。

【讨论】:

  • 是的,似乎是我在当前的微型计算机上没有足够的内存来实现我想要的。
猜你喜欢
  • 1970-01-01
  • 2012-10-31
  • 2011-06-26
  • 2015-07-25
  • 1970-01-01
  • 2011-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多