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: Debugging a Hardfault

Part Number: CC3220SF

Hi,

I am trying to debug a hard fault in my cc3220sf code.

I am spawning 3 threads, 2 of which are hard faulting and ending up in FaultISR() in startup_cc32xx_css.c.

When I look at the fault bits I have the following:

FAULT_STAT 0x00008200

HFAULT_STAT 0x40000000

DEBUG_STAT 0x00000000

MM_ADDR 0x31200040

FAULT_ADDR 0x31200040

The fault address given does not exist in memory, and it is the same every time I run the code. I suspect the PC has been overwritten by something.

How can I find out what caused this fault? From the TRM it appears to be a memory bus fault, which i suspect is caused by the PC having a value that doesn't exist in memory.

Background:

The code spawns 3 threads, one to collect data from sensor continuously, one to process that data, and one to send it out the wifi stack. There are 2 queues which are used to pass data between the threads.