diff --git a/custom/GPS/src/gps_config.c b/custom/GPS/src/gps_config.c index 760264e..5f589b3 100644 --- a/custom/GPS/src/gps_config.c +++ b/custom/GPS/src/gps_config.c @@ -106,8 +106,9 @@ static void gps_TaskHandle(void *param){ osMutexRelease(gps_data.mutex); //nmea_info2pos(&gps_data.info, &gps_data.dpos); gps_data.flow_num++; - DEBUG("%03d,Lat:%.09f,Lon:%.09f,Sig:%d,Fix:%d,RL=%d\n\n", - it++, gps_data.latitude, gps_data.longitude, gps_data.info.sig, gps_data.info.fix, gps_rev_len + DEBUG("%03d,Lat:%.09f,Lon:%.09f,Sig:%d,Fix:%d,elv:%.09f,PDOP:%.09f,HDOP:%.09f,VDOP:%.09f,inview:%d,inuse:%d,speed:%.09f,direction:%.09f,Sat1Sig:%d,Sat2Sig:%d,Sat3Sig:%d,Sat4Sig:%d,Sat5Sig:%d,RL=%d\n\n", + it++, gps_data.latitude, gps_data.longitude, gps_data.info.sig, gps_data.info.fix, gps_data.info.elv, gps_data.info.PDOP, gps_data.info.HDOP, gps_data.info.VDOP, gps_data.info.satinfo.inview, gps_data.info.satinfo.inuse, gps_data.info.speed, gps_data.info.direction, + gps_data.info.satinfo.sat[0].sig, gps_data.info.satinfo.sat[1].sig, gps_data.info.satinfo.sat[2].sig, gps_data.info.satinfo.sat[3].sig, gps_data.info.satinfo.sat[4].sig, gps_rev_len ); if((gps_data.info.fix == 1)||(gps_data.info.sig == 0)){ // 不可用 diff --git a/custom/jt808/inc/jt808_protocol.h b/custom/jt808/inc/jt808_protocol.h index 35d2a60..ebd044f 100644 --- a/custom/jt808/inc/jt808_protocol.h +++ b/custom/jt808/inc/jt808_protocol.h @@ -251,7 +251,7 @@ typedef union{ uint32_t IO_TX_brake :1; // 1:正常 0:刹车 uint32_t A_brake :1; // 1:自动刹车,0:手动刹车 uint32_t A_Speed_Cut :1; // 1:自动减速,0:手动减速 - uint32_t P_Radar_EN :1; // 1:雷达使能,0:雷达禁止 + uint32_t P_Radar_EN :2; // 1:雷达使能,0:雷达禁止 uint32_t retain2 : 3;// 保留10位 }; uint32_t val32; diff --git a/custom/jt808/inc/jt808_set_TermParam.h b/custom/jt808/inc/jt808_set_TermParam.h index 1d9b1e4..2791d43 100644 --- a/custom/jt808/inc/jt808_set_TermParam.h +++ b/custom/jt808/inc/jt808_set_TermParam.h @@ -53,13 +53,13 @@ typedef struct{ uint8_t CarPlateColor;//车牌颜色,按照 JT/T415-2006 的 5.4.12 uint8_t RadarEN; // 雷达使能位, 0 代表关闭, 1 代表开启 - uint8_t ManagerACC; // 管理员模式油门0~100% - uint8_t TouristACC; // 游客模式油门0~100% - uint8_t SpeedCutACC; // 自动减速油门0~100% - uint16_t BrakeLimit; //前进刹车距离 - uint16_t SpeedCutLimit; // 前进自动减速刹车距离 - uint16_t BrakeLimit_B; // 后退刹车距离 - uint16_t SpeedCutLimit_B; // 后退自动减速刹车距离 + uint32_t ManagerACC; // 管理员模式油门0~100% + uint32_t TouristACC; // 游客模式油门0~100% + uint32_t SpeedCutACC; // 自动减速油门0~100% + uint32_t BrakeLimit; //前进刹车距离 + uint32_t SpeedCutLimit; // 前进自动减速刹车距离 + uint32_t BrakeLimit_B; // 后退刹车距离 + uint32_t SpeedCutLimit_B; // 后退自动减速刹车距离 uint8_t Ban_Fence_Polygon_Delay_OFF; // 禁止围栏延时关闭时间, 单位秒 }set_TermParam_t; @@ -131,6 +131,14 @@ typedef struct { uint16_t received_packets;// 已接收数据包数量 } UpdateStatus_t; +// 终端参数转化描述结构体 +typedef struct { + uint32_t param_id; // 参数ID + size_t offset; // 在set_TermParam_t中的偏移量 + uint8_t param_size; // 参数大小 + _Bool need_swap; // 是否需要字节序转换 +} ParamDescriptor; + // 声明全局变量(在.c文件中定义) extern UpdateStatus_t update_status; extern osMutexId_t update_mutex; @@ -218,10 +226,23 @@ _Bool update_manager_is_active(void); */ _Bool update_manager_is_complete(void); - /** * @brief 标记无需更新 */ void update_manager_no_update(void); +/** + * @brief 将 set_TermParam_t 参数转换为 TermParamlist_t 链表 + * @param set_param 源参数结构体指针 + * @return 成功返回参数链表头指针,失败返回NULL + */ +TermParamlist_t* convert_set_term_param_to_list(const set_TermParam_t* set_param); + +/** + * @brief 释放参数链表内存 + * @param head 链表头指针 + */ +void free_param_list(TermParamlist_t* head); + + #endif // JT808_SET_TERM_PARAM_H_ \ No newline at end of file diff --git a/custom/jt808/src/jt808_msg_parse.c b/custom/jt808/src/jt808_msg_parse.c index aff9ffa..c75cf09 100644 --- a/custom/jt808/src/jt808_msg_parse.c +++ b/custom/jt808/src/jt808_msg_parse.c @@ -87,6 +87,10 @@ static int jt808_BodyParse(void *Prsmsg_body, PrsResult_t *Result){ } case ID_GetTermParams:{// 查询终端参数 + + Result->Rsp_flow_num = Result->msg_head.msg_flow_num; + Result->Rsp_msg_id = Result->msg_head.msg_id; + jt808_pkg_send(ID_GetTermParamsResp, 0);// 发送终端通用应答 break; } case ID_GetSpecificTermParams:{// 查询指定终端参数 diff --git a/custom/jt808/src/jt808_msg_pkg.c b/custom/jt808/src/jt808_msg_pkg.c index 7429108..63bdd45 100644 --- a/custom/jt808/src/jt808_msg_pkg.c +++ b/custom/jt808/src/jt808_msg_pkg.c @@ -78,13 +78,67 @@ static int jt808_BodyPackage(JT808_2013_MsgFrame_t *p_MsgFrame, MessageID_t Msg_ break; } case ID_GetTermParamsResp:{ // 查询终端参数应答 - // p_MsgFrame->msg_head.msgbody_attr.msgbodylen = sizeof(GetTermParamsResp_t);// 消息体长度 - // GetTermParamsResp_t *get_term_params_resp = (GetTermParamsResp_t *)jt808_realloc(p_MsgFrame->p_msg_body, sizeof(GetTermParamsResp_t)); - // if(get_term_params_resp == NULL){ - // JT808_DEBUG("[%s,%s] malloc failed \r\n", __FUNCTION__,__LINE__); - // return -1; - // } - // p_MsgFrame->p_msg_body = (void *)get_term_params_resp; + // 将 set_term_param 转换为链表形式 + TermParamlist_t* param_list = convert_set_term_param_to_list(&jt808_term_param_item.set_term_param); + if (param_list == NULL) { + JT808_DEBUG("[%s,%s] convert_set_term_param_to_list failed \r\n", __FUNCTION__,__LINE__); + return -1; + } + + // 计算参数总数和消息体长度 + uint8_t param_total_num = 0; + uint16_t msgbody_len = 3; // msg_flow_num(2) + param_Total_num(1) + TermParamlist_t* current = param_list; + + while (current != NULL) { + param_total_num++; + // 每个参数项:参数ID(4) + 参数长度(1) + 参数值(变长) + msgbody_len += 4 + 1 + current->param_len; + current = current->next; + } + + // 分配消息体缓冲区 + uint8_t* msg_body_buf = (uint8_t*)jt808_malloc(msgbody_len); + if(msg_body_buf == NULL){ + JT808_DEBUG("[%s,%s] malloc failed for msg_body_buf \r\n", __FUNCTION__,__LINE__); + free_param_list(param_list); + return -1; + } + + // 序列化消息体 + uint16_t offset = 0; + + // 1. 消息流水号 (2字节) + uint16_t flow_num_be = Swap16(PrsResult.Rsp_flow_num); + memcpy(msg_body_buf + offset, &flow_num_be, 2); + offset += 2; + + // 2. 参数总数 (1字节) + msg_body_buf[offset++] = param_total_num; + + // 3. 参数项列表 + current = param_list; + while (current != NULL) { + // 参数ID (4字节,大端) + memcpy(msg_body_buf + offset, ¤t->param_id, 4); + offset += 4; + + // 参数长度 (1字节) + msg_body_buf[offset++] = current->param_len; + + // 参数值 (变长) + memcpy(msg_body_buf + offset, current->param_value, current->param_len); + offset += current->param_len; + + current = current->next; + } + + // 释放参数链表 + free_param_list(param_list); + + // 设置消息体长度 + p_MsgFrame->msg_head.msgbody_attr.msgbodylen = msgbody_len; + p_MsgFrame->p_msg_body =msg_body_buf; break; } case ID_GetTermAttrResp:{ // 查询终端属性应答 diff --git a/custom/jt808/src/jt808_set_TermParam.c b/custom/jt808/src/jt808_set_TermParam.c index 88cf993..156c21f 100644 --- a/custom/jt808/src/jt808_set_TermParam.c +++ b/custom/jt808/src/jt808_set_TermParam.c @@ -39,6 +39,98 @@ UpdateStatus_t update_status = { }; +// 参数描述数组 +static const ParamDescriptor param_descriptors[] = { + {ID_HeartBeatInterval, offsetof(set_TermParam_t, HeartBeatInterval), sizeof(uint32_t), 0}, + {ID_RadarEN, offsetof(set_TermParam_t, RadarEN), sizeof(uint8_t), 0}, + {ID_ManagerACC, offsetof(set_TermParam_t, ManagerACC), sizeof(uint32_t), 0}, + {ID_TouristACC, offsetof(set_TermParam_t, TouristACC), sizeof(uint32_t), 0}, + {ID_SpeedCutACC, offsetof(set_TermParam_t, SpeedCutACC), sizeof(uint32_t), 0}, + {ID_BrakeLimit, offsetof(set_TermParam_t, BrakeLimit), sizeof(uint32_t), 1}, + {ID_SpeedCutLimit, offsetof(set_TermParam_t, SpeedCutLimit), sizeof(uint32_t), 1}, + {ID_BrakeLimit_B, offsetof(set_TermParam_t, BrakeLimit_B), sizeof(uint32_t), 1}, + {ID_SpeedCutLimit_B, offsetof(set_TermParam_t, SpeedCutLimit_B), sizeof(uint32_t), 1}, + {ID_Ban_Fence_Polygon_Delay_OFF, offsetof(set_TermParam_t, Ban_Fence_Polygon_Delay_OFF), sizeof(uint8_t), 0}, +}; + +// 释放参数链表 +void free_param_list(TermParamlist_t* head) { + TermParamlist_t* current = head; + while (current != NULL) { + TermParamlist_t* next = current->next; + if (current->param_value != NULL) { + jt808_free(current->param_value); + } + jt808_free(current); + current = next; + } +} + +// 添加参数到链表 +static TermParamlist_t* add_param_to_list(TermParamlist_t* tail, + uint32_t param_id, + const void* param_value, + uint8_t param_len) { + TermParamlist_t* new_node = (TermParamlist_t*)jt808_malloc(sizeof(TermParamlist_t)); + if (new_node == NULL) return NULL; + + new_node->param_id = Swap32(param_id); // 参数ID转换为大端 + new_node->param_len = param_len; + new_node->param_value = jt808_malloc(param_len); + + if (new_node->param_value == NULL) { + jt808_free(new_node); + return NULL; + } + + memcpy(new_node->param_value, param_value, param_len); + new_node->next = NULL; + + if (tail != NULL) { + tail->next = new_node; + } + + return new_node; +} + +// 简化的参数转换函数 +TermParamlist_t* convert_set_term_param_to_list(const set_TermParam_t* set_param) { + TermParamlist_t* head = NULL; + TermParamlist_t* tail = NULL; + + // 获取参数描述符数量 + size_t num_params = sizeof(param_descriptors) / sizeof(param_descriptors[0]); + + for (size_t i = 0; i < num_params; i++) { + const ParamDescriptor* desc = ¶m_descriptors[i]; + const void* param_ptr = (const uint8_t*)set_param + desc->offset; + + // 处理需要字节序转换的参数 + if (desc->need_swap) { + if (desc->param_size == sizeof(uint16_t)) { + uint16_t value = *(const uint16_t*)param_ptr; + uint16_t be_value = Swap32(value); + param_ptr = &be_value; + } + // 可以添加其他大小的参数处理 + } + + // 添加参数到链表 + TermParamlist_t* new_tail = add_param_to_list(tail, desc->param_id, param_ptr, desc->param_size); + if (new_tail == NULL) { + free_param_list(head); + return NULL; + } + + if (head == NULL) { + head = new_tail; + } + tail = new_tail; + } + + return head; +} + static void __cm_fota_cb(cm_fota_error_e error) { JT808_DEBUG("[FOTA] error code is %d\r\n", error); @@ -402,30 +494,7 @@ int jt808_setTermParam(set_TermParamID_t param_id, void *param, uint8_t param_le } case ID_RadarEN:{// TODO: 雷达使能位 // JT808_DEBUG("RadarEN=%d", radar_en); - - jt808_term_param_item.set_term_param.RadarEN = param_val32 & 0xFF; - - if(2 == jt808_term_param_item.set_term_param.RadarEN) - { - - JT808_DEBUG("radar ok\r\n"); - sys_sta.P_Radar_EN=2; - } - else if(1 == jt808_term_param_item.set_term_param.RadarEN) - { - - sys_sta.P_Radar_EN=1; - } - else if(0 == jt808_term_param_item.set_term_param.RadarEN) - { - - JT808_DEBUG("radar ok\r\n"); - sys_sta.P_Radar_EN=0; - } - - - - + jt808_term_param_item.set_term_param.RadarEN = param_val32 & 0xFF; break; } default:{ @@ -610,8 +679,12 @@ void jt808_LocReport_param_update(void){ // lat = 34939236; // lng = 121369446; flag=jt808_is_fence_empty(); + + if(0 == flag) + { + JT808_DEBUG("list not null\r\n"); - JT808_DEBUG("list not null\r\n"); + } Rsp_Bigscenic_Fence_Polygon_area_ID = Swap32(jt808_Polygon_fence_check(0x0001, lat, lng)); Rsp_Bigban_Fence_Polygon_area_ID = Swap32(jt808_Polygon_fence_check(0x0002, lat, lng)); @@ -693,7 +766,6 @@ void jt808_LocReport_param_update(void){ } - JT808_DEBUG("list null\r\n"); } osMutexRelease(term_param_mutex); @@ -840,48 +912,6 @@ void Autoreport_param_Task(void *arg){ } } -/* if(count_Sec == 90) - { - int ret = 0; - - cm_fota_set_ota_plan(CM_FOTA_ASR_PLAN_MINI_INTEGRATE); - cm_fota_res_callback_register((cm_fota_result_callback)__cm_fota_cb); - ret = cm_fota_set_url("https://youyuanmao.oss-cn-shanghai.aliyuncs.com/system_patch.bin"); //仅作为示例,url不可使用 - - cm_fs_system_info_t fs_info = {0, 0}; - cm_fs_getinfo(&fs_info); - - //文件系统剩余空间为0时不建议执行升级,关键文件系统操作可能会失败 - if (0 == fs_info.free_size) - { - JT808_DEBUG("insufficient space left in the file system"); - return; - } - - cm_fota_info_t info = {0}; - cm_fota_read_config(&info); - - if (CM_FOTA_TYPE_HTTP_HTTPS == info.fixed_info.fota_mode) - { - JT808_DEBUG("HTTP server [%s]", info.fixed_info.url); - } - else if (CM_FOTA_TYPE_FTP == info.fixed_info.fota_mode) - { - JT808_DEBUG("FTP server [%s] [%s] [%s]", info.fixed_info.url, info.fixed_info.username, info.fixed_info.passwd); - } - else - { - JT808_DEBUG("HTTP server error"); - return; - } - - osDelay(200); - - cm_fota_exec_upgrade(); - - } - -*/ count_Sec++; osDelay(1000/5); // 1S } @@ -931,7 +961,7 @@ void jt808_set_term_param_init(void){ // memcpy(jt808_term_param_item.big_term_attr_resp.term_ICCID+4, jt808_term_param_item.phone_BCDnum, 6); // 终端手机号码 但是你照这个来云端收到的iccid全是,因为BCDnum参数本身没有初始化 char str_hw_ver[] = "1.0.0"; // 硬件版本 - char str_fw_ver[] = "1.2.2"; // 固件版本 原本为1.0.0 + char str_fw_ver[] = "1.2.3"; // 固件版本 原本为1.0.0 jt808_term_param_item.big_term_attr_resp.hw_ver_len = strlen(str_hw_ver); // 硬件版本长度 jt808_term_param_item.big_term_attr_resp.fw_ver_len = strlen(str_fw_ver); // 固件版本长度 memcpy(jt808_term_param_item.big_term_attr_resp.str_hw_ver, str_hw_ver, strlen(str_hw_ver)); // 硬件版本 @@ -957,7 +987,7 @@ void jt808_set_term_param_init(void){ }else{ jt808_term_param_item.set_term_param.HeartBeatInterval = 30; // 心跳包间隔(秒) #if 1 - char ServerAddr[] ="47.99.118.34"; // 三一服务器地址 106.15.224.140 测试服务器地址 47.99.118.34 + char ServerAddr[] ="106.15.224.140"; // 三一服务器地址 106.15.224.140 测试服务器地址 47.99.118.34 uint32_t ServerPort = 5000; // 服务器端口 #else char ServerAddr[] ="106.14.30.23"; // 生产服务器地址 diff --git a/custom/radar/inc/radar.h b/custom/radar/inc/radar.h index 0cd3165..731515c 100644 --- a/custom/radar/inc/radar.h +++ b/custom/radar/inc/radar.h @@ -2,7 +2,8 @@ #define _RADAR_H #include "cm_os.h" -#define RADAR_BUFF_MAX 9 +//#define RADAR_STA jt808_term_param_item.set_term_param.RadarEN // 雷达使能位, 0 代表关闭, 1 代表开启 + typedef struct radar_daraframe{ volatile uint16_t Front_data; diff --git a/custom/radar/src/radar.c b/custom/radar/src/radar.c index de4a2e4..d2860de 100644 --- a/custom/radar/src/radar.c +++ b/custom/radar/src/radar.c @@ -15,7 +15,7 @@ #include "local_tts.h" -#define RADAR_DEBUG_ENABLE 0 +#define RADAR_DEBUG_ENABLE 1 #if RADAR_DEBUG_ENABLE #include "app_uart.h" @@ -27,8 +27,7 @@ static osThreadId_t os_RADAR_ThreadId; radar_data_t radar_data; osMutexId_t radar_mutex; // 互斥锁 - - +uint8_t old_state = 0; /****************************************************************************** * Name: CRC-16/MODBUS * Poly: 0x8005 ( x16+x15+x2+1 ) @@ -132,9 +131,14 @@ static void RADAR_TaskHandle(void *param){ uint8_t temp_count =0; uint32_t time_count =0; while(1){ - -// sys_sta.P_Radar_EN=jt808_term_param_item.set_term_param.RadarEN; - + + if(old_state != jt808_term_param_item.set_term_param.RadarEN) + { + sys_sta.P_Radar_EN = jt808_term_param_item.set_term_param.RadarEN; + + } + DEBUG("radar task init\r\n"); + if(0==sys_sta.P_Radar_EN) { sys_sta.A_Speed_Cut =0; // 清空自动减速状态 @@ -167,7 +171,7 @@ static void RADAR_TaskHandle(void *param){ // DEBUG("SendCMD:ID=%#02x", (0 == sys_sta.IO_RX_back)?RADAR_ID_Back:RADAR_ID_Front); radar_Sendcmd((0 == sys_sta.IO_RX_back)?RADAR_ID_Back:RADAR_ID_Front, RADAR_MODE_Real); - DEBUG("radar 1\r\n"); // 任务结束 + // DEBUG("radar 1\r\n"); // 任务结束 }else{ sys_sta.A_Speed_Cut =0; // 清空自动减速状态 sys_sta.A_brake =0; // 清空自动刹车状态 @@ -175,9 +179,6 @@ static void RADAR_TaskHandle(void *param){ } - - - } else if (2==sys_sta.P_Radar_EN) @@ -189,7 +190,7 @@ static void RADAR_TaskHandle(void *param){ if(time_count>=400) { - sys_sta.P_Radar_EN=1; + sys_sta.P_Radar_EN = 1; time_count=0; @@ -200,7 +201,7 @@ static void RADAR_TaskHandle(void *param){ } - + old_state = jt808_term_param_item.set_term_param.RadarEN; osMutexRelease(radar_mutex); osDelay(140/5); // 140ms } diff --git a/custom/tcp_client/src/tcp_client.c b/custom/tcp_client/src/tcp_client.c index 1edb3af..4cbfcbf 100644 --- a/custom/tcp_client/src/tcp_client.c +++ b/custom/tcp_client/src/tcp_client.c @@ -14,7 +14,7 @@ #include "attr_broadcast.h" -#define TCP_CLIENT_ENABLE 1 +#define TCP_CLIENT_ENABLE 0 #if TCP_CLIENT_ENABLE #include "app_uart.h" diff --git a/tools/adiff/1.2.3/ML307A_DSLN_APP.zip b/tools/adiff/1.2.3/ML307A_DSLN_APP.zip new file mode 100644 index 0000000..7a2d999 Binary files /dev/null and b/tools/adiff/1.2.3/ML307A_DSLN_APP.zip differ diff --git a/tools/adiff/1.2.4/ML307A_DSLN_APP.zip b/tools/adiff/1.2.4/ML307A_DSLN_APP.zip new file mode 100644 index 0000000..49d739a Binary files /dev/null and b/tools/adiff/1.2.4/ML307A_DSLN_APP.zip differ diff --git a/tools/adiff/FBFMake_CF_V1.5.exe b/tools/adiff/FBFMake_CF_V1.5.exe deleted file mode 100644 index da4fa39..0000000 Binary files a/tools/adiff/FBFMake_CF_V1.5.exe and /dev/null differ diff --git a/tools/adiff/FBFMake_CF_V1.6-150.exe b/tools/adiff/FBFMake_CF_V1.6-150.exe deleted file mode 100644 index f1a9cf5..0000000 Binary files a/tools/adiff/FBFMake_CF_V1.6-150.exe and /dev/null differ diff --git a/tools/adiff/README.docx b/tools/adiff/README.docx deleted file mode 100644 index c284562..0000000 Binary files a/tools/adiff/README.docx and /dev/null differ diff --git a/tools/adiff/SDK 1.4.2至SDK 1.4.3跨版本升级说明.txt b/tools/adiff/SDK 1.4.2至SDK 1.4.3跨版本升级说明.txt deleted file mode 100644 index b7d976d..0000000 --- a/tools/adiff/SDK 1.4.2至SDK 1.4.3跨版本升级说明.txt +++ /dev/null @@ -1,10 +0,0 @@ -ML307A-DSLN/ML307A-GCLN/ML307A-GSLN/ML305A-DS等型号均可在1.4.2版本至1.4.3版本上进行(跨SDK版本)最小系统FOTA升级,升级方法参见《固件升级开发指导手册》 - - -受限于模组flash剩余空间较少,ML307A-GCLN无法通过常规的最小系统FOTA的方式从SDK 1.4.2版本升级至SDK1.4.3版本,需在调整升级包切片大小的基础上进行升级,方式如下 -基础升级包基础制作方式参见《固件升级开发指导手册》 -制作升级包时,除使用基础支持方式外,需要使用-s命令将升级包切片大小设置为0x20000,即添加命令-s 20000,示例如下: -adiff.exe system_old.img system_new.img system_patch.bin -a1 user_app user_app.bin -m -s 20000 - - -受限于模组flash剩余空间不足,ML307A-DCLN/ML305A-DC无法通过最小系统FOTA的方式从SDK 1.4.2版本升级至SDK1.4.3版本 \ No newline at end of file diff --git a/tools/adiff/a/system.img b/tools/adiff/a/system.img deleted file mode 100644 index 96ee39c..0000000 Binary files a/tools/adiff/a/system.img and /dev/null differ diff --git a/tools/adiff/b/system.img b/tools/adiff/b/system.img deleted file mode 100644 index 47a3e89..0000000 Binary files a/tools/adiff/b/system.img and /dev/null differ diff --git a/tools/adiff/config b/tools/adiff/config deleted file mode 100644 index a77fbe2..0000000 --- a/tools/adiff/config +++ /dev/null @@ -1,24 +0,0 @@ -[Image_List] -Number_of_Images = 4 -1_Image_Enable = 1 -1_Image_Image_ID = 0x30 -1_Image_Path = system.img -1_Image_Flash_Entry_Address = 0x00024000 -1_Image_ID_Name = 1 -2_Image_Enable = 1 -2_Image_Image_ID = 0x31 -2_Image_Path = app.bin -2_Image_Flash_Entry_Address = 0x006DD000 -2_Image_ID_Name = 2 -3_Image_Enable = 1 -3_Image_Image_ID = 0x32 -3_Image_Path = cusapp.bin -3_Image_Flash_Entry_Address = 0x008DD000 -3_Image_ID_Name = 3 -4_Image_Enable = 1 -4_Image_Image_ID = 0x33 -4_Image_Path = logoapp.bin -4_Image_Flash_Entry_Address = 0x009DD000 -4_Image_ID_Name = 4 - - diff --git a/tools/adiff/fbfmake.bat b/tools/adiff/fbfmake.bat deleted file mode 100644 index 0e75689..0000000 --- a/tools/adiff/fbfmake.bat +++ /dev/null @@ -1,6 +0,0 @@ - -@echo off - -del /s /q /f fbf_dfota.bin -del /s /q /f a\patchfolder\* -FBFMake_CF_V1.5.exe -o fbf_dfota.bin -f system.img -r 147456 -d 0x10000 -a a -b b diff --git a/tools/adiff/fbfmake_fast.bat b/tools/adiff/fbfmake_fast.bat deleted file mode 100644 index bc9f677..0000000 --- a/tools/adiff/fbfmake_fast.bat +++ /dev/null @@ -1,6 +0,0 @@ - -@echo off - -del /s /q /f fbf_dfota.bin -del /s /q /f a\patchfolder\* -FBFMake_CF_V1.6-150.exe -f config -d 0x10000 -a a -b b -o fbf_dfota.bin -q diff --git a/tools/adiff/fbfmake_full.bat b/tools/adiff/fbfmake_full.bat deleted file mode 100644 index b3b9dad..0000000 --- a/tools/adiff/fbfmake_full.bat +++ /dev/null @@ -1,6 +0,0 @@ - -@echo off - -del /s /q /f fbf_dfota.bin -del /s /q /f a\patchfolder\* -FBFMake_CF_V1.6-150.exe -o fbf.bin -f config -a a -b a diff --git a/tools/adiff/system_new.img b/tools/adiff/system_new.img new file mode 100644 index 0000000..c80c46c Binary files /dev/null and b/tools/adiff/system_new.img differ diff --git a/tools/adiff/system_old.img b/tools/adiff/system_old.img new file mode 100644 index 0000000..c80c46c Binary files /dev/null and b/tools/adiff/system_old.img differ diff --git a/tools/adiff/system_patch.bin b/tools/adiff/system_patch.bin new file mode 100644 index 0000000..3c00d03 Binary files /dev/null and b/tools/adiff/system_patch.bin differ diff --git a/tools/adiff/user_app.bin b/tools/adiff/user_app.bin new file mode 100644 index 0000000..1e7fa67 Binary files /dev/null and b/tools/adiff/user_app.bin differ