This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC3220SF:调试硬故障

Guru**** 2538950 points
Other Parts Discussed in Thread: CC3220SF

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1046187/cc3220sf-debugging-a-hardfault

器件型号:CC3220SF

您好!

我正在尝试调试我的 cc3220sf 代码中的硬故障。

我产生了3个线程,其中2个线程是硬故障,最后在 startup_cc32xx_css.c 的 FaultISR()中结束

当我查看故障位时、我具有以下内容:

FAULT_STAT 0x00008200

HFAULT_STAT 0x40000000

DEBUG_STAT 0x00000000

MM_ADDR 0x31200040

FAULT_ADDR 0x31200040

存储器中不存在给定的故障地址、每次运行代码时都是相同的。 我怀疑 PC 被某些内容覆盖。

如何找出导致此故障的原因? 在 TRM 中、它似乎是内存总线故障、我怀疑这是由内存中没有值的 PC 引起的。

背景:

代码将生成3个线程、一个线程用于从传感器连续收集数据、一个线程用于处理该数据、另一个线程用于将其从 WiFi 堆栈中发送出去。 有2个队列用于在线程之间传递数据。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    没有好的方法。 您可以检查 LR 或其他内核寄存器、以尝试在异常之前找到代码区域。

    在许多情况下、这是一个堆栈大小问题。

    尝试增加线程的堆栈大小。