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.