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: Hard fault issue with Simple Link socket

Part Number: CC3220SF


Tool/software:

Hi everyone,

We are using cc3220sf with Free RTOS and Simple Link library to build a WiFi device. Our device switches between the AP and STA mode.

For example, the device is in the AP mode. We connect to it, set STA WiFi credentials and then reboot the NWP (NOT THE WHOLE DEVICE, JUST the NWP) by calling sl_stop and then setting the device into STA mode with sl_WlanSetMode and starting it again with sl_start to get it to connect to the AP using these credentials.

So, when we do that course of action, sometimes and after some time, the device will experience a Hard Fault that's actually a Bus Fault. After investigation, the issue was found to arise from the following sequence:

HTTPClient_sendRequest -> sendRequest -> getStatus -> socketRecvTimeout -> SlNetSock_recv -> SlNetIfWifi_recv -> sl_Recv -> _SlDrvDataReadOp

_SlDrvDataReadOp then successfully completes and returns to sl_Recv which in turn successfully completes and returns to SlNetIfWifi_recv which in turn also successfully completes but fails to return to SlNetSock_recv due to an undefined instruction in the POP instruction r7 register.


On the left picture it can be seen that the POP instruction r7 register points to 0x2003f3f8 and the instruction there is undefined.

The cause of this issue is unknown but seems to point to the NWP coprocessor reboot since this issue DOES NOT happen when the device doesn't switch between working modes (AP/STA) aka when NWP reboot is never called.

Did anyone experience the same/similar issue?