1.优化usb ko加载

This commit is contained in:
payton 2023-07-27 14:01:24 +08:00
parent da019bbfa3
commit 69075778f6
3 changed files with 59 additions and 4 deletions

View File

@ -58,6 +58,7 @@ SINT32 sf_app_data_ready_start(void);
void sf_cmd_4g_usb_boot(void); void sf_cmd_4g_usb_boot(void);
void sf_do_4g_upgrade_thread(void); void sf_do_4g_upgrade_thread(void);
UINT32 sf_4g_update(UINT8 *upFname); UINT32 sf_4g_update(UINT8 *upFname);
SINT32 sf_app_load_ko_start(void);
#ifdef __cplusplus #ifdef __cplusplus
#if __cplusplus #if __cplusplus
} }

View File

@ -156,7 +156,7 @@ int main(int argc, char *argv[])
printf("[%s:%d] isUsb = %d isCard = %d isUpdate:%d\n", __FUNCTION__, __LINE__, isUsb,isCard,isUpdate); printf("[%s:%d] isUsb = %d isCard = %d isUpdate:%d\n", __FUNCTION__, __LINE__, isUsb,isCard,isUpdate);
if(!isUsb) if(!isUsb)
{ {
sf_load_ko(); sf_app_load_ko_start();
} }
//sf_share_mem_file_init(); //sf_share_mem_file_init();
//sf_share_mem_customer_update(); //sf_share_mem_customer_update();

View File

@ -112,7 +112,11 @@ static SF_THREAD_S ModeuleUpgradeTskParam =
.IsRun = 0, .IsRun = 0,
.TskId = -1, .TskId = -1,
}; };
SF_THREAD_S UsbKoTskCfg =
{
.IsRun = 0,
.TskId = -1,
};
SINT8 debugFlag = 0; SINT8 debugFlag = 0;
@ -922,6 +926,8 @@ void sf_power_off(void)
void* sf_app_para_check_thread(void *arg) void* sf_app_para_check_thread(void *arg)
{ {
SLOGI("thread run\n");
ParaTskCfg.IsRun = 1;
while(ParaTskCfg.IsRun) while(ParaTskCfg.IsRun)
{ {
if(TRUE == sf_get_para_check_flag()){ if(TRUE == sf_get_para_check_flag()){
@ -949,7 +955,6 @@ SINT32 sf_app_para_check_start(void)
MLOGD("thread creat fail!\n"); MLOGD("thread creat fail!\n");
return ret; return ret;
} }
ParaTskCfg.IsRun = 1;
return SF_SUCCESS; return SF_SUCCESS;
} }
@ -1246,3 +1251,52 @@ void sf_do_4g_upgrade_thread(void)
ModeuleUpgradeTskParam.IsRun = 1; ModeuleUpgradeTskParam.IsRun = 1;
} }
} }
void* sf_app_load_ko_thread(void *arg)
{
SLOGI("thread run\n");
UsbKoTskCfg.IsRun = 1;
sf_load_ko();
UsbKoTskCfg.IsRun = 0;
SLOGI("thread end\n");
return NULL;
}
SINT32 sf_app_load_ko_start(void)
{
SINT32 ret = SF_FAILURE;
if(UsbKoTskCfg.IsRun)
{
SLOGE("thread has already run !!!\n");
return SF_FAILURE;
}
ret = pthread_create(&UsbKoTskCfg.TskId, NULL, sf_app_load_ko_thread, NULL);
if(ret != SF_SUCCESS)
{
MLOGD("thread creat fail!\n");
return ret;
}
return SF_SUCCESS;
}
SINT32 sf_app_load_ko_stop(void)
{
UINT16 ret = 0;
MLOGD("s\n");
if(0 == UsbKoTskCfg.IsRun){
return SF_SUCCESS;
}
UsbKoTskCfg.IsRun = 0;
ret = pthread_join(UsbKoTskCfg.TskId, NULL);
if(ret != SF_SUCCESS)
{
MLOGD("thread stop fail!\n");
return ret;
}
return SF_SUCCESS;
}