diff --git a/app/include/ca_dbg.h b/app/include/ca_dbg.h index ca3e559..2beb3e3 100755 --- a/app/include/ca_dbg.h +++ b/app/include/ca_dbg.h @@ -41,8 +41,9 @@ #define DEBUG_MANAGE_TOOL_PORT (10086) #define UPDATE_PACK_LENGTH (1024) -#define UPDATE_FILE_PATH "/home/Cable/" +#define UPDATE_FILE_PATH "/home/Cable" #define UPDATE_FILE_NAME "update.zip" +#define UPDATE_TMP_FILE_NAME "update_tmp.zip" /* Exported types ------------------------------------------------------------*/ diff --git a/app/lib/a_process/ca_dbg.c b/app/lib/a_process/ca_dbg.c index 95e602c..37d0ab0 100755 --- a/app/lib/a_process/ca_dbg.c +++ b/app/lib/a_process/ca_dbg.c @@ -474,7 +474,7 @@ int _dbg_pkt_upgrade_arm(debug_msg_info_t *msg) if (upgradefp == NULL) { - sprintf(upgrade_file, "%s/%s", UPDATE_FILE_PATH, UPDATE_FILE_NAME); + sprintf(upgrade_file, "%s/%s", UPDATE_FILE_PATH, UPDATE_TMP_FILE_NAME); upgradefp = fopen(upgrade_file, "wb"); if (upgradefp == NULL) { @@ -506,7 +506,13 @@ int _dbg_pkt_upgrade_arm(debug_msg_info_t *msg) memcpy(pdata, &errcode, sizeof(errcode)); _debug_pkt_common_send((char *)msg->pbuf, msg->cmd, sizeof(errcode)); LOG("update success!!!"); - sleep(1); + char cmd[128] = {0}; + snprintf(cmd, 127, "mv %s/%s %s/%s", UPDATE_FILE_PATH, UPDATE_TMP_FILE_NAME, + UPDATE_FILE_PATH, UPDATE_FILE_NAME); + system(cmd); + system("sync"); + //sleep(1); + system("ls -l | grep update*"); reboot_system(LOG_DEBUG, BOOT_LOCAL_ARM_UPGRADE); }