关于CC3200 OTA升级过程中,网络连接断开,导致升级过程不能正常结束的问题
Hi,
大家好,最近在做CC3200的OTA,网络正常状态下,整个升级过程都是OK的,
问题是,
1、当在升级的过程中,网络突然断开,整个升级过程不能正常结束
2、莫名的导致其它线程,例如我的显示线程 接收不到按键消息
CdnClient_Run: Create/Open for write file /sys/mcuimgA.bin
_OpenStorageFile->filename = /sys/mcuimgA.bin
_McuImageGetNewIndex: active image is 0, return new image 1
sl_extlib_FlcOpenFile: MCU imagename converted to /sys/mcuimg2.bin
CdnClient_Run: file opened
iOTAStatus: 0000000000000000
iOTAStatus: 7
CdnClient_Run: Write size 1440 to file /sys/mcuimg2.bin total 0.
iOTAStatus: 0000000000000000
iOTAStatus: 7
CdnClient_Run: Write size 1440 to file /sys/mcuimg2.bin total 1440.
iOTAStatus: 0000000000000000
iOTAStatus: 7
CdnClient_Run: Write size 1440 to file /sys/mcuimg2.bin total 2880.
iOTAStatus: 0000000000000000
iOTAStatus: 7
CdnClient_Run: Write size 1440 to file /sys/mcuimg2.bin total 4320.
iOTAStatus: 0000000000000000
iOTAStatus: 7
CdnClient_Run: Write size 1440 to file /sys/mcuimg2.bin total 5760.
iOTAStatus: 0000000000000000
iOTAStatus: 7
CdnClient_Run: Write size 1440 to file /sys/mcuimg2.bin total 7200.
iOTAStatus: 0000000000000000
iOTAStatus: 7
CdnClient_Run: Write size 1440 to file /sys/mcuimg2.bin total 8640.
RSSI = 2,NetWorkList = 10
iOTAStatus: 0000000000000000
iOTAStatus: 7
CdnClient_Run: Write size 1440 to file /sys/mcuimg2.bin total 10080.
iOTAStatus: 0000000000000000
iOTAStatus: 7
CdnClient_Run: Write size 1440 to file /sys/mcuimg2.bin total 11520.
iOTAStatus: 0000000000000000
iOTAStatus: 7
CdnClient_Run: Write size 1440 to file /sys/mcuimg2.bin total 12960.
iOTAStatus: 0000000000000000
iOTAStatus: 7
CdnClient_Run: Write size 1440 to file /sys/mcuimg2.bin total 14400.
iOTAStatus: 0000000000000000
iOTAStatus: 7
CdnClient_Run: Write size 1440 to file /sys/mcuimg2.bin total 15840.
iOTAStatus: 0000000000000000
iOTAStatus: 7
CdnClient_Run: Write size 1440 to file /sys/mcuimg2.bin total 17280.
iOTAStatus: 0000000000000000
iOTAStatus: 7
CdnClient_Run: Write size 1440 to file /sys/mcuimg2.bin total 18720.
iOTAStatus: 0000000000000000
iOTAStatus: 7
CdnClient_Run: Write size 1440 to file /sys/mcuimg2.bin total 20160.
iOTAStatus: 0000000000000000
iOTAStatus: 7
CdnClient_Run: Write size 1440 to file /sys/mcuimg2.bin total 21600.
iOTAStatus: 0000000000000000
iOTAStatus: 7
CdnClient_Run: Write size 1440 to file /sys/mcuimg2.bin total 23040.
iOTAStatus: 0000000000000000
iOTAStatus: 7
CdnClient_Run: Write size 1440 to file /sys/mcuimg2.bin total 24480.
iOTAStatus: 0000000000000000
iOTAStatus: 7
CdnClient_Run: Write size 1440 to file /sys/mcuimg2.bin total 25920.
iOTAStatus: 0000000000000000
iOTAStatus: 7
CdnClient_Run: Write size 1440 to file /sys/mcuimg2.bin total 27360.
iOTAStatus: 0000000000000000
iOTAStatus: 7
tcp connect server iStatus = -111
tcp connect server error
[WLAN ERROR]Device disconnected from the AP AP: KK_XLBCPE_001,BSSID: dc:9:4c:2e:7e:13 on an ERROR..!!
while( SYS_STATE_RUN == g_ulSysState ){
iRet = sl_extLib_OtaRun(pvOtaApp);
if ( iRet < 0 ){
if( RUN_STAT_ERROR_CONTINUOUS_ACCESS_FAILURES == iRet ){
sDisplayInfo.iOTAStatus = OTA_ERROR;
//g_ulSysState = SYS_STATE_REBOOT;// Schelude a restart.
}else{
sDisplayInfo.iOTAStatus = OTA_ERROR_RETRY;
}
g_ulSysState = SYS_STATE_WAIT;
OTADisplay();
}else if( iRet == RUN_STAT_NO_UPDATES ){
sDisplayInfo.iOTAStatus = OTA_NO_UPDATES;
g_ulSysState = SYS_STATE_WAIT;
OTADisplay();
}else if ((iRet & RUN_STAT_DOWNLOAD_DONE)){
// Set OTA File for testing
SetCommitInt = OTA_ACTION_IMAGE_NOT_COMMITED;
iRet = sl_extLib_OtaSet(pvOtaApp, EXTLIB_OTA_SET_OPT_IMAGE_TEST,
sizeof(int), (_u8 *)&SetCommitInt);
sDisplayInfo.iOTAStatus = OTA_DONE;
OTADisplay();
if (iRet & (OTA_ACTION_RESET_MCU | OTA_ACTION_RESET_NWP)){
g_ulSysState = SYS_STATE_REBOOT;
}else{
g_ulSysState = SYS_STATE_WAIT;
}
}
}
sl_extLib_OtaRun 这个函数不能正常返回
请大家协助解决一下!
谢谢!
谢谢!
谢谢!
不太确定你的3200为何会从路由器断开连接,是不是路由器离3200太远?
这是一个测试CASE ,一旦检测到断网,设备要能重新连接,重新建立socket;不能由于断网造成系统的不正常工作