解决自动更新bootloader死机的问题
软件版本2.00 解决检测任务中重试失败后不会填充返回值的bug
This commit is contained in:
@@ -94,7 +94,12 @@ static int elec_parper_power(void)
|
||||
ret=checker_runcfg.excue_rtv;
|
||||
if(ret){
|
||||
DBG_WARN("parper power failed,ret=%d.",ret);
|
||||
}else{
|
||||
checker_runcfg.power_prapare_exe=1;
|
||||
}
|
||||
JQBUS_OFF;
|
||||
delay_ms(20);
|
||||
PowerCalibration_set(POWER_DEF_V,POWER_DEF_V-10);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -133,7 +138,7 @@ array_def *elec_bootinfo(void)
|
||||
Ye_BoardCheck();
|
||||
board_st.hard_v=sys_param()->hard_version;
|
||||
board_st.resistor_diff=sys_param()->resistor_diff;
|
||||
board_st.hard_v=15;
|
||||
board_st.hard_v=19;
|
||||
array_def *r=arr_creat();
|
||||
arr_append(r,0);
|
||||
arr_appends(r,&board_st,sizeof(BoartCheck_st));
|
||||
@@ -294,11 +299,11 @@ static int elec_code_param_check(array_def *uid_psw)
|
||||
if((uid_psw==0)||(arr_length(uid_psw)==0)){
|
||||
return 1;
|
||||
}
|
||||
if(arr_length(uid_psw)!=(arr_get(uid_psw,0)+arr_get(uid_psw,1)+1)){
|
||||
if(arr_length(uid_psw)!=(arr_get(uid_psw,0)+arr_get(uid_psw,1)+3)){
|
||||
return 2;
|
||||
}
|
||||
if(arr_get(uid_psw,2)!=0){
|
||||
return 2;
|
||||
return 3;
|
||||
}
|
||||
if((arr_get(uid_psw,0)>13)||(arr_get(uid_psw,1)>8)){
|
||||
return 4;
|
||||
@@ -365,10 +370,11 @@ array_def *elec_check_with_scheme(array_def *uid_psw)
|
||||
uint8_t res=0;
|
||||
array_def *r=arr_creat();
|
||||
CHECK_DO(s->data,arr_delete);
|
||||
res=checker_runcfg.power_prapare_exe;
|
||||
memset(&checker_runcfg,0,sizeof(Checker_RunCfg_st));
|
||||
checker_runcfg.power_prapare_exe=res;
|
||||
chip_type=(board_st.plan_id >> 12 ) & 0x0F;
|
||||
if(elec_code_param_check(uid_psw)==0){
|
||||
checker_runcfg.code_bind_check_flag = 1;//检测 绑定一起执行
|
||||
elec_code_load_param(uid_psw);
|
||||
}
|
||||
|
||||
@@ -402,13 +408,18 @@ array_def *elec_check_with_scheme(array_def *uid_psw)
|
||||
break;
|
||||
checker_runcfg.rtv_index-=checker_runcfg.rtv_count;
|
||||
}
|
||||
DBG_LOG("task_index:%d,taskid:%d,ret=%d.",task_index,taskid,checker_runcfg.excue_rtv);
|
||||
if(checker_runcfg.excue_rtv){
|
||||
checker_runcfg.rtv_index+=checker_runcfg.rtv_count;
|
||||
}
|
||||
DBG_LOG("task_index:%d,taskid:%d,ret=%d,rtv_index=%d.",task_index,taskid,checker_runcfg.excue_rtv,
|
||||
checker_runcfg.rtv_index);
|
||||
|
||||
// 找寻下一个任务
|
||||
task_index++;
|
||||
if(checker_runcfg.excue_rtv != 0){
|
||||
uint8_t err_to=checker_runcfg.task_info.error_jumpto;
|
||||
uint8_t temp;
|
||||
if(err_to==0xff) continue;
|
||||
if(err_to>s->task_num-1) err_to=s->task_num-1;
|
||||
for(;task_index<err_to;task_index++){
|
||||
Checker_MaskResult(1,task_index);
|
||||
|
Reference in New Issue
Block a user