Part Number:CC3220
Hi,
I'm trying to figure out what the exact procedure is to execute a host driven factory reset on the CC3220.
The simplelink programmer's guide () is not very clear on this.
As far as I can tell, with SOP[2:0] fixed on 000, I should just run the following code:
_i32 slRetVal; SlFsRetToFactoryCommand_t RetToFactoryCommand; _i32 Status, ExtendedStatus; RetToFactoryCommand.Operation = SL_FS_FACTORY_RET_TO_IMAGE; Status = sl_FsCtl( (SlFsCtl_e)SL_FS_CTL_RESTORE, 0, NULL , (_u8 *)&RetToFactoryCommand , sizeof(SlFsRetToFactoryCommand_t), NULL, 0 , NULL ); if ((_i32)Status < 0) { /*error*/ //Status is composed from Signed error number & extended status Status = (_i16)Status>> 16; ExtendedStatus = (_u16)slRetVal& 0xFFFF; break; } //Reset sl_Stop(10); //sl_Start(NULL, NULL, NULL); //CC3220 PRCMHibernateCycleTrigger();
But is this all? Is this supposed to fully execute the entire factory reset?
From what I can see, this seem to do -something-, but after a while seems to reset the device which then fully hangs. (nothing happens/boots. Nor the old or current image)
Even when unpowering/repowering and waiting a long time, nothing seems to happen.
Only when I toggle the RESET line, after 10+s the system seems to reboot into a valid image again.
Is this behavior to be expected? And/or what is the full procedure to execute a host-driven factory reset? Am I missing something, since the toggling of the reset was not outlined in the datasheet?
Thanks for any clarification.
Arnout