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.

program is stuck at sl_stop in sl_task, after a SL_WLAN_EVENT_PROVISIONING_PROFILE_ADDED

Part Number: BOOSTXL-CC3135
Other Parts Discussed in Thread: CC3135, CC3100

I am using provisioning mode to connect the cc3135 to an access point.

after I started provisioning mode:

return_value = sl_WlanProvisioning(SL_WLAN_PROVISIONING_CMD_START_MODE_AP, ROLE_STA,
			PROVISIONING_INACTIVITY_TIMEOUT,
			NULL, (uint32_t) NULL);

I am able to give an SSID to the device, after this a reset commando is received from the CC3135. in the reset the device get stuck at sl_stop.

What is the problem in this situation, and how can i fix this? If you need more information, please ask.

Debug backtrace

this is my debug backtrace when the device is stuck:

#0 _SlNonOsSemGet (pSyncObj=0x200046d0 <GlobalLockObj>, WaitValue=51, SetValue=68, Timeout=4294967295) at ../_Drivers/simplelink_sdk_wifi_plugin_2_40_00_22/source/ti/drivers/net/wifi/source/nonos.c:146
#1 0x0004645c in _SlDrvObjGlobalLockWaitForever (Flags=0) at ../_Drivers/simplelink_sdk_wifi_plugin_2_40_00_22/source/ti/drivers/net/wifi/source/driver.c:2898
#2 0x0004539a in _SlDrvMsgReadSpawnCtx (pValue=0x0) at ../_Drivers/simplelink_sdk_wifi_plugin_2_40_00_22/source/ti/drivers/net/wifi/source/driver.c:2012
#3 0x000472ee in _SlNonOsMainLoopTask () at ../_Drivers/simplelink_sdk_wifi_plugin_2_40_00_22/source/ti/drivers/net/wifi/source/nonos.c:229
#4 0x00047282 in _SlNonOsSemGet (pSyncObj=0x200046d0 <GlobalLockObj>, WaitValue=51, SetValue=68, Timeout=4294967295) at ../_Drivers/simplelink_sdk_wifi_plugin_2_40_00_22/source/ti/drivers/net/wifi/source/nonos.c:171
#5 0x0004645c in _SlDrvObjGlobalLockWaitForever (Flags=0) at ../_Drivers/simplelink_sdk_wifi_plugin_2_40_00_22/source/ti/drivers/net/wifi/source/driver.c:2898
#6 0x0004539a in _SlDrvMsgReadSpawnCtx (pValue=0x0) at ../_Drivers/simplelink_sdk_wifi_plugin_2_40_00_22/source/ti/drivers/net/wifi/source/driver.c:2012
#7 0x000472ee in _SlNonOsMainLoopTask () at ../_Drivers/simplelink_sdk_wifi_plugin_2_40_00_22/source/ti/drivers/net/wifi/source/nonos.c:229
#8 0x00047282 in _SlNonOsSemGet (pSyncObj=0x200046d0 <GlobalLockObj>, WaitValue=51, SetValue=68, Timeout=4294967295) at ../_Drivers/simplelink_sdk_wifi_plugin_2_40_00_22/source/ti/drivers/net/wifi/source/nonos.c:171
#9 0x0004645c in _SlDrvObjGlobalLockWaitForever (Flags=0) at ../_Drivers/simplelink_sdk_wifi_plugin_2_40_00_22/source/ti/drivers/net/wifi/source/driver.c:2898
#10 0x00043d32 in sl_Stop (Timeout=300) at ../_Drivers/simplelink_sdk_wifi_plugin_2_40_00_22/source/ti/drivers/net/wifi/source/device.c:379
#11 0x00043fa4 in _SlDeviceHandleResetRequestInternally () at ../_Drivers/simplelink_sdk_wifi_plugin_2_40_00_22/source/ti/drivers/net/wifi/source/device.c:712
#12 0x00043efc in _SlDeviceEventHandler (pEventInfo=0x2003fa40) at ../_Drivers/simplelink_sdk_wifi_plugin_2_40_00_22/source/ti/drivers/net/wifi/source/device.c:649
#13 0x0004516a in _SlDrvAsyncEventGenericHandler (bInCmdContext=0 '\000', pAsyncBuffer=0x20004728 "\231") at ../_Drivers/simplelink_sdk_wifi_plugin_2_40_00_22/source/ti/drivers/net/wifi/source/driver.c:1814
#14 0x0004548e in _SlDrvMsgReadSpawnCtx (pValue=0x0) at ../_Drivers/simplelink_sdk_wifi_plugin_2_40_00_22/source/ti/drivers/net/wifi/source/driver.c:2061
#15 0x0004718e in _SlNonOsHandleSpawnTask () at ../_Drivers/simplelink_sdk_wifi_plugin_2_40_00_22/source/ti/drivers/net/wifi/source/nonos.c:96
#16 0x000438fc in sl_Task (pEntry=0x0) at ../_Drivers/simplelink_sdk_wifi_plugin_2_40_00_22/source/ti/drivers/net/wifi/source/device.c:109
#17 0x00035e74 in main () at D:/git/nrf52840_cc3135_template/nrf52840_CC3135_template/main.c:277

Logic analyzer screenshot sl_stop

This is a screenshot of the logic analyzer when SL_Stop is triggered:

Background

I have ported the simplelink driver to use it on a nRF52840 MCU.

SPI functions are in polling mode

IRQ interrupt triggers at rising edge

I am using nortos, with the nonos.c functions implemented from the cc3100 v1.3.0 library