main(int argc,char *argv[]) { int op; op = atoi(argv[3]); printf("op is %d\n",op); spi_modules_init(argv[1]); if(!strcmp(argv[2],"-r")) { } else if(!strcmp(argv[2],"-g")) { printf("the voltage is %d\n",read_voltage()); } else if(!strcmp(argv[2],"-p")) { } else if(!strcmp(argv[2],"-c")) { poweroff_now(); } else if(!strcmp(argv[2],"-l1")) { operation_lm1(op); } else if(!strcmp(argv[2],"-o")) { out_12(op); } else if(!strcmp(argv[2],"-l2")) { operation_lm2(op); } else if(!strcmp(argv[2],"-l3")) { operation_lm2(op); } else if(!strcmp(argv[2],"-b")) { printf("operation_bark\n"); operation_backlight(op); }else if(!strcmp(argv[2],"-k")) { open_key(); }else if(!strcmp(argv[2],"-re")) { restart_system(); } }
// ============================================================================= // 函数功能:__Exp_ResultDeal // 处理异常的最终结果 // 输入参数:expdealresult,异常结果 // expinfo,搜集的异常信息 // 输出参数:无 // 返回值 :异常的最终处理结果(见enum _EN_EXP_DEAL_REASULT声明) // 说明 :内部调用函数,如果异常结果中有需要重启服务,那么就不会返回的。 // ============================================================================= static u32 __Exp_ResultDeal(u32 expdealresult,\ struct tagExpRecordPara *expinfo) { u32 result; if(expdealresult < EN_EXP_DEAL_RECORD) { result = EN_EXP_DEALT_IGNORE; } else { result = Exp_Record(expinfo); if(result != EN_EXP_DEAL_RECORD_SUCCESS) { printk("expresultdealer:RECORD FAILED!\n\r"); result = EN_EXP_DEALT_RECORDFAILED; #ifdef DEBUG //调试时候挂起 while(1) { } #endif } else { result = EN_EXP_DEALT_SUCCESS; } switch (expdealresult) { //重启是不会返回的,不然必然是出错了 case EN_EXP_DEAL_RESET: reset(); break; case EN_EXP_DEAL_REBOOT: reboot(); break; case EN_EXP_DEAL_RESTART: restart_system(); break; default: break; } } return result; }
void restart_system_wrap(char *addl_args) { restart_system(-1); end_transmission(); }