Other Parts Discussed in Thread: CC3220SF
Hi,
I have got a problem with software rebooting of CC3220MODASF12MONR SOC.
The SoC freezes very often on rebooting if I do it when the SoC is connected to a WiFi network. The freeze means FW doesn’t start initialization in main() method when I invoke method PRCMMCUReset(true);.
And I’ve found that if I set up Access Point mode before rebooting, it could reboot stable. There is the code I use before rebooting to get stable reboot:
void Cc3220sf::reboot()
{
portDISABLE_INTERRUPTS();
unsigned char s[] = {0x0};
//disable internal rom pages
sl_NetAppSet(SL_NETAPP_HTTP_SERVER_ID, SL_NETAPP_HTTP_ROM_PAGES_ACCESS, sizeof(s), (const unsigned char *)s);
sl_WlanProvisioning(SL_WLAN_PROVISIONING_CMD_STOP, 0, 0, NULL, (uint32_t)NULL);
sl_WlanSetMode(ROLE_AP);
sl_Stop(0);
RTOS::Thread::sleep_ms(1000);
sl_Start(NULL, NULL, NULL);
RTOS::Thread::sleep_ms(1500);
sl_Stop(0);
PRCMMCUReset(true);
}
It looks like SoC stores some information about WiFi communication in co-processor and something goes wrong if it starts when station mode was set last time.
Could you explain to me the correct universal sequence of deinitialization which I need to do before rebooting if SoC is either in station mode or AP mode?
And also could any hardware components: capacitor, resistor influent on soft rebooting of SoC?
Andrey