diff --git a/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c b/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c index 3e0001d..ec10385 100644 --- a/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c +++ b/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c @@ -1663,7 +1663,8 @@ void send_version_to_sibling(void) data[2] = ver >> 8; tws_api_send_data_to_sibling(data, sizeof(data), TWS_FUNC_ID_SEQ_RAND_SYNC); } -#endif + + /////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -1689,4 +1690,5 @@ void send_data_to_ble_client(const u8* data, u16 length) } else { // printf("Insufficient buffer space to send data: Length %d\n", length); } -} \ No newline at end of file +} +#endif diff --git a/apps/common/third_party_profile/jieli/wireless_mic/le_wireless_mic_client.c b/apps/common/third_party_profile/jieli/wireless_mic/le_wireless_mic_client.c index 3f7494f..9ba8ac0 100644 --- a/apps/common/third_party_profile/jieli/wireless_mic/le_wireless_mic_client.c +++ b/apps/common/third_party_profile/jieli/wireless_mic/le_wireless_mic_client.c @@ -7,7 +7,7 @@ * notifications. */ // ***************************************************************************** - +#if 0 #include "system/app_core.h" #include "system/includes.h" @@ -27,7 +27,7 @@ #if (TCFG_BLE_DEMO_SELECT == DEF_BLE_DEMO_WIRELESS_MIC_CLIENT) -#define SUPPORT_TEST_BOX_BLE_MASTER_TEST_EN 1 +#define SUPPORT_TEST_BOX_BLE_MASTER_TEST_EN 0 #define SHOW_RX_DATA_RATE 1 #define SHOW_TX_DATA_RATE 1 @@ -189,8 +189,8 @@ static void default_report_data_deal(att_data_report_t *report_data, target_uuid break; } } - -static const u8 test_remoter_name1[] = "AC637N_MX(BLE)";// +static const u8 test_remoter_name1[] = "CM-22222"; +// static const u8 test_remoter_name1[] = "AC637N_MX(BLE)";// /* static const u8 test_remoter_name2[] = "AC630N_HID567(BLE)";// */ static u16 default_client_write_handle; static u16 test_client_timer = 0; @@ -275,7 +275,7 @@ static const client_conn_cfg_t client_conn_config_default = { #endif //--------------------------------------------------------------------------- -static client_conn_cfg_t *client_config = NULL; //(void *) &client_conn_config_default ; +static client_conn_cfg_t *client_config = (void *) &client_conn_config_default ; //---------------------------------------------------------------------------- @@ -729,7 +729,7 @@ static bool resolve_adv_report(u8 *adv_address, u8 data_length, u8 *data, s8 rss log_info_hexdump(adv_address, 6); adv_data_pt[lenght - 1] = tmp32; //------- -#if 1 //无线麦产线通过识别特殊字符串进行近距离连接测试 +#if 0 //无线麦产线通过识别特殊字符串进行近距离连接测试 if (0 == memcmp(adv_data_pt, SPECIFIC_STRING, strlen(SPECIFIC_STRING))) { flag_specific_adv_name = 1; flag_need_judge_rssi = 1; @@ -1483,12 +1483,12 @@ void bt_ble_init(void) put_buf(match_name, config_name_len); printf("%s", match_name); #endif - if (0 == memcmp(match_name, SPECIFIC_STRING, strlen(SPECIFIC_STRING))) { - match_name = &match_name[strlen(SPECIFIC_STRING)]; - printf("specific scan%s", match_name); - flag_specific_sacn = 1; + // if (0 == memcmp(match_name, SPECIFIC_STRING, strlen(SPECIFIC_STRING))) { + // match_name = &match_name[strlen(SPECIFIC_STRING)]; + // printf("specific scan%s", match_name); + // flag_specific_sacn = 1; - } + // } set_ble_work_state(BLE_ST_INIT_OK); conn_pair_vm_do(&conn_pair_info, 0); @@ -1557,10 +1557,25 @@ void client_send_conn_param_update(void) //---------------------------------------------------------------------------------- +//lmx +void rcsp_adv_fill_mac_addr(u8 *mac_addr_buf) +{ +#if (MUTIl_CHARGING_BOX_EN) + u8 *mac_addr = get_chargebox_adv_addr(); + if (mac_addr) { + swapX(mac_addr, mac_addr_buf, 6); + } + /* printf("mac_addr:"); */ + /* printf_buf(mac_addr_buf, 6); */ + +#else + swapX(bt_get_mac_addr(), mac_addr_buf, 6); +#endif +} #endif - +#endif \ No newline at end of file diff --git a/apps/earphone/include/app_config.h b/apps/earphone/include/app_config.h index 7e725ff..32d21ff 100644 --- a/apps/earphone/include/app_config.h +++ b/apps/earphone/include/app_config.h @@ -19,11 +19,11 @@ // AI配置 // //*********************************************************************************// #define CONFIG_APP_BT_ENABLE - +#define BLE_WIRELESS_CLIENT_EN 1 //作为主设备,lmx #ifdef CONFIG_APP_BT_ENABLE #define TRANS_DATA_EN 0 #define RCSP_BTMATE_EN 0 -#define RCSP_ADV_EN 1 +#define RCSP_ADV_EN 0 #define AI_APP_PROTOCOL 0 #define LL_SYNC_EN 0 #define TUYA_DEMO_EN 0 diff --git a/apps/earphone/include/earphone.h b/apps/earphone/include/earphone.h index 68c7f83..d6d90d7 100644 --- a/apps/earphone/include/earphone.h +++ b/apps/earphone/include/earphone.h @@ -204,31 +204,31 @@ int app_protocol_sys_event_handler(struct sys_event *event); #define EARPHONE_STATE_SNIFF(a) #define EARPHONE_STATE_ROLE_SWITCH(a) -#else -int adv_earphone_state_init(); -int adv_earphone_state_set_page_scan_enable(); -int adv_earphone_state_get_connect_mac_addr(); -int adv_earphone_state_cancel_page_scan(); -int adv_earphone_state_enter_soft_poweroff(); -int adv_earphone_state_tws_init(int paired); -int adv_earphone_state_tws_connected(int first_pair, u8 *comm_addr); -int adv_sys_event_handler_specific(struct sys_event *event); -int adv_earphone_state_sniff(u8 state); -int adv_earphone_state_role_switch(u8 role); +// #else +// int adv_earphone_state_init(); +// int adv_earphone_state_set_page_scan_enable(); +// int adv_earphone_state_get_connect_mac_addr(); +// int adv_earphone_state_cancel_page_scan(); +// int adv_earphone_state_enter_soft_poweroff(); +// int adv_earphone_state_tws_init(int paired); +// int adv_earphone_state_tws_connected(int first_pair, u8 *comm_addr); +// int adv_sys_event_handler_specific(struct sys_event *event); +// int adv_earphone_state_sniff(u8 state); +// int adv_earphone_state_role_switch(u8 role); -#define EARPHONE_STATE_INIT() adv_earphone_state_init() -#define EARPHONE_STATE_SET_PAGE_SCAN_ENABLE() adv_earphone_state_set_page_scan_enable() -#define EARPHONE_STATE_GET_CONNECT_MAC_ADDR() adv_earphone_state_get_connect_mac_addr() -#define EARPHONE_STATE_CANCEL_PAGE_SCAN() adv_earphone_state_cancel_page_scan() -#define EARPHONE_STATE_ENTER_SOFT_POWEROFF() adv_earphone_state_enter_soft_poweroff() -#define EARPHONE_STATE_TWS_INIT(a) adv_earphone_state_tws_init(a) -#define EARPHONE_STATE_TWS_CONNECTED(a, b) adv_earphone_state_tws_connected(a,b) -#define SYS_EVENT_HANDLER_SPECIFIC(a) adv_sys_event_handler_specific(a) -#define SYS_EVENT_REMAP(a) 0 -#define EARPHONE_STATE_SNIFF(a) adv_earphone_state_sniff(a) -#define EARPHONE_STATE_ROLE_SWITCH(a) adv_earphone_state_role_switch(a) +// #define EARPHONE_STATE_INIT() adv_earphone_state_init() +// #define EARPHONE_STATE_SET_PAGE_SCAN_ENABLE() adv_earphone_state_set_page_scan_enable() +// #define EARPHONE_STATE_GET_CONNECT_MAC_ADDR() adv_earphone_state_get_connect_mac_addr() +// #define EARPHONE_STATE_CANCEL_PAGE_SCAN() adv_earphone_state_cancel_page_scan() +// #define EARPHONE_STATE_ENTER_SOFT_POWEROFF() adv_earphone_state_enter_soft_poweroff() +// #define EARPHONE_STATE_TWS_INIT(a) adv_earphone_state_tws_init(a) +// #define EARPHONE_STATE_TWS_CONNECTED(a, b) adv_earphone_state_tws_connected(a,b) +// #define SYS_EVENT_HANDLER_SPECIFIC(a) adv_sys_event_handler_specific(a) +// #define SYS_EVENT_REMAP(a) 0 +// #define EARPHONE_STATE_SNIFF(a) adv_earphone_state_sniff(a) +// #define EARPHONE_STATE_ROLE_SWITCH(a) adv_earphone_state_role_switch(a) -#endif +// #endif #else @@ -246,6 +246,7 @@ int adv_earphone_state_role_switch(u8 role); #define EARPHONE_STATE_ROLE_SWITCH(a) #endif +#endif diff --git a/apps/earphone/user_cfg.c b/apps/earphone/user_cfg.c index 26c3d48..c2ea794 100644 --- a/apps/earphone/user_cfg.c +++ b/apps/earphone/user_cfg.c @@ -203,8 +203,8 @@ void cfg_file_parse(u8 idx) } else if (ret >= LOCAL_NAME_LEN) { memset(bt_cfg.edr_name, 0x00, LOCAL_NAME_LEN); // memcpy(bt_cfg.edr_name, tmp, LOCAL_NAME_LEN); - extern char xt_ble_new_name[9]; - memcpy(bt_cfg.edr_name, xt_ble_new_name, LOCAL_NAME_LEN); + // extern char xt_ble_new_name[9]; + // memcpy(bt_cfg.edr_name, xt_ble_new_name, LOCAL_NAME_LEN); bt_cfg.edr_name[LOCAL_NAME_LEN - 1] = 0; } else { memset(bt_cfg.edr_name, 0x00, LOCAL_NAME_LEN); diff --git a/apps/earphone/xtell_Sensor/ble_test.c b/apps/earphone/xtell_Sensor/ble_test.c index 7699f0a..b82e23e 100644 --- a/apps/earphone/xtell_Sensor/ble_test.c +++ b/apps/earphone/xtell_Sensor/ble_test.c @@ -1,3 +1,4 @@ + #include "system/app_core.h" #include "system/includes.h" #include "btstack/btstack_task.h" @@ -5,7 +6,7 @@ #include "le_common.h" #include "ble_user.h" -#if 1 //ENABLE_THIS_TEST +#if 0 //ENABLE_THIS_TEST #define LOG_TAG_CONST EARPHONE #define LOG_TAG "[BLE_TEST]" diff --git a/apps/earphone/xtell_Sensor/client_handler.c b/apps/earphone/xtell_Sensor/client_handler.c new file mode 100644 index 0000000..c29a23c --- /dev/null +++ b/apps/earphone/xtell_Sensor/client_handler.c @@ -0,0 +1,1569 @@ +#include "system/app_core.h" +#include "system/includes.h" + +#include "app_config.h" +#include "app_action.h" + +#include "btstack/btstack_task.h" +#include "btstack/bluetooth.h" +#include "user_cfg.h" +#include "vm.h" +#include "btcontroller_modules.h" +#include "bt_common.h" + +#include "le_client_demo.h" +#include "le_common.h" +#include "ble_user.h" + +#if (TCFG_BLE_DEMO_SELECT == DEF_BLE_DEMO_WIRELESS_MIC_CLIENT) + +#define SUPPORT_TEST_BOX_BLE_MASTER_TEST_EN 0 +#define SHOW_RX_DATA_RATE 1 +#define SHOW_TX_DATA_RATE 1 + +#if LE_DEBUG_PRINT_EN +/* #define log_info printf */ +#define log_info(x, ...) printf("[LE_CLIENT]" x " ", ## __VA_ARGS__) +#define log_info_hexdump put_buf +#else +#define log_info(...) +#define log_info_hexdump(...) +#endif + + +//------ +#define ATT_LOCAL_MTU_SIZE (517) //note: need >= 20 +#define ATT_SEND_CBUF_SIZE (200)//(256)//(512*10) //note: need >= 20,缓存大小,可修改 +#define ATT_RAM_BUFSIZE (ATT_CTRL_BLOCK_SIZE + ATT_LOCAL_MTU_SIZE + ATT_SEND_CBUF_SIZE) //note: +static u8 att_ram_buffer[ATT_RAM_BUFSIZE] __attribute__((aligned(4))); + +#define SEARCH_PROFILE_BUFSIZE (512) //note: +static u8 search_ram_buffer[SEARCH_PROFILE_BUFSIZE] __attribute__((aligned(4))); +#define scan_buffer search_ram_buffer +//--------------- +//搜索类型 +#define SET_SCAN_TYPE SCAN_ACTIVE +//搜索 周期大小, 参数一:320 参数二:320 参数三:168 +#define SET_SCAN_INTERVAL 320//48//256//48 //(unit:0.625ms), 96没有干扰的情况下, 连接速度为60ms, 如需要降低功耗, 可以在+16的倍数 +//搜索 窗口大小 参数一:102 参数二:70 参数三:30 +#define SET_SCAN_WINDOW 70//48//24//48 //(unit:0.625ms) + +//连接周期 +#define SET_CONN_INTERVAL 3 //(unit:1.25ms) +//连接latency +#define SET_CONN_LATENCY 0 //(unit:conn_interval) +//连接超时 +#define SET_CONN_TIMEOUT 400 //(unit:10ms) +#if WIRELESS_TOOL_BLE_NAME_EN +#define TEST_BOX_BLE_NAME "W_MIC_01" +#define TEST_BOX_BLE_NAME_LEN (sizeof(TEST_BOX_BLE_NAME)-1) +static u8 *match_name; +#endif +//---------------------------------------------------------------------------- +static u8 scan_ctrl_en; +static u8 ble_work_state = 0; +static void (*app_recieve_callback)(void *priv, void *buf, u16 len) = NULL; +static void (*app_ble_state_callback)(void *priv, ble_state_e state) = NULL; +static void (*ble_resume_send_wakeup)(void) = NULL; +static u32 channel_priv; + +static hci_con_handle_t con_handle; + +#define BLE_VM_HEAD_TAG (0xB95C) +#define BLE_VM_TAIL_TAG (0x5CB9) +struct pair_info_t { + u16 head_tag; + u8 pair_flag; + u8 peer_address_info[7]; + u16 tail_tag; +}; +static struct pair_info_t conn_pair_info; +static u8 pair_bond_enable = 0; + +//------------------------------------------------------------------------------- +typedef struct { + uint16_t read_handle; + uint16_t read_long_handle; + uint16_t write_handle; + uint16_t write_no_respond; + uint16_t notify_handle; + uint16_t indicate_handle; +} target_hdl_t; + +//记录handle 使用 +static target_hdl_t target_handle; +static opt_handle_t opt_handle_table[OPT_HANDLE_MAX]; +static u8 opt_handle_used_cnt; +static u8 force_seach_onoff = 0; +static s8 force_seach_rssi = -127; +static u8 cur_peer_address_info[7]; +static u8 flag_specific_adv_name = 0; +static u8 flag_need_judge_rssi = 0; +static u8 flag_specific_sacn = 0; + +static void bt_ble_create_connection(u8 *conn_addr, u8 addr_type); +static int bt_ble_scan_enable(void *priv, u32 en); +static int client_write_send(void *priv, u8 *data, u16 len); +static int client_operation_send(u16 handle, u8 *data, u16 len, u8 att_op_type); +#if WIRELESS_TOOL_BLE_NAME_EN +static ble_state_e get_ble_work_state(void); +#else +static void set_ble_work_state(ble_state_e state); +#endif +static void client_create_connection_cannel(void); +//--------------------------------------------------------------------------- +#if 1//default +//指定搜索uuid +//指定搜索uuid +static const target_uuid_t default_search_uuid_table[] = { + + // for uuid16 + // PRIMARY_SERVICE, ae30 + // CHARACTERISTIC, ae01, WRITE_WITHOUT_RESPONSE | DYNAMIC, + // CHARACTERISTIC, ae02, NOTIFY, + + { + .services_uuid16 = 0xae30, + .characteristic_uuid16 = 0xae01, + .opt_type = ATT_PROPERTY_WRITE_WITHOUT_RESPONSE, + }, + + { + .services_uuid16 = 0xae30, + .characteristic_uuid16 = 0xae02, + .opt_type = ATT_PROPERTY_NOTIFY, + }, + + //for uuid128,sample + // PRIMARY_SERVICE, 0000F530-1212-EFDE-1523-785FEABCD123 + // CHARACTERISTIC, 0000F531-1212-EFDE-1523-785FEABCD123, NOTIFY, + // CHARACTERISTIC, 0000F532-1212-EFDE-1523-785FEABCD123, WRITE_WITHOUT_RESPONSE | DYNAMIC, + /* + { + .services_uuid16 = 0, + .services_uuid128 = {0x00,0x00,0xF5,0x30 ,0x12,0x12 ,0xEF, 0xDE ,0x15,0x23 ,0x78,0x5F,0xEA ,0xBC,0xD1,0x23} , + .characteristic_uuid16 = 0, + .characteristic_uuid128 = {0x00,0x00,0xF5,0x31 ,0x12,0x12 ,0xEF, 0xDE ,0x15,0x23 ,0x78,0x5F,0xEA ,0xBC,0xD1,0x23}, + .opt_type = ATT_PROPERTY_NOTIFY, + }, + + { + .services_uuid16 = 0, + .services_uuid128 = {0x00,0x00,0xF5,0x30 ,0x12,0x12 ,0xEF, 0xDE ,0x15,0x23 ,0x78,0x5F,0xEA ,0xBC,0xD1,0x23} , + .characteristic_uuid16 = 0, + .characteristic_uuid128 = {0x00,0x00,0xF5,0x32 ,0x12,0x12 ,0xEF, 0xDE ,0x15,0x23 ,0x78,0x5F,0xEA ,0xBC,0xD1,0x23}, + .opt_type = ATT_PROPERTY_WRITE_WITHOUT_RESPONSE, + }, + */ + +}; + + +static void default_report_data_deal(att_data_report_t *report_data, target_uuid_t *search_uuid) +{ + log_info("report_data:%02x,%02x,%d,len(%d)", report_data->packet_type, + report_data->value_handle, report_data->value_offset, report_data->blob_length); + + log_info_hexdump(report_data->blob, report_data->blob_length); + + switch (report_data->packet_type) { + case GATT_EVENT_NOTIFICATION: //notify + break; + case GATT_EVENT_INDICATION://indicate + case GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT://read + break; + case GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT://read long + break; + + default: + break; + } +} +static const u8 test_remoter_name1[] = "CM-22222"; +// static const u8 test_remoter_name1[] = "AC637N_MX(BLE)";// +/* static const u8 test_remoter_name2[] = "AC630N_HID567(BLE)";// */ +static u16 default_client_write_handle; +static u16 test_client_timer = 0; + +static const client_match_cfg_t match_dev01 = { + .create_conn_mode = BIT(CLI_CREAT_BY_NAME), + .compare_data_len = sizeof(test_remoter_name1) - 1, //去结束符 + .compare_data = test_remoter_name1, + .bonding_flag = 0, +}; + +/* static const client_match_cfg_t match_dev02 = { */ +/* .create_conn_mode = BIT(CLI_CREAT_BY_NAME), */ +/* .compare_data_len = sizeof(test_remoter_name2) - 1, //去结束符 */ +/* .compare_data = test_remoter_name2, */ +/* .bonding_flag = 1, */ +/* }; */ + +static void default_test_write(void) +{ + static u32 count = 0; + count++; + int ret = client_operation_send(default_client_write_handle, &count, 16, ATT_OP_WRITE_WITHOUT_RESPOND); + log_info("test_write:%x", ret); +} + +static void default_event_callback(le_client_event_e event, u8 *packet, int size) +{ + switch (event) { + case CLI_EVENT_MATCH_DEV: { + client_match_cfg_t *match_dev = packet; + log_info("match_name:%s\n", match_dev->compare_data); + } + break; + + case CLI_EVENT_MATCH_UUID: { + opt_handle_t *opt_hdl = packet; + if (opt_hdl->search_uuid == &default_search_uuid_table[0]) { + default_client_write_handle = opt_hdl->value_handle; + log_info("match_uuid22\n"); + } + } + break; + + case CLI_EVENT_SEARCH_PROFILE_COMPLETE: + log_info("CLI_EVENT_SEARCH_PROFILE_COMPLETE\n"); + if ((!test_client_timer) && default_client_write_handle) { + log_info("test timer_add\n"); + test_client_timer = sys_hi_timer_add(0, default_test_write, 500); + } + break; + + case CLI_EVENT_CONNECTED: + break; + + case CLI_EVENT_DISCONNECT: + if (test_client_timer) { + sys_timeout_del(test_client_timer); + test_client_timer = 0; + } + default_client_write_handle = 0; + break; + + default: + break; + } +} + + +static const client_conn_cfg_t client_conn_config_default = { + .match_dev_cfg[0] = &match_dev01, + .match_dev_cfg[1] = NULL, + .match_dev_cfg[2] = NULL, + /* .match_dev_cfg[1] = &match_dev02, */ + .report_data_callback = default_report_data_deal, + .search_uuid_cnt = (sizeof(default_search_uuid_table) / sizeof(target_uuid_t)), + .search_uuid_table = default_search_uuid_table, + .security_en = 0, + .event_callback = default_event_callback, +}; + +#endif + +//--------------------------------------------------------------------------- +static client_conn_cfg_t *client_config = (void *) &client_conn_config_default ; +//---------------------------------------------------------------------------- + + +static const struct conn_update_param_t connection_param_table[] = { + {16, 24, 0, 600},//11 + {12, 28, 0, 600},//3.7 + {8, 20, 0, 600}, + {50, 60, 0, 600}, +}; + +static u8 send_param_index = 3; + +static int client_create_connect_api(u8 *addr, u8 addr_type, u8 mode); +static int client_create_cannel_api(void); +//---------------------------------------------------------------------------- + +static void client_event_report(le_client_event_e event, u8 *packet, int size) +{ + if (client_config->event_callback) { + client_config->event_callback(event, packet, size); + } +} + +static bool check_device_is_match(u8 info_type, u8 *data, int size) +{ + int i; + u8 conn_mode = BIT(info_type); + client_match_cfg_t *cfg; + + /* log_info_hexdump(data,size); */ + + for (i = 0; i < CLIENT_MATCH_CONN_MAX; i++) { + cfg = client_config->match_dev_cfg[i]; + if (cfg == NULL) { + continue; + } + /* log_info("cfg = %08x\n",cfg); */ + /* log_info_hexdump(cfg,sizeof(client_match_cfg_t)); */ + if (cfg->create_conn_mode == conn_mode && size == cfg->compare_data_len) { + log_info("match check\n"); + /* log_info_hexdump(data, size); */ + /* log_info_hexdump(cfg->compare_data, size); */ + if (0 == memcmp(data, cfg->compare_data, cfg->compare_data_len)) { + log_info("match ok\n"); + pair_bond_enable = cfg->bonding_flag; + client_event_report(CLI_EVENT_MATCH_DEV, cfg, sizeof(client_match_cfg_t)); + return true; + } + } + } + return false; +} + +static void conn_pair_vm_do(struct pair_info_t *info, u8 rw_flag) +{ + /* return; */ + + int ret; + int vm_len = sizeof(struct pair_info_t); + + log_info("-conn_pair_info vm_do:%d\n", rw_flag); + if (rw_flag == 0) { + ret = syscfg_read(CFG_BLE_MODE_INFO, (u8 *)info, vm_len); + if (!ret) { + log_info("-null--\n"); + } + if ((BLE_VM_HEAD_TAG == info->head_tag) && (BLE_VM_TAIL_TAG == info->tail_tag)) { + log_info("-exist--\n"); + log_info_hexdump((u8 *)info, vm_len); + } else { + memset(info, 0, vm_len); + info->head_tag = BLE_VM_HEAD_TAG; + info->tail_tag = BLE_VM_TAIL_TAG; + } + } else { + syscfg_write(CFG_BLE_MODE_INFO, (u8 *)info, vm_len); + } +} +//------------------------------------------------------------ +static ble_state_e get_ble_work_state(void) +{ + return ble_work_state; +} + +void clear_bonding_info(void) +{ + log_info("client_clear_bonding_info\n"); + conn_pair_vm_do(&conn_pair_info, 0); + if (conn_pair_info.pair_flag) { + //del pair bond + memset(&conn_pair_info, 0, sizeof(struct pair_info_t)); + conn_pair_vm_do(&conn_pair_info, 1); + +#if WIRELESS_PAIR_BONDING + if (get_ble_work_state() == BLE_ST_CREATE_CONN) { + client_create_connection_cannel(); + bt_ble_scan_enable(0, 1); + } else if (con_handle) { + ble_disconnect(); + } +#endif + } +} + +//------------------------------------------------------------ +static void set_ble_work_state(ble_state_e state) +{ + if (state != ble_work_state) { + log_info("ble_client_work_st:%x->%x\n", ble_work_state, state); + ble_work_state = state; + if (app_ble_state_callback) { + app_ble_state_callback((void *)channel_priv, state); + } + } +} + + +//------------------------------------------------------------------------------- +static void check_target_uuid_match(search_result_t *result_info) +{ + u32 i; + target_uuid_t *t_uuid; + + for (i = 0; i < client_config->search_uuid_cnt; i++) { + t_uuid = &client_config->search_uuid_table[i]; + if (result_info->services.uuid16) { + if (result_info->services.uuid16 != t_uuid->services_uuid16) { + /* log_info("b1"); */ + continue; + } + } else { + if (memcmp(result_info->services.uuid128, t_uuid->services_uuid128, 16)) { + /* log_info("b2"); */ + continue; + } + } + + if (result_info->characteristic.uuid16) { + if (result_info->characteristic.uuid16 != t_uuid->characteristic_uuid16) { + /* log_info("b3"); */ + /* log_info("%d: %04x--%04x",result_info->characteristic.uuid16,t_uuid->characteristic_uuid16); */ + continue; + } + } else { + if (memcmp(result_info->characteristic.uuid128, t_uuid->characteristic_uuid128, 16)) { + /* log_info("b4"); */ + continue; + } + } + + break;//match one + } + + if (i >= client_config->search_uuid_cnt) { + return; + } + + if (opt_handle_used_cnt >= OPT_HANDLE_MAX) { + log_info("opt_handle is full!!!\n"); + return; + } + + if ((t_uuid->opt_type & result_info->characteristic.properties) != t_uuid->opt_type) { + log_info("properties not match!!!\n"); + return; + } + + log_info("match one uuid\n"); + + opt_handle_t *opt_get = &opt_handle_table[opt_handle_used_cnt++]; + opt_get->value_handle = result_info->characteristic.value_handle; + opt_get->search_uuid = t_uuid; + + switch (t_uuid->opt_type) { + case ATT_PROPERTY_READ: + target_handle.read_handle = result_info->characteristic.value_handle; + break; + + case ATT_PROPERTY_WRITE_WITHOUT_RESPONSE: + target_handle.write_no_respond = result_info->characteristic.value_handle; + break; + + case ATT_PROPERTY_WRITE: + target_handle.write_handle = result_info->characteristic.value_handle; + break; + + case ATT_PROPERTY_NOTIFY: + target_handle.notify_handle = result_info->characteristic.value_handle; + break; + + case ATT_PROPERTY_INDICATE: + target_handle.indicate_handle = result_info->characteristic.value_handle; + break; + + default: + break; + } + + client_event_report(CLI_EVENT_MATCH_UUID, opt_get, sizeof(opt_handle_t)); + +} + +//操作handle,完成 write ccc +static void do_operate_search_handle(void) +{ + u16 tmp_16; + u16 i, cur_opt_type; + opt_handle_t *opt_hdl_pt; + + log_info("opt_handle_used_cnt= %d\n", opt_handle_used_cnt); + + log_info("find target_handle:"); + log_info_hexdump(&target_handle, sizeof(target_hdl_t)); + + if (0 == opt_handle_used_cnt) { + goto opt_end; + } + + /* test_send_conn_update();//for test */ + + for (i = 0; i < opt_handle_used_cnt; i++) { + opt_hdl_pt = &opt_handle_table[i]; + cur_opt_type = opt_hdl_pt->search_uuid->opt_type; + switch ((u8)cur_opt_type) { + case ATT_PROPERTY_READ: + if (1) { + tmp_16 = 0x55A2;//fixed + log_info("read_long:%04x\n", opt_hdl_pt->value_handle); + client_operation_send(opt_hdl_pt->value_handle, (u8 *)&tmp_16, 2, ATT_OP_READ_LONG); + } else { + tmp_16 = 0x55A1;//fixed + log_info("read:%04x\n", opt_hdl_pt->value_handle); + client_operation_send(opt_hdl_pt->value_handle, (u8 *)&tmp_16, 2, ATT_OP_READ); + } + break; + + case ATT_PROPERTY_NOTIFY: + tmp_16 = 0x01;//fixed + log_info("write_ntf_ccc:%04x\n", opt_hdl_pt->value_handle); + client_operation_send(opt_hdl_pt->value_handle + 1, &tmp_16, 2, ATT_OP_WRITE); + break; + + case ATT_PROPERTY_INDICATE: + tmp_16 = 0x02;//fixed + log_info("write_ind_ccc:%04x\n", opt_hdl_pt->value_handle); + client_operation_send(opt_hdl_pt->value_handle + 1, &tmp_16, 2, ATT_OP_WRITE); + break; + + default: + break; + } + } + +opt_end: + set_ble_work_state(BLE_ST_SEARCH_COMPLETE); + +} + +//协议栈内部调用 +//return: 0--accept,1--reject +int l2cap_connection_update_request_just(u8 *packet, hci_con_handle_t handle) +{ + log_info("slave request conn_update:\n-interval_min= %d,\n-interval_max= %d,\n-latency= %d,\n-timeout= %d\n", + little_endian_read_16(packet, 0), little_endian_read_16(packet, 2), + little_endian_read_16(packet, 4), little_endian_read_16(packet, 6)); + return 0; + /* return 1; */ +} + +//协议栈内部调用 +void user_client_report_search_result(search_result_t *result_info) +{ + if (result_info == (void *) - 1) { + log_info("client_report_search_result finish!!!\n"); + do_operate_search_handle(); + client_event_report(CLI_EVENT_SEARCH_PROFILE_COMPLETE, 0, 0); + return; + } + + log_info("\n*** services, uuid16:%04x,index=%d ***\n", result_info->services.uuid16, result_info->service_index); + log_info("{charactc, uuid16:%04x,index=%d,handle:%04x~%04x,value_handle=%04x}\n", + result_info->characteristic.uuid16, result_info->characteristic_index, + result_info->characteristic.start_handle, result_info->characteristic.end_handle, + result_info->characteristic.value_handle + ); + + if (!result_info->services.uuid16) { + log_info("######services_uuid128:"); + log_info_hexdump(result_info->services.uuid128, 16); + } + + if (!result_info->characteristic.uuid16) { + log_info("######charact_uuid128:"); + log_info_hexdump(result_info->characteristic.uuid128, 16); + } + + check_target_uuid_match(result_info); +} + +#if (SHOW_RX_DATA_RATE | SHOW_TX_DATA_RATE) + +static u32 client_timer_handle = 0; +static u32 test_rx_data_count; +static u32 test_tx_data_count; + +static void client_timer_handler(void) +{ + if (!con_handle) { + test_rx_data_count = 0; + + test_tx_data_count = 0; + + return; + } + + if (test_rx_data_count) { + log_info("peer_rssi = %d\n", ble_vendor_get_peer_rssi(con_handle)); + /* log_info("\n-ble_data_rate: %d bps-\n", test_rx_data_count * 8); */ + log_info("%d bytes receive: %d.%02d KB/s \n", test_rx_data_count, test_rx_data_count / 1000, test_rx_data_count % 1000); + + test_rx_data_count = 0; + } + + if (test_tx_data_count) { + log_info("peer_rssi = %d\n", ble_vendor_get_peer_rssi(con_handle)); + log_info("%d bytes send: %d.%02d KB/s \n", test_tx_data_count, test_tx_data_count / 1000, test_tx_data_count % 1000); + + test_tx_data_count = 0; + } +} + +static void client_timer_start(void) +{ + client_timer_handle = sys_timer_add(NULL, client_timer_handler, 1000); +} + +#endif /* SHOW_RX_DATA_RATE | SHOW_TX_DATA_RATE */ + +static target_uuid_t *get_match_handle_target(u16 handle) +{ + for (int i = 0; i < opt_handle_used_cnt; i++) { + if (opt_handle_table[i].value_handle == handle) { + return opt_handle_table[i].search_uuid; + } + } + return NULL; +} + +//协议栈内部调用 +void user_client_report_data_callback(att_data_report_t *report_data) +{ + /* log_info("\n-report_data:type %02x,handle %04x,offset %d,len %d:",report_data->packet_type, */ + /* report_data->value_handle,report_data->value_offset,report_data->blob_length); */ + /* log_info_hexdump(report_data->blob,report_data->blob_length); */ + +#if SHOW_RX_DATA_RATE + test_rx_data_count += report_data->blob_length; +#endif /* SHOW_RX_DATA_RATE */ + + target_uuid_t *search_uuid = get_match_handle_target(report_data->value_handle); + + if (client_config->report_data_callback) { + client_config->report_data_callback(report_data, search_uuid); + return; + } + + switch (report_data->packet_type) { + case GATT_EVENT_NOTIFICATION://notify +// log_info("\n-notify_rx(%d):",report_data->blob_length); + case GATT_EVENT_INDICATION://indicate + case GATT_EVENT_CHARACTERISTIC_VALUE_QUERY_RESULT://read + case GATT_EVENT_LONG_CHARACTERISTIC_VALUE_QUERY_RESULT://read long + break; + default: + break; + } +} + +// PRIMARY_SERVICE,AE30 +/* static const u16 test_services_uuid16 = 0xae30; */ + +// PRIMARY_SERVICE, 0000F530-1212-EFDE-1523-785FEABCD123 +/* static const u8 test_services_uuid128[16] = {0x00,0x00,0xF5,0x30 ,0x12,0x12 ,0xEF, 0xDE ,0x15,0x23 ,0x78,0x5F,0xEA ,0xBC,0xD1,0x23}; */ + +static void client_search_profile_start(void) +{ + opt_handle_used_cnt = 0; + memset(&target_handle, 0, sizeof(target_hdl_t)); + user_client_init(con_handle, search_ram_buffer, SEARCH_PROFILE_BUFSIZE); + if (client_config->search_uuid_cnt) { + printf("[debug] %s, %d\n", __FUNCTION__, __LINE__); + ble_op_search_profile_all(); + } else { + printf("[debug] %s, %d\n", __FUNCTION__, __LINE__); + user_client_set_search_complete(); + } +} + +//------------------------------------------------------------ +static bool resolve_adv_report(u8 *adv_address, u8 data_length, u8 *data, s8 rssi) +{ + u8 i, lenght, ad_type; + u8 *adv_data_pt; + u8 find_remoter = 0; + /* u8 tmp_addr[6]; */ + u32 tmp32; + + if (check_device_is_match(CLI_CREAT_BY_ADDRESS, adv_address, 6)) { + find_remoter = 1; + } + + adv_data_pt = data; + for (i = 0; i < data_length;) { + if (*adv_data_pt == 0) { + /* log_info("analyze end\n"); */ + break; + } + + lenght = *adv_data_pt++; + + if (lenght >= data_length || (lenght + i) >= data_length) { + /*过滤非标准包格式*/ + printf("!!!error_adv_packet:"); + put_buf(data, data_length); + break; + } + + ad_type = *adv_data_pt++; + i += (lenght + 1); + + switch (ad_type) { + case HCI_EIR_DATATYPE_FLAGS: + /* log_info("flags:%02x\n",adv_data_pt[0]); */ + break; + + case HCI_EIR_DATATYPE_MORE_16BIT_SERVICE_UUIDS: + case HCI_EIR_DATATYPE_COMPLETE_16BIT_SERVICE_UUIDS: + case HCI_EIR_DATATYPE_MORE_32BIT_SERVICE_UUIDS: + case HCI_EIR_DATATYPE_COMPLETE_32BIT_SERVICE_UUIDS: + case HCI_EIR_DATATYPE_MORE_128BIT_SERVICE_UUIDS: + case HCI_EIR_DATATYPE_COMPLETE_128BIT_SERVICE_UUIDS: + /* log_info("service uuid:"); */ + /* log_info_hexdump(adv_data_pt, lenght - 1); */ + break; + + case HCI_EIR_DATATYPE_COMPLETE_LOCAL_NAME: + case HCI_EIR_DATATYPE_SHORTENED_LOCAL_NAME: + tmp32 = adv_data_pt[lenght - 1]; + adv_data_pt[lenght - 1] = 0;; + log_info("remoter_name: %s,rssi:%d\n", adv_data_pt, rssi); + log_info_hexdump(adv_address, 6); + adv_data_pt[lenght - 1] = tmp32; + //------- +#if 0 //无线麦产线通过识别特殊字符串进行近距离连接测试 + if (0 == memcmp(adv_data_pt, SPECIFIC_STRING, strlen(SPECIFIC_STRING))) { + flag_specific_adv_name = 1; + flag_need_judge_rssi = 1; + } + if (flag_specific_sacn) { + flag_need_judge_rssi = 1; + } + if (flag_need_judge_rssi) { + flag_need_judge_rssi = 0; + if (rssi + TCFG_WIRELESS_RSSI < 0) { + printf("rssi no satisfy,break"); + break; + } else { + printf("rssi satisfy,RSSI = %d", rssi); + if (flag_specific_adv_name) { + find_remoter = 1; + break; + } + } + } + + flag_specific_adv_name = 0; +#endif + +#if SUPPORT_TEST_BOX_BLE_MASTER_TEST_EN +#if !WIRELESS_TOOL_BLE_NAME_EN +#define TEST_BOX_BLE_NAME "W_MIC_01" +#define TEST_BOX_BLE_NAME_LEN sizeof(TEST_BOX_BLE_NAME) + printf("TEST_BOX_BLE_NAME_LEN=%d", TEST_BOX_BLE_NAME_LEN); + if (0 == memcmp(adv_data_pt, TEST_BOX_BLE_NAME, TEST_BOX_BLE_NAME_LEN)) { + find_remoter = 1; + break; + } +#else + put_buf(match_name, strlen(match_name)); + if (lenght == strlen(match_name) + 1) { + printf("TEST_BOX_BLE_NAME_LEN=%d", TEST_BOX_BLE_NAME_LEN); + if (0 == memcmp(adv_data_pt, match_name, lenght - 1)) { + find_remoter = 1; + break; + } + } +#endif +#endif + /* log_info("target name:%s", client_config->compare_data); */ + if (check_device_is_match(CLI_CREAT_BY_NAME, adv_data_pt, lenght - 1)) { + find_remoter = 1; + log_info("catch name ok\n"); + } + break; + + case HCI_EIR_DATATYPE_MANUFACTURER_SPECIFIC_DATA: + if (check_device_is_match(CLI_CREAT_BY_TAG, adv_data_pt, lenght - 1)) { + log_info("get_tag_string!\n"); + find_remoter = 1; + } + break; + + case HCI_EIR_DATATYPE_APPEARANCE_DATA: + /* log_info("get_class_type:%04x\n",little_endian_read_16(adv_data_pt,0)); */ + break; + + default: + /* log_info("unknow ad_type:"); */ + break; + } + + if (find_remoter) { + log_info_hexdump(adv_data_pt, lenght - 1); + } + adv_data_pt += (lenght - 1); + } + + return find_remoter; +} + +static void client_report_adv_data(adv_report_t *report_pt, u16 len) +{ + bool find_remoter; + + /* log_info("event_type,addr_type: %x,%x; ",report_pt->event_type,report_pt->address_type); */ + /* log_info_hexdump(report_pt->address,6); */ + + /* log_info("adv_data_display:"); */ + /* log_info_hexdump(report_pt->data,report_pt->length); */ + +// log_info("rssi:%d\n",report_pt->rssi); +#if WIRELESS_PAIR_BONDING + + if (conn_pair_info.pair_flag) { + if (report_pt->event_type != 1) { + return; + } + printf("report_add_type == %x", report_pt->address_type); + printf("conn_add_type == %x", conn_pair_info.peer_address_info[0]); + put_buf(report_pt->address, 6); + put_buf(&conn_pair_info.peer_address_info[1], 6); + if (report_pt->address_type == conn_pair_info.peer_address_info[0] + && 0 == memcmp(&conn_pair_info.peer_address_info[1], report_pt->address, 6)) { + log_info("match bond_dev\n"); + find_remoter = 1; + goto just_creat; + } else { + return; + } + } + find_remoter = resolve_adv_report(report_pt->address, report_pt->length, report_pt->data, report_pt->rssi); + +just_creat: + +#else + find_remoter = resolve_adv_report(report_pt->address, report_pt->length, report_pt->data, report_pt->rssi); +#endif + + if (find_remoter) { + if (force_seach_onoff && force_seach_rssi > report_pt->rssi) { + log_info("match but rssi fail!!!:%d,%d\n", force_seach_rssi, report_pt->rssi); + return; + } + + log_info("rssi:%d\n", report_pt->rssi); + log_info("\n*********create_connection***********\n"); + log_info("***remote type %d,addr:", report_pt->address_type); + log_info_hexdump(report_pt->address, 6); + bt_ble_scan_enable(0, 0); + client_create_connect_api(report_pt->address, report_pt->address_type, 0); + log_info("*create_finish\n"); + } +} + + +static void client_create_connection(u8 *conn_addr, u8 addr_type) +{ + struct create_conn_param_t *create_conn_par = scan_buffer; + if (get_ble_work_state() == BLE_ST_CREATE_CONN) { + log_info("already create conn!!!\n"); + return; + } + create_conn_par->conn_interval = SET_CONN_INTERVAL; + create_conn_par->conn_latency = SET_CONN_LATENCY; + create_conn_par->supervision_timeout = SET_CONN_TIMEOUT; + memcpy(create_conn_par->peer_address, conn_addr, 6); + create_conn_par->peer_address_type = addr_type; + + set_ble_work_state(BLE_ST_CREATE_CONN); + log_info_hexdump(create_conn_par, sizeof(struct create_conn_param_t)); + ble_op_create_connection(create_conn_par); +} + +static void bt_ble_create_connection(u8 *conn_addr, u8 addr_type) +{ + client_create_connection(conn_addr, addr_type); +} + +static void client_create_connection_cannel(void) +{ + if (get_ble_work_state() == BLE_ST_CREATE_CONN) { + set_ble_work_state(BLE_ST_SEND_CREATE_CONN_CANNEL); + ble_op_create_connection_cancel(); + } +} + +static int ble_disconnect(void *priv) +{ + if (con_handle) { + if (BLE_ST_SEND_DISCONN != get_ble_work_state()) { + log_info(">>>ble send disconnect\n"); + set_ble_work_state(BLE_ST_SEND_DISCONN); + ble_op_disconnect(con_handle); + } else { + log_info(">>>ble wait disconnect...\n"); + } + return APP_BLE_NO_ERROR; + } else { + return APP_BLE_OPERATION_ERROR; + } +} + +static void connection_update_complete_success(u8 *packet) +{ + int con_handle, conn_interval, conn_latency, conn_timeout; + + conn_interval = hci_subevent_le_connection_update_complete_get_conn_interval(packet); + conn_latency = hci_subevent_le_connection_update_complete_get_conn_latency(packet); + conn_timeout = hci_subevent_le_connection_update_complete_get_supervision_timeout(packet); + + log_info("conn_interval = %d\n", conn_interval); + log_info("conn_latency = %d\n", conn_latency); + log_info("conn_timeout = %d\n", conn_timeout); +} + + +static void cbk_sm_packet_handler(uint8_t packet_type, uint16_t channel, uint8_t *packet, uint16_t size) +{ + sm_just_event_t *event = (void *)packet; + u32 tmp32; + switch (packet_type) { + case HCI_EVENT_PACKET: + switch (hci_event_packet_get_type(packet)) { + case SM_EVENT_JUST_WORKS_REQUEST: + sm_just_works_confirm(sm_event_just_works_request_get_handle(packet)); + log_info("Just Works Confirmed.\n"); + break; + case SM_EVENT_PASSKEY_DISPLAY_NUMBER: + log_info_hexdump(packet, size); + memcpy(&tmp32, event->data, 4); + log_info("Passkey display: %06u.\n", tmp32); + break; + } + break; + } +} + +static void can_send_now_wakeup(void) +{ + /* putchar('E'); */ + if (ble_resume_send_wakeup) { + ble_resume_send_wakeup(); + } +} + +const char *const phy_result[] = { + "None", + "1M", + "2M", + "Coded", +}; + +static void set_connection_data_length(u16 tx_octets, u16 tx_time) +{ + if (con_handle) { + ble_op_set_data_length(con_handle, tx_octets, tx_time); + } +} + +static void set_connection_data_phy(u8 tx_phy, u8 rx_phy) +{ + if (0 == con_handle) { + return; + } + + u8 all_phys = 0; + u16 phy_options = 0; + + ble_op_set_ext_phy(con_handle, all_phys, tx_phy, rx_phy, phy_options); +} + +static void client_profile_start(u16 con_handle) +{ + ble_op_att_send_init(con_handle, att_ram_buffer, ATT_RAM_BUFSIZE, ATT_LOCAL_MTU_SIZE); + set_ble_work_state(BLE_ST_CONNECT); + printf("[debug] %s, %d\n", __FUNCTION__, __LINE__); + if (0 == client_config->security_en) { + printf("[debug] %s, %d\n", __FUNCTION__, __LINE__); + client_search_profile_start(); + } +} + +/* LISTING_START(packetHandler): Packet Handler */ +static void cbk_packet_handler(uint8_t packet_type, uint16_t channel, uint8_t *packet, uint16_t size) +{ + int mtu; + u32 tmp; + u8 status; + + switch (packet_type) { + case HCI_EVENT_PACKET: + switch (hci_event_packet_get_type(packet)) { + + /* case DAEMON_EVENT_HCI_PACKET_SENT: */ + /* break; */ + case ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE: + log_info("ATT_EVENT_HANDLE_VALUE_INDICATION_COMPLETE\n"); + case ATT_EVENT_CAN_SEND_NOW: + can_send_now_wakeup(); + break; + + case HCI_EVENT_LE_META: + switch (hci_event_le_meta_get_subevent_code(packet)) { + + case HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE: + status = hci_subevent_le_enhanced_connection_complete_get_status(packet); + if (status) { + log_info("LE_MASTER CREATE CONNECTION FAIL!!! %0x\n", status); + set_ble_work_state(BLE_ST_DISCONN); + break; + } + con_handle = hci_subevent_le_enhanced_connection_complete_get_connection_handle(packet); + log_info("HCI_SUBEVENT_LE_ENHANCED_CONNECTION_COMPLETE : 0x%0x\n", con_handle); + log_info("conn_interval = %d\n", hci_subevent_le_enhanced_connection_complete_get_conn_interval(packet)); + log_info("conn_latency = %d\n", hci_subevent_le_enhanced_connection_complete_get_conn_latency(packet)); + log_info("conn_timeout = %d\n", hci_subevent_le_enhanced_connection_complete_get_supervision_timeout(packet)); + client_profile_start(con_handle); + break; + + case HCI_SUBEVENT_LE_CONNECTION_COMPLETE: + if (packet[3]) { + log_info("LE_MASTER CREATE CONNECTION FAIL!!! %0x\n", packet[3]); + set_ble_work_state(BLE_ST_DISCONN); + break; + } + con_handle = hci_subevent_le_connection_complete_get_connection_handle(packet); + log_info("HCI_SUBEVENT_LE_CONNECTION_COMPLETE : %0x\n", con_handle); + connection_update_complete_success(packet + 8); + client_profile_start(con_handle); + client_event_report(CLI_EVENT_CONNECTED, packet, size); +#if WIRELESS_PAIR_BONDING + memcpy(cur_peer_address_info, &packet[7], 7); + conn_pair_info.pair_flag = 1; + printf("pair_flag == %d", conn_pair_info.pair_flag); + put_buf(cur_peer_address_info, 7); + memcpy(&conn_pair_info.peer_address_info, cur_peer_address_info, 7); + conn_pair_info.head_tag = BLE_VM_HEAD_TAG; + conn_pair_info.tail_tag = BLE_VM_TAIL_TAG; + conn_pair_vm_do(&conn_pair_info, 1); +#else + if (pair_bond_enable) { + conn_pair_info.pair_flag = 1; + memcpy(&conn_pair_info.peer_address_info, &packet[7], 7); + conn_pair_vm_do(&conn_pair_info, 1); + pair_bond_enable = 0; + } +#endif + break; + + case HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE: + log_info("APP HCI_SUBEVENT_LE_CONNECTION_UPDATE_COMPLETE\n"); + connection_update_complete_success(packet); + + client_event_report(CLI_EVENT_CONNECTION_UPDATE, packet, size); + + break; + + case HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE: + log_info("APP HCI_SUBEVENT_LE_DATA_LENGTH_CHANGE"); + break; + + case HCI_SUBEVENT_LE_PHY_UPDATE_COMPLETE: + log_info("APP HCI_SUBEVENT_LE_PHY_UPDATE %s\n", hci_event_le_meta_get_phy_update_complete_status(packet) ? "Fail" : "Succ"); + log_info("Tx PHY: %s\n", phy_result[hci_event_le_meta_get_phy_update_complete_tx_phy(packet)]); + log_info("Rx PHY: %s\n", phy_result[hci_event_le_meta_get_phy_update_complete_rx_phy(packet)]); + break; + + } + break; + + case HCI_EVENT_DISCONNECTION_COMPLETE: + log_info("HCI_EVENT_DISCONNECTION_COMPLETE: %0x\n", packet[5]); + con_handle = 0; + ble_op_att_send_init(con_handle, 0, 0, 0); + set_ble_work_state(BLE_ST_DISCONN); + client_event_report(CLI_EVENT_DISCONNECT, packet, size); + + //auto to do +#if !WIRELESS_PAIR_BONDING + if (conn_pair_info.pair_flag) { + client_create_connect_api(0, 0, 1); + } else +#endif + { + bt_ble_scan_enable(0, 1); + } + break; + + case ATT_EVENT_MTU_EXCHANGE_COMPLETE: + mtu = att_event_mtu_exchange_complete_get_MTU(packet) - 3; + log_info("ATT MTU = %u\n", mtu); + ble_op_att_set_send_mtu(mtu); + break; + + case HCI_EVENT_VENDOR_REMOTE_TEST: + log_info("--- HCI_EVENT_VENDOR_REMOTE_TEST\n"); + break; + + case L2CAP_EVENT_CONNECTION_PARAMETER_UPDATE_RESPONSE: + tmp = little_endian_read_16(packet, 4); + log_info("-update_rsp: %02x\n", tmp); + break; + + case GAP_EVENT_ADVERTISING_REPORT: + /* putchar('@'); */ + client_report_adv_data((void *)&packet[2], packet[1]); + break; + + case HCI_EVENT_ENCRYPTION_CHANGE: + log_info("HCI_EVENT_ENCRYPTION_CHANGE= %d\n", packet[2]); + if (client_config->security_en) { + client_search_profile_start(); + } + break; + } + break; + } +} + + +static int get_buffer_vaild_len(void *priv) +{ + u32 vaild_len = 0; + ble_op_att_get_remain(&vaild_len); + return vaild_len; +} + +static int client_operation_send(u16 handle, u8 *data, u16 len, u8 att_op_type) +{ + int ret = APP_BLE_NO_ERROR; + if (!con_handle) { + return APP_BLE_OPERATION_ERROR; + } + + if (!handle) { + log_info("handle is null\n"); + return APP_BLE_OPERATION_ERROR; + } + + + if (get_buffer_vaild_len(0) < len) { + /* log_info("opt_buff_full!!!\n"); */ + return APP_BLE_BUFF_FULL; + } + + ret = ble_op_att_send_data(handle, data, len, att_op_type); + if (ret == BLE_BUFFER_FULL) { + ret = APP_BLE_BUFF_FULL; + } else { +#if SHOW_TX_DATA_RATE + test_tx_data_count += len; +#endif /* SHOW_TX_DATA_RATE */ + } + + return ret; +} + + +//----------------------------------------------- +static int client_write_send(void *priv, u8 *data, u16 len) +{ + return client_operation_send(target_handle.write_handle, data, len, ATT_OP_WRITE); +} + +static int client_write_without_respond_send(void *priv, u8 *data, u16 len) +{ + return client_operation_send(target_handle.write_no_respond, data, len, ATT_OP_WRITE_WITHOUT_RESPOND); +} + +static int client_read_value_send(void *priv) +{ + u16 tmp_flag = 0x55A1; + return client_operation_send(target_handle.read_handle, (u8 *)&tmp_flag, 2, ATT_OP_READ); +} + +static int client_read_long_value_send(void *priv) +{ + u16 tmp_flag = 0x55A2; + return client_operation_send(target_handle.read_handle, (u8 *)&tmp_flag, 2, ATT_OP_READ_LONG); +} + + +//扫描数设置 +static void scanning_setup_init(void) +{ + ble_op_set_scan_param(SET_SCAN_TYPE, SET_SCAN_INTERVAL, SET_SCAN_WINDOW); +} + +static int bt_ble_scan_enable(void *priv, u32 en) +{ + ble_state_e next_state, cur_state; + + if (!scan_ctrl_en && en) { + return APP_BLE_OPERATION_ERROR; + } + + if (en) { + next_state = BLE_ST_SCAN; + } else { + next_state = BLE_ST_IDLE; + } + + cur_state = get_ble_work_state(); + switch (cur_state) { + case BLE_ST_SCAN: + case BLE_ST_IDLE: + case BLE_ST_INIT_OK: + case BLE_ST_NULL: + case BLE_ST_DISCONN: + case BLE_ST_CONNECT_FAIL: + case BLE_ST_SEND_CREATE_CONN_CANNEL: + break; + default: + return APP_BLE_OPERATION_ERROR; + break; + } + + if (cur_state == next_state) { + return APP_BLE_NO_ERROR; + } + + + log_info("scan_en:%d\n", en); + set_ble_work_state(next_state); + + if (en) { + scanning_setup_init(); + } + ble_op_scan_enable2(en, 0); + + return APP_BLE_NO_ERROR; +} + +static int client_regiest_wakeup_send(void *priv, void *cbk) +{ + /* att_regist_wakeup_send(cbk); */ + return APP_BLE_NO_ERROR; +} + +static int client_regiest_recieve_cbk(void *priv, void *cbk) +{ + channel_priv = (u32)priv; + app_recieve_callback = cbk; + return APP_BLE_NO_ERROR; +} + +static int client_regiest_state_cbk(void *priv, void *cbk) +{ + channel_priv = (u32)priv; + app_ble_state_callback = cbk; + return APP_BLE_NO_ERROR; +} + +//该接口重新配置搜索的配置项 +static int client_init_config(void *priv, const client_conn_cfg_t *cfg) +{ + log_info("client_init_config\n"); + client_config = cfg;//reset config + return APP_BLE_NO_ERROR; +} + +//可配置进入强制搜索方式连接,更加信号强度过滤设备 +static int client_force_search(u8 onoff, s8 rssi) +{ + force_seach_rssi = rssi; + if (force_seach_onoff != onoff) { + + force_seach_onoff = onoff; + //强制搜索前后,关创建监听 + if (get_ble_work_state() == BLE_ST_CREATE_CONN) { + client_create_connection_cannel(); + } + } + return 0; +} + +static int client_create_connect_api(u8 *addr, u8 addr_type, u8 mode) +{ + u8 cur_state = get_ble_work_state(); + + switch (cur_state) { + case BLE_ST_SCAN: + case BLE_ST_IDLE: + case BLE_ST_INIT_OK: + case BLE_ST_NULL: + case BLE_ST_DISCONN: + case BLE_ST_CONNECT_FAIL: + case BLE_ST_SEND_CREATE_CONN_CANNEL: + break; + default: + return APP_BLE_OPERATION_ERROR; + break; + } + + if (cur_state == BLE_ST_SCAN) { + log_info("stop scan\n"); + bt_ble_scan_enable(0, 0); + } + + //pair mode + if (mode == 1) { + if (conn_pair_info.pair_flag) { + if (conn_pair_info.pair_flag) { + //有配对,跳过搜索,直接创建init_creat + log_info("pair to creat!\n"); + log_info_hexdump(conn_pair_info.peer_address_info, 7); + bt_ble_create_connection(&conn_pair_info.peer_address_info[1], conn_pair_info.peer_address_info[0]); + return 0; + } + + } else { + log_info("no pair to creat!\n"); + return APP_BLE_OPERATION_ERROR; + } + } else { + log_info("addr to creat!\n"); + log_info_hexdump(addr, 7); + bt_ble_create_connection(addr, addr_type); + } + return 0; +} + +static int client_create_cannel_api(void) +{ + if (get_ble_work_state() == BLE_ST_CREATE_CONN) { + client_create_connection_cannel(); + return 0; + } + return 1; +} + +static const struct ble_client_operation_t client_operation = { + .scan_enable = bt_ble_scan_enable, + .disconnect = ble_disconnect, + .get_buffer_vaild = get_buffer_vaild_len, + .write_data = (void *)client_write_without_respond_send, + .read_do = (void *)client_read_value_send, + .regist_wakeup_send = client_regiest_wakeup_send, + .regist_recieve_cbk = client_regiest_recieve_cbk, + .regist_state_cbk = client_regiest_state_cbk, + .init_config = client_init_config, + .opt_comm_send = client_operation_send, + .set_force_search = client_force_search, + .create_connect = client_create_connect_api, + .create_connect_cannel = client_create_cannel_api, + .get_work_state = get_ble_work_state, +}; + +struct ble_client_operation_t *ble_get_client_operation_table(void) +{ + return &client_operation; +} + +#define PASSKEY_ENTER_ENABLE 0 //输入passkey使能,可修改passkey +//重设passkey回调函数,在这里可以重新设置passkey +//passkey为6个数字组成,十万位、万位。。。。个位 各表示一个数字 高位不够为0 +static void reset_passkey_cb(u32 *key) +{ +#if 1 + u32 newkey = rand32();//获取随机数 + + newkey &= 0xfffff; + if (newkey > 999999) { + newkey = newkey - 999999; //不能大于999999 + } + *key = newkey; //小于或等于六位数 + log_info("set new_key= %06u\n", *key); +#else + *key = 123456; //for debug +#endif +} + +#if 0 +//协议栈内部调用 +extern void sm_set_master_request_pair(int enable); +static void ble_sm_setup_init(io_capability_t io_type, u8 auth_req, uint8_t min_key_size, u8 security_en) +{ + //setup SM: Display only + sm_init(); + sm_set_io_capabilities(io_type); + sm_set_authentication_requirements(auth_req); + sm_set_encryption_key_size_range(min_key_size, 16); + sm_set_master_request_pair(security_en); + sm_event_callback_set(&cbk_sm_packet_handler); + + if (io_type == IO_CAPABILITY_DISPLAY_ONLY) { + reset_PK_cb_register(reset_passkey_cb); + } +} +#endif + + +//协议栈内部调用 +void ble_profile_init(void) +{ + log_info("ble profile init\n"); + le_device_db_init(); + ble_stack_gatt_role(1); + +//#if PASSKEY_ENTER_ENABLE +// ble_sm_setup_init(IO_CAPABILITY_DISPLAY_ONLY, SM_AUTHREQ_MITM_PROTECTION | SM_AUTHREQ_BONDING, 7, client_config->security_en); +//#else +// ble_sm_setup_init(IO_CAPABILITY_NO_INPUT_NO_OUTPUT, SM_AUTHREQ_MITM_PROTECTION | SM_AUTHREQ_BONDING, 7, client_config->security_en); +//#endif + + /* setup ATT client */ + gatt_client_init(); + gatt_client_register_packet_handler(cbk_packet_handler); + + // register for HCI events + hci_event_callback_set(&cbk_packet_handler); + le_l2cap_register_packet_handler(&cbk_packet_handler); + + ble_vendor_set_default_att_mtu(ATT_LOCAL_MTU_SIZE); +} + + +static void device_bonding_init(void) +{ + int i; + int cfg_bonding = 0; + client_match_cfg_t *cfg; + for (i = 0; i < CLIENT_MATCH_CONN_MAX; i++) { + cfg = client_config->match_dev_cfg[i]; + if (cfg == NULL) { + continue; + } + if (cfg->bonding_flag) { + cfg_bonding = 1; + } + } + if (!cfg_bonding) { + clear_bonding_info(); + } +} + +static u8 client_idle_query(void) +{ + return 0; +} + +REGISTER_LP_TARGET(client_user_target) = { + .name = "client_user_demo", + .is_idle = client_idle_query, +}; + + + + +void bt_ble_init(void) +{ + log_info("***** ble_init******\n"); +#if WIRELESS_TOOL_BLE_NAME_EN + u8 *config_name; + u8 config_name_len; +#endif + +#if (WIRELESS_24G_ENABLE) + rf_set_24g_hackable_coded(WIRELESS_24G_CODE_ID); +#endif +#if WIRELESS_TOOL_BLE_NAME_EN +#if 1 //使用配置工具的蓝牙名 + extern const char *bt_get_local_name(); + config_name = (u8 *)(bt_get_local_name()); + config_name_len = strlen(config_name) + 1; + put_buf(config_name, config_name_len); + printf("len = %d", config_name_len); +#else + config_name = TEST_BOX_BLE_NAME; + config_name_len = sizeof(TEST_BOX_BLE_NAME); +#endif + match_name = (u8 *)zalloc(config_name_len); + memcpy(match_name, config_name, config_name_len); + printf("match_name"); + put_buf(match_name, config_name_len); + printf("%s", match_name); +#endif + // if (0 == memcmp(match_name, SPECIFIC_STRING, strlen(SPECIFIC_STRING))) { + // match_name = &match_name[strlen(SPECIFIC_STRING)]; + // printf("specific scan%s", match_name); + // flag_specific_sacn = 1; + + // } + + set_ble_work_state(BLE_ST_INIT_OK); + conn_pair_vm_do(&conn_pair_info, 0); + +#if !WIRELESS_PAIR_BONDING + device_bonding_init(); +#endif + ble_module_enable(1); + extern void wifi_detect_set_master_first(u8 first); +#if TCFG_WIFI_DETECT_ENABLE +#if TCFG_WIFI_DETCET_PRIOR + wifi_detect_set_master_first(0); +#else + wifi_detect_set_master_first(1); +#endif +#endif + +#if (SHOW_RX_DATA_RATE | SHOW_TX_DATA_RATE) + client_timer_start(); +#endif /* SHOW_RX_DATA_RATE | SHOW_TX_DATA_RATE */ +} + +void bt_ble_exit(void) +{ + log_info("***** ble_exit******\n"); +} + +void ble_app_disconnect(void) +{ + ble_disconnect(NULL); +} +//统一接口,关闭模块 +void bt_ble_adv_enable(u8 enable) +{ + ble_module_enable(enable); +} + +//模块开关 +void ble_module_enable(u8 en) +{ + log_info("mode_en:%d\n", en); + if (en) { + scan_ctrl_en = 1; + bt_ble_scan_enable(0, 1); + } else { + if (con_handle) { + scan_ctrl_en = 0; + ble_disconnect(NULL); + } else { + bt_ble_scan_enable(0, 0); + scan_ctrl_en = 0; + } + } + +} + +void client_send_conn_param_update(void) +{ + struct conn_update_param_t *param = (void *)&connection_param_table[send_param_index];//for test + log_info("client update param:-%d-%d-%d-%d-\n", param->interval_min, param->interval_max, param->latency, param->timeout); + if (con_handle) { + ble_op_conn_param_update(con_handle, param); + } +} + + + +//---------------------------------------------------------------------------------- +//lmx +void rcsp_adv_fill_mac_addr(u8 *mac_addr_buf) +{ +#if (MUTIl_CHARGING_BOX_EN) + u8 *mac_addr = get_chargebox_adv_addr(); + if (mac_addr) { + swapX(mac_addr, mac_addr_buf, 6); + } + + /* printf("mac_addr:"); */ + /* printf_buf(mac_addr_buf, 6); */ + +#else + swapX(bt_get_mac_addr(), mac_addr_buf, 6); +#endif +} + + +#endif + diff --git a/apps/earphone/xtell_Sensor/xtell_app_main.c b/apps/earphone/xtell_Sensor/xtell_app_main.c index fb58bdb..a1647bd 100644 --- a/apps/earphone/xtell_Sensor/xtell_app_main.c +++ b/apps/earphone/xtell_Sensor/xtell_app_main.c @@ -1,24 +1,15 @@ #include "system/includes.h" -/*#include "btcontroller_config.h"*/ -#include "btstack/btstack_task.h" #include "app_config.h" #include "app_action.h" -#include "asm/pwm_led.h" -#include "tone_player.h" -#include "gpio.h" #include "app_main.h" -#include "asm/charge.h" #include "update.h" +#include "update_loader_download.h" #include "app_power_manage.h" #include "app_charge.h" #include "bt_profile_cfg.h" -#include "dev_manager/dev_manager.h" -#include "update_loader_download.h" -#include "avctp_user.h" #include "debug.h" - /////////////////////////////////////////////////////////////////////////////////////////////////// //宏定义 #define ENABLE_XLOG 1 @@ -41,89 +32,71 @@ // /////////////////////////////////////////////////////////////////////////////////////////////////// -////////////////////////////////////////////////////////////////////////////////////////////////// -//变量 + +//-------------------------------------------------------------------------------------------------// +// 外部函数/变量声明 +//-------------------------------------------------------------------------------------------------// extern APP_VAR app_var; -u16 close_BL_number=0; -// -////////////////////////////////////////////////////////////////////////////////////////////////// - -////////////////////////////////////////////////////////////////////////////////////////////////// -//函数定义 -extern void timer_2ms_handler(); -extern void app_var_init(void); -void app_earphone_play_voice_file(const char *name); -void clr_wdt(void); -extern void check_power_on_key(void); -extern int cpu_reset_by_soft(); -extern int audio_dec_init(); -extern int audio_enc_init(); -// -////////////////////////////////////////////////////////////////////////////////////////////////// +//-------------------------------------------------------------------------------------------------// +// 系统主函数 app_main +//-------------------------------------------------------------------------------------------------// - - -/*充电拔出,CPU软件复位, 不检测按键,直接开机*/ -static void app_poweron_check(int update) -{ - if (!update && cpu_reset_by_soft()) { - app_var.play_poweron_tone = 0; - return; - } -} -void create_process(u16* pid,char* name, void *priv, void (*func)(void *priv), u32 msec){ +/** + * @brief 创建一个周期性执行的系统定时器任务 + */ +void create_process(u16* pid, const char* name, void *priv, void (*func)(void *priv), u32 msec){ xlog("1 name=%s, pid =%d\n",name,*pid); if (*pid != 0) return; *pid = sys_timer_add(priv, func, msec); xlog("2 name=%s, pid =%d\n",name,*pid); } -void close_process(u16* pid,char* name){ + +/** + * @brief 关闭一个系统定时器任务 + */ +void close_process(u16* pid, const char* name){ xlog("name=%s,pid =%d\n",name,*pid); if (*pid == 0) return; sys_timer_del(*pid); - *pid = 0; + *pid = 0; } -void close_BL(){ - /**开机默认关闭 经典蓝牙 */ - // close_BL_flag++; - xlog("xtell Classic Bluetooth off\n"); - user_send_cmd_prepare(USER_CTRL_DISCONNECTION_HCI, 0, NULL); //断开此时经典蓝牙的连接,经典蓝牙还是可以被发现 - delay_2ms(50); - user_send_cmd_prepare(USER_CTRL_WRITE_SCAN_DISABLE, 0, NULL); //关闭蓝牙可发现,已连接时不能操作 - delay_2ms(50); - user_send_cmd_prepare(USER_CTRL_WRITE_CONN_DISABLE, 0, NULL); //关闭蓝牙可连接, - // sys_timer_del(close_BL_number); //删除定时器任务 - close_process(&close_BL_number,__func__); +/*充电拔出,CPU软件复位, 不检测按键,直接开机*/ +static void app_poweron_check(int update) +{ + extern int cpu_reset_by_soft(); + if (!update && cpu_reset_by_soft()) { + app_var.play_poweron_tone = 0; + return; + } } -void xtell_set_ble_name(char* name){ - -} - - -extern u32 timer_get_ms(void); +/** + * @brief 应用层主入口 + */ void xtell_app_main() { int update = 0; - u32 addr = 0, size = 0; struct intent it; xlog("==============xtell_app_main start================\n"); log_info("app_main\n"); + extern u32 timer_get_ms(void); app_var.start_time = timer_get_ms(); - - + // 检查是否有固件升级 if (!UPDATE_SUPPORT_DEV_IS_NULL()) { update = update_result_deal(); } + // 初始化应用层变量 + extern void app_var_init(void); app_var_init(); + // 根据充电状态决定进入 idle 模式还是 handler 模式 if (get_charge_online_flag()) { #if(TCFG_SYS_LVD_EN == 1) vbat_check_init(); @@ -144,30 +117,5 @@ void xtell_app_main() xlog("==============handler end================\n"); } - - - ////////////////////////////////////////////////// - - //开机必须延时关闭经典蓝牙,不然底层代码会再次把蓝牙 打开 - // create_process(&close_BL_number, "close_BL",NULL, close_BL, 3000); - - - - - u8 mac_data[6]; - extern void rcsp_adv_fill_mac_addr(u8 *mac_addr_buf); - rcsp_adv_fill_mac_addr(mac_data); //读取MAC地址 - xlog("xtell BT mac data:%x:%x:%x:%x:%x:%x",mac_data[0],mac_data[1],mac_data[2],mac_data[3],mac_data[4],mac_data[5]); - - - user_send_cmd_prepare(USER_CTRL_WRITE_SCAN_ENABLE, 0, NULL); //打开蓝牙可发现,已连接时不能操作 - delay_2ms(50); - user_send_cmd_prepare(USER_CTRL_WRITE_CONN_ENABLE, 0, NULL); //打开蓝牙可连接 - delay_2ms(50); - - - xlog("==============xtell_app_end================\n"); - } - diff --git a/apps/earphone/xtell_Sensor/xtell_handler.c b/apps/earphone/xtell_Sensor/xtell_handler.c index 6391b09..073a47c 100644 --- a/apps/earphone/xtell_Sensor/xtell_handler.c +++ b/apps/earphone/xtell_Sensor/xtell_handler.c @@ -302,8 +302,8 @@ static int bt_connction_status_event_handler(struct bt_event *bt) ble_bqb_test_thread_init(); } else { #if !TCFG_WIRELESS_MIC_ENABLE - bt_ble_init(); - xtell_ble_central_test_start(); + // bt_ble_init(); + // xtell_ble_central_test_start(); //xtell #endif } #endif @@ -337,7 +337,7 @@ static int bt_connction_status_event_handler(struct bt_event *bt) bt_newname =1; u8 temp[5]={0xBB,0xBE,0x02,0x04,0x00}; temp[4] = xtell_bl_state; //经典蓝牙连接状态 - send_data_to_ble_client(&temp,5); + // send_data_to_ble_client(&temp,5); } earphone_change_pwr_mode(PWR_DCDC15, 3000); sys_auto_shut_down_disable(); @@ -370,7 +370,7 @@ static int bt_connction_status_event_handler(struct bt_event *bt) bt_newname=0; u8 temp[5]={0xBB,0xBE,0x02,0x04,0x00}; temp[4] = xtell_bl_state; //经典蓝牙连接状态 - send_data_to_ble_client(&temp,5); + // send_data_to_ble_client(&temp,5); } if (app_var.goto_poweroff_flag) { /*关机不播断开提示音*/ diff --git a/cpu/br28/tools/app.bin b/cpu/br28/tools/app.bin index 688c5e5..1a58efc 100644 Binary files a/cpu/br28/tools/app.bin and b/cpu/br28/tools/app.bin differ diff --git a/cpu/br28/tools/data_code.bin b/cpu/br28/tools/data_code.bin index 39dfe08..d69e351 100644 Binary files a/cpu/br28/tools/data_code.bin and b/cpu/br28/tools/data_code.bin differ diff --git a/cpu/br28/tools/download.bat b/cpu/br28/tools/download.bat index d4d2c94..2265058 100644 --- a/cpu/br28/tools/download.bat +++ b/cpu/br28/tools/download.bat @@ -61,4 +61,4 @@ copy /b text.bin + data.bin + mov_slot.bin + data_code.bin + aec.bin + aac.bin + del !bankfiles! common.bin text.bin data.bin bank.bin copy eq_cfg_hw_less.bin eq_cfg_hw.bin -call download/earphone/download_app_ota.bat +call download/earphone/download.bat diff --git a/cpu/br28/tools/download/earphone/jl_isd.bin b/cpu/br28/tools/download/earphone/jl_isd.bin index 5cb7525..8222abe 100644 Binary files a/cpu/br28/tools/download/earphone/jl_isd.bin and b/cpu/br28/tools/download/earphone/jl_isd.bin differ diff --git a/cpu/br28/tools/sdk.elf.objs.txt b/cpu/br28/tools/sdk.elf.objs.txt index a18678d..d314534 100644 --- a/cpu/br28/tools/sdk.elf.objs.txt +++ b/cpu/br28/tools/sdk.elf.objs.txt @@ -1 +1 @@ - objs/apps/common/audio/amplitude_statistic.c.o objs/apps/common/audio/audio_dvol.c.o objs/apps/common/audio/audio_export_demo.c.o objs/apps/common/audio/audio_noise_gate.c.o objs/apps/common/audio/audio_ns.c.o objs/apps/common/audio/audio_plc.c.o objs/apps/common/audio/audio_utils.c.o objs/apps/common/audio/decode/audio_key_tone.c.o objs/apps/common/audio/decode/decode.c.o objs/apps/common/audio/demo/audio_demo.c.o objs/apps/common/audio/online_debug/aud_data_export.c.o objs/apps/common/audio/online_debug/aud_mic_dut.c.o objs/apps/common/audio/online_debug/aud_spatial_effect_dut.c.o objs/apps/common/audio/online_debug/audio_online_debug.c.o objs/apps/common/audio/sine_make.c.o objs/apps/common/audio/uartPcmSender.c.o objs/apps/common/audio/wm8978/iic.c.o objs/apps/common/audio/wm8978/wm8978.c.o objs/apps/common/bt_common/bt_test_api.c.o objs/apps/common/cJSON/cJSON.c.o objs/apps/common/config/app_config.c.o objs/apps/common/config/bt_profile_config.c.o objs/apps/common/config/ci_transport_uart.c.o objs/apps/common/config/new_cfg_tool.c.o objs/apps/common/debug/debug.c.o objs/apps/common/debug/debug_lite.c.o objs/apps/common/dev_manager/dev_manager.c.o objs/apps/common/dev_manager/dev_reg.c.o objs/apps/common/dev_manager/dev_update.c.o objs/apps/common/device/gSensor/SC7A20.c.o objs/apps/common/device/gSensor/STK8321.c.o objs/apps/common/device/gSensor/da230.c.o objs/apps/common/device/gSensor/gSensor_manage.c.o objs/apps/common/device/gSensor/mpu6050.c.o objs/apps/common/device/gx8002_npu/gx8002_enc/gx8002_enc.c.o objs/apps/common/device/gx8002_npu/gx8002_npu.c.o objs/apps/common/device/gx8002_npu/gx8002_npu_event_deal.c.o objs/apps/common/device/gx8002_npu/gx8002_upgrade/app_upgrade/gx_uart_upgrade_app.c.o objs/apps/common/device/gx8002_npu/gx8002_upgrade/app_upgrade/gx_uart_upgrade_tws.c.o objs/apps/common/device/gx8002_npu/gx8002_upgrade/gx_uart_upgrade.c.o objs/apps/common/device/gx8002_npu/gx8002_upgrade/gx_uart_upgrade_porting.c.o objs/apps/common/device/gx8002_npu/gx8002_upgrade/sdfile_upgrade/gx_uart_upgrade_sdfile.c.o objs/apps/common/device/gx8002_npu/gx8002_upgrade/spp_upgrade/gx_fifo.c.o objs/apps/common/device/gx8002_npu/gx8002_upgrade/spp_upgrade/gx_uart_upgrade_spp.c.o objs/apps/common/device/imu_sensor/icm_42670p/icm_42670p.c.o objs/apps/common/device/imu_sensor/icm_42670p/inv_imu_apex.c.o objs/apps/common/device/imu_sensor/icm_42670p/inv_imu_driver.c.o objs/apps/common/device/imu_sensor/icm_42670p/inv_imu_transport.c.o objs/apps/common/device/imu_sensor/imuSensor_manage.c.o objs/apps/common/device/imu_sensor/lsm6dsl/lsm6dsl.c.o objs/apps/common/device/imu_sensor/mpu6887/mpu6887p.c.o objs/apps/common/device/imu_sensor/mpu9250/mpu9250.c.o objs/apps/common/device/imu_sensor/qmi8658/qmi8658c.c.o objs/apps/common/device/imu_sensor/sh3001/sh3001.c.o objs/apps/common/device/in_ear_detect/in_ear_detect.c.o objs/apps/common/device/in_ear_detect/in_ear_manage.c.o objs/apps/common/device/ir_sensor/ir_manage.c.o objs/apps/common/device/ir_sensor/jsa1221.c.o objs/apps/common/device/key/adkey.c.o objs/apps/common/device/key/adkey_rtcvdd.c.o objs/apps/common/device/key/ctmu_touch_key.c.o objs/apps/common/device/key/iokey.c.o objs/apps/common/device/key/irkey.c.o objs/apps/common/device/key/key_driver.c.o objs/apps/common/device/key/touch_key.c.o objs/apps/common/device/key/uart_key.c.o objs/apps/common/device/norflash/norflash_sfc.c.o objs/apps/common/device/ntc/ntc_det.c.o objs/apps/common/device/usb/device/cdc.c.o objs/apps/common/device/usb/device/descriptor.c.o objs/apps/common/device/usb/device/hid.c.o objs/apps/common/device/usb/device/msd.c.o objs/apps/common/device/usb/device/msd_upgrade.c.o objs/apps/common/device/usb/device/task_pc.c.o objs/apps/common/device/usb/device/uac1.c.o objs/apps/common/device/usb/device/uac_stream.c.o objs/apps/common/device/usb/device/usb_device.c.o objs/apps/common/device/usb/device/user_setup.c.o objs/apps/common/device/usb/host/adb.c.o objs/apps/common/device/usb/host/aoa.c.o objs/apps/common/device/usb/host/audio.c.o objs/apps/common/device/usb/host/audio_demo.c.o objs/apps/common/device/usb/host/hid.c.o objs/apps/common/device/usb/host/usb_bulk_transfer.c.o objs/apps/common/device/usb/host/usb_ctrl_transfer.c.o objs/apps/common/device/usb/host/usb_host.c.o objs/apps/common/device/usb/host/usb_storage.c.o objs/apps/common/device/usb/usb_config.c.o objs/apps/common/device/usb/usb_host_config.c.o objs/apps/common/ezxml/ezxml.c.o objs/apps/common/ezxml/ezxml_example.c.o objs/apps/common/fat_nor/cfg_private.c.o objs/apps/common/fat_nor/virfat_flash.c.o objs/apps/common/file_operate/file_bs_deal.c.o objs/apps/common/file_operate/file_manager.c.o objs/apps/common/icsd/adt/icsd_adt.c.o objs/apps/common/icsd/adt/icsd_adt_app.c.o objs/apps/common/icsd/anc/icsd_anc_app.c.o objs/apps/common/icsd/anc/icsd_anc_board.c.o objs/apps/common/icsd/anc/icsd_anc_data.c.o objs/apps/common/jl_kws/jl_kws_algo.c.o objs/apps/common/jl_kws/jl_kws_audio.c.o objs/apps/common/jl_kws/jl_kws_event.c.o objs/apps/common/jl_kws/jl_kws_main.c.o objs/apps/common/music/breakpoint.c.o objs/apps/common/music/music_decrypt.c.o objs/apps/common/music/music_id3.c.o objs/apps/common/music/music_player.c.o objs/apps/common/temp_trim/dtemp_pll_trim.c.o objs/apps/common/test/fs_test.c.o objs/apps/common/test/os_test.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_ll_demo/ll_demo.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_ll_demo/ll_task.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_import.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_llsync_data.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_llsync_device.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_llsync_event.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_llsync_ota.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_service.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_template.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_utils_base64.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_utils_crc.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_utils_hmac.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_utils_log.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_utils_md5.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_utils_sha1.c.o objs/apps/common/third_party_profile/common/3th_profile_api.c.o objs/apps/common/third_party_profile/common/custom_cfg.c.o objs/apps/common/third_party_profile/common/mic_rec.c.o objs/apps/common/third_party_profile/interface/app_protocol_api.c.o objs/apps/common/third_party_profile/interface/app_protocol_common.c.o objs/apps/common/third_party_profile/interface/app_protocol_dma.c.o objs/apps/common/third_party_profile/interface/app_protocol_gfps.c.o objs/apps/common/third_party_profile/interface/app_protocol_gma.c.o objs/apps/common/third_party_profile/interface/app_protocol_mma.c.o objs/apps/common/third_party_profile/interface/app_protocol_ota.c.o objs/apps/common/third_party_profile/interface/app_protocol_tme.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_adaptive_noise_reduction.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_anc_voice.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_anc_voice_key.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_bt_name_setting.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_eq_setting.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_hearing_aid_setting.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_high_low_vol_setting.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_key_setting.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_led_setting.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_mic_setting.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_time_stamp_setting.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_work_setting.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_customer_user.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_opt.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_tws_sync.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/rcsp_adv_spp_user.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_ch_loader_download.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_user_update.c.o objs/apps/common/third_party_profile/jieli/le_hogp.c.o objs/apps/common/third_party_profile/jieli/online_db/online_db_deal.c.o objs/apps/common/third_party_profile/jieli/online_db/spp_online_db.c.o objs/apps/common/third_party_profile/jieli/trans_data_demo/le_trans_data.c.o objs/apps/common/third_party_profile/jieli/trans_data_demo/spp_trans_data.c.o objs/apps/common/third_party_profile/jieli/wireless_mic/le_wireless_mic_client.c.o objs/apps/common/third_party_profile/jieli/wireless_mic/le_wireless_mic_server.c.o objs/apps/common/third_party_profile/tuya_protocol/app/demo/tuya_ble_app_demo.c.o objs/apps/common/third_party_profile/tuya_protocol/app/demo/tuya_ota.c.o objs/apps/common/third_party_profile/tuya_protocol/app/product_test/tuya_ble_app_production_test.c.o objs/apps/common/third_party_profile/tuya_protocol/app/uart_common/tuya_ble_app_uart_common_handler.c.o objs/apps/common/third_party_profile/tuya_protocol/extern_components/mbedtls/aes.c.o objs/apps/common/third_party_profile/tuya_protocol/extern_components/mbedtls/ccm.c.o objs/apps/common/third_party_profile/tuya_protocol/extern_components/mbedtls/hmac.c.o objs/apps/common/third_party_profile/tuya_protocol/extern_components/mbedtls/md5.c.o objs/apps/common/third_party_profile/tuya_protocol/extern_components/mbedtls/sha1.c.o objs/apps/common/third_party_profile/tuya_protocol/extern_components/mbedtls/sha256.c.o objs/apps/common/third_party_profile/tuya_protocol/port/tuya_ble_port.c.o objs/apps/common/third_party_profile/tuya_protocol/port/tuya_ble_port_JL.c.o objs/apps/common/third_party_profile/tuya_protocol/port/tuya_ble_port_peripheral.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_api.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_bulk_data.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_data_handler.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_event.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_event_handler.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_event_handler_weak.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_feature_weather.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_gatt_send_queue.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_heap.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_main.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_mem.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_mutli_tsf_protocol.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_queue.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_storage.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_unix_time.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_utils.c.o objs/apps/common/ui/lcd_simple/lcd_simple_api.c.o objs/apps/common/ui/lcd_simple/ui.c.o objs/apps/common/ui/lcd_simple/ui_mainmenu.c.o objs/apps/common/update/testbox_update.c.o objs/apps/common/update/update.c.o objs/apps/common/update/update_tws.c.o objs/apps/common/update/update_tws_new.c.o objs/apps/earphone/aec/br28/audio_aec.c.o objs/apps/earphone/aec/br28/audio_aec_demo.c.o objs/apps/earphone/aec/br28/audio_aec_dms.c.o objs/apps/earphone/aec/br28/audio_aec_online.c.o objs/apps/earphone/aec/br28/audio_cvp_3mic.c.o objs/apps/earphone/aec/br28/audio_cvp_ais_3mic.c.o objs/apps/earphone/app_ancbox.c.o objs/apps/earphone/app_anctool.c.o objs/apps/earphone/app_main.c.o objs/apps/earphone/app_protocol_deal.c.o objs/apps/earphone/app_task_switch.c.o objs/apps/earphone/app_testbox.c.o objs/apps/earphone/audio_enc_mpt_cvp_ctr.c.o objs/apps/earphone/audio_enc_mpt_self.c.o objs/apps/earphone/ble_adv.c.o objs/apps/earphone/board/br28/board_jl7016g_hybrid.c.o objs/apps/earphone/board/br28/board_jl7018f_demo.c.o objs/apps/earphone/board/br28/board_jl701n_anc.c.o objs/apps/earphone/board/br28/board_jl701n_btemitter.c.o objs/apps/earphone/board/br28/board_jl701n_demo.c.o objs/apps/earphone/bt_auto_test.c.o objs/apps/earphone/bt_background.c.o objs/apps/earphone/bt_ble.c.o objs/apps/earphone/bt_ble_hid.c.o objs/apps/earphone/bt_emitter.c.o objs/apps/earphone/bt_tws.c.o objs/apps/earphone/default_event_handler.c.o objs/apps/earphone/earphone.c.o objs/apps/earphone/eartch_event_deal.c.o objs/apps/earphone/font/fontinit.c.o objs/apps/earphone/idle.c.o objs/apps/earphone/key_event_deal.c.o objs/apps/earphone/kws_voice_event_deal.c.o objs/apps/earphone/linein/linein.c.o objs/apps/earphone/ll_sync_demo/ll_sync_demo.c.o objs/apps/earphone/log_config/app_config.c.o objs/apps/earphone/log_config/lib_btctrler_config.c.o objs/apps/earphone/log_config/lib_btstack_config.c.o objs/apps/earphone/log_config/lib_driver_config.c.o objs/apps/earphone/log_config/lib_media_config.c.o objs/apps/earphone/log_config/lib_system_config.c.o objs/apps/earphone/log_config/lib_update_config.c.o objs/apps/earphone/music/sd_music.c.o objs/apps/earphone/pbg_demo.c.o objs/apps/earphone/pc/pc.c.o objs/apps/earphone/power_manage/app_charge.c.o objs/apps/earphone/power_manage/app_chargestore.c.o objs/apps/earphone/power_manage/app_power_manage.c.o objs/apps/earphone/power_manage/app_umidigi_chargestore.c.o objs/apps/earphone/rcsp/jl_phone_app.c.o objs/apps/earphone/rcsp/rcsp_adv.c.o objs/apps/earphone/tone_table.c.o objs/apps/earphone/trans_data_demo/trans_data_demo.c.o objs/apps/earphone/tuya/tuya_app.c.o objs/apps/earphone/tuya/tuya_demo.c.o objs/apps/earphone/ui/lcd_simple/my_demo.c.o objs/apps/earphone/ui_manage.c.o objs/apps/earphone/user_cfg.c.o objs/apps/earphone/version.c.o objs/apps/earphone/vol_sync.c.o objs/apps/earphone/wireless_mic/app_main_wireless_mic.c.o objs/apps/earphone/wireless_mic/audio/adapter_adc.c.o objs/apps/earphone/wireless_mic/audio/adapter_media.c.o objs/apps/earphone/wireless_mic/audio/wireless/adapter_wireless_dec.c.o objs/apps/earphone/wireless_mic/audio/wireless/adapter_wireless_enc.c.o objs/apps/earphone/wireless_mic/bt/bt_edr_fun.c.o objs/apps/earphone/wireless_mic/bt/bt_status_event.c.o objs/apps/earphone/wireless_mic/idev/adapter_idev.c.o objs/apps/earphone/wireless_mic/idev/idev_bt/adapter_idev_bt.c.o objs/apps/earphone/wireless_mic/idev/idev_bt/idev_ble/adapter_idev_ble.c.o objs/apps/earphone/wireless_mic/idev/idev_mic/adapter_idev_mic.c.o objs/apps/earphone/wireless_mic/odev/adapter_odev.c.o objs/apps/earphone/wireless_mic/odev/odev_bt/adapter_odev_bt.c.o objs/apps/earphone/wireless_mic/odev/odev_bt/odev_ble/adapter_odev_ble.c.o objs/apps/earphone/wireless_mic/odev/odev_bt/odev_ble/odev_ble_wireless.c.o objs/apps/earphone/wireless_mic/odev/odev_bt/odev_edr/adapter_odev_edr.c.o objs/apps/earphone/wireless_mic/odev/odev_dac/adapter_odev_dac.c.o objs/apps/earphone/wireless_mic/process/adapter_process.c.o objs/cpu/br28/adc_api.c.o objs/cpu/br28/aec_tool.c.o objs/cpu/br28/app_audio.c.o objs/cpu/br28/audio_anc.c.o objs/cpu/br28/audio_anc_fade_ctr.c.o objs/cpu/br28/audio_anc_mult_scene.c.o objs/cpu/br28/audio_capture.c.o objs/cpu/br28/audio_codec_clock.c.o objs/cpu/br28/audio_common/audio_mic_codec.c.o objs/cpu/br28/audio_cvp_dut.c.o objs/cpu/br28/audio_cvp_sync.c.o objs/cpu/br28/audio_dec.c.o objs/cpu/br28/audio_dec/audio_dec_file.c.o objs/cpu/br28/audio_dec/audio_dec_iis.c.o objs/cpu/br28/audio_dec/audio_dec_pc.c.o objs/cpu/br28/audio_dec/audio_dec_pcm.c.o objs/cpu/br28/audio_dec/audio_usb_mic.c.o objs/cpu/br28/audio_dec_eff.c.o objs/cpu/br28/audio_demo/audio_adc_demo.c.o objs/cpu/br28/audio_demo/audio_dac_demo.c.o objs/cpu/br28/audio_demo/audio_fft_demo.c.o objs/cpu/br28/audio_demo/audio_matrix_demo.c.o objs/cpu/br28/audio_demo/audio_wind_detect_demo.c.o objs/cpu/br28/audio_effect_develop.c.o objs/cpu/br28/audio_enc.c.o objs/cpu/br28/audio_general.c.o objs/cpu/br28/audio_hearing/audio_hearing_aid.c.o objs/cpu/br28/audio_hearing/audio_hearing_aid_lp.c.o objs/cpu/br28/audio_hearing/audio_sidetone.c.o objs/cpu/br28/audio_link.c.o objs/cpu/br28/audio_sync.c.o objs/cpu/br28/charge.c.o objs/cpu/br28/chargestore.c.o objs/cpu/br28/clock_manager.c.o objs/cpu/br28/eq_config.c.o objs/cpu/br28/hw_fft.c.o objs/cpu/br28/icsd_anc_user.c.o objs/cpu/br28/iic_hw.c.o objs/cpu/br28/iic_soft.c.o objs/cpu/br28/irflt.c.o objs/cpu/br28/lp_touch_key.c.o objs/cpu/br28/lp_touch_key_alog.c.o objs/cpu/br28/lp_touch_key_tool.c.o objs/cpu/br28/lua_port_api.c.o objs/cpu/br28/mcpwm.c.o objs/cpu/br28/mic_dut_process.c.o objs/cpu/br28/overlay_code.c.o objs/cpu/br28/pdm_link.c.o objs/cpu/br28/plcnt.c.o objs/cpu/br28/power/power_app.c.o objs/cpu/br28/power/power_check.c.o objs/cpu/br28/power/power_port.c.o objs/cpu/br28/power/power_trim.c.o objs/cpu/br28/private_iis.c.o objs/cpu/br28/pwm_led.c.o objs/cpu/br28/rdec.c.o objs/cpu/br28/setup.c.o objs/cpu/br28/smart_voice/aispeech_asr.c.o objs/cpu/br28/smart_voice/jl_kws_platform.c.o objs/cpu/br28/smart_voice/kws_event.c.o objs/cpu/br28/smart_voice/nn_vad.c.o objs/cpu/br28/smart_voice/smart_voice_config.c.o objs/cpu/br28/smart_voice/smart_voice_core.c.o objs/cpu/br28/smart_voice/user_asr.c.o objs/cpu/br28/smart_voice/vad_clock_trim.c.o objs/cpu/br28/smart_voice/vad_mic.c.o objs/cpu/br28/smart_voice/voice_mic_data.c.o objs/cpu/br28/sound_device.c.o objs/cpu/br28/spatial_effect/spatial_effect.c.o objs/cpu/br28/spatial_effect/spatial_effect_imu.c.o objs/cpu/br28/spatial_effect/spatial_effect_test.c.o objs/cpu/br28/spatial_effect/spatial_effect_tws.c.o objs/cpu/br28/spatial_effect/spatial_imu_trim.c.o objs/cpu/br28/spi.c.o objs/cpu/br28/tone_player.c.o objs/cpu/br28/tws_audio.c.o objs/cpu/br28/uart_dev.c.o objs/cpu/br28/umidigi_chargestore.c.o objs/apps/common/colorful_lights/colorful_lights.c.o objs/apps/earphone/remote_control/nvs.c.o objs/apps/earphone/remote_control/RC_app_main.c.o objs/apps/earphone/remote_control/RFID/reader/CPU_CARD.c.o objs/apps/earphone/remote_control/RFID/reader/MIFARE.c.o objs/apps/earphone/remote_control/RFID/reader/NTAG.c.o objs/apps/earphone/remote_control/RFID/reader/READER.c.o objs/apps/earphone/remote_control/RFID/rfid_event.c.o objs/apps/earphone/remote_control/RFID/rfid_hal.c.o objs/apps/earphone/xtell_Sensor/ble_test.c.o objs/apps/earphone/xtell_Sensor/example/example.c.o objs/apps/earphone/xtell_Sensor/xtell_app_main.c.o objs/apps/earphone/xtell_Sensor/xtell_handler.c.o objs/apps/earphone/sdk_version.z.S.o + objs/apps/common/audio/amplitude_statistic.c.o objs/apps/common/audio/audio_dvol.c.o objs/apps/common/audio/audio_export_demo.c.o objs/apps/common/audio/audio_noise_gate.c.o objs/apps/common/audio/audio_ns.c.o objs/apps/common/audio/audio_plc.c.o objs/apps/common/audio/audio_utils.c.o objs/apps/common/audio/decode/audio_key_tone.c.o objs/apps/common/audio/decode/decode.c.o objs/apps/common/audio/demo/audio_demo.c.o objs/apps/common/audio/online_debug/aud_data_export.c.o objs/apps/common/audio/online_debug/aud_mic_dut.c.o objs/apps/common/audio/online_debug/aud_spatial_effect_dut.c.o objs/apps/common/audio/online_debug/audio_online_debug.c.o objs/apps/common/audio/sine_make.c.o objs/apps/common/audio/uartPcmSender.c.o objs/apps/common/audio/wm8978/iic.c.o objs/apps/common/audio/wm8978/wm8978.c.o objs/apps/common/bt_common/bt_test_api.c.o objs/apps/common/cJSON/cJSON.c.o objs/apps/common/config/app_config.c.o objs/apps/common/config/bt_profile_config.c.o objs/apps/common/config/ci_transport_uart.c.o objs/apps/common/config/new_cfg_tool.c.o objs/apps/common/debug/debug.c.o objs/apps/common/debug/debug_lite.c.o objs/apps/common/dev_manager/dev_manager.c.o objs/apps/common/dev_manager/dev_reg.c.o objs/apps/common/dev_manager/dev_update.c.o objs/apps/common/device/gSensor/SC7A20.c.o objs/apps/common/device/gSensor/STK8321.c.o objs/apps/common/device/gSensor/da230.c.o objs/apps/common/device/gSensor/gSensor_manage.c.o objs/apps/common/device/gSensor/mpu6050.c.o objs/apps/common/device/gx8002_npu/gx8002_enc/gx8002_enc.c.o objs/apps/common/device/gx8002_npu/gx8002_npu.c.o objs/apps/common/device/gx8002_npu/gx8002_npu_event_deal.c.o objs/apps/common/device/gx8002_npu/gx8002_upgrade/app_upgrade/gx_uart_upgrade_app.c.o objs/apps/common/device/gx8002_npu/gx8002_upgrade/app_upgrade/gx_uart_upgrade_tws.c.o objs/apps/common/device/gx8002_npu/gx8002_upgrade/gx_uart_upgrade.c.o objs/apps/common/device/gx8002_npu/gx8002_upgrade/gx_uart_upgrade_porting.c.o objs/apps/common/device/gx8002_npu/gx8002_upgrade/sdfile_upgrade/gx_uart_upgrade_sdfile.c.o objs/apps/common/device/gx8002_npu/gx8002_upgrade/spp_upgrade/gx_fifo.c.o objs/apps/common/device/gx8002_npu/gx8002_upgrade/spp_upgrade/gx_uart_upgrade_spp.c.o objs/apps/common/device/imu_sensor/icm_42670p/icm_42670p.c.o objs/apps/common/device/imu_sensor/icm_42670p/inv_imu_apex.c.o objs/apps/common/device/imu_sensor/icm_42670p/inv_imu_driver.c.o objs/apps/common/device/imu_sensor/icm_42670p/inv_imu_transport.c.o objs/apps/common/device/imu_sensor/imuSensor_manage.c.o objs/apps/common/device/imu_sensor/lsm6dsl/lsm6dsl.c.o objs/apps/common/device/imu_sensor/mpu6887/mpu6887p.c.o objs/apps/common/device/imu_sensor/mpu9250/mpu9250.c.o objs/apps/common/device/imu_sensor/qmi8658/qmi8658c.c.o objs/apps/common/device/imu_sensor/sh3001/sh3001.c.o objs/apps/common/device/in_ear_detect/in_ear_detect.c.o objs/apps/common/device/in_ear_detect/in_ear_manage.c.o objs/apps/common/device/ir_sensor/ir_manage.c.o objs/apps/common/device/ir_sensor/jsa1221.c.o objs/apps/common/device/key/adkey.c.o objs/apps/common/device/key/adkey_rtcvdd.c.o objs/apps/common/device/key/ctmu_touch_key.c.o objs/apps/common/device/key/iokey.c.o objs/apps/common/device/key/irkey.c.o objs/apps/common/device/key/key_driver.c.o objs/apps/common/device/key/touch_key.c.o objs/apps/common/device/key/uart_key.c.o objs/apps/common/device/norflash/norflash_sfc.c.o objs/apps/common/device/ntc/ntc_det.c.o objs/apps/common/device/usb/device/cdc.c.o objs/apps/common/device/usb/device/descriptor.c.o objs/apps/common/device/usb/device/hid.c.o objs/apps/common/device/usb/device/msd.c.o objs/apps/common/device/usb/device/msd_upgrade.c.o objs/apps/common/device/usb/device/task_pc.c.o objs/apps/common/device/usb/device/uac1.c.o objs/apps/common/device/usb/device/uac_stream.c.o objs/apps/common/device/usb/device/usb_device.c.o objs/apps/common/device/usb/device/user_setup.c.o objs/apps/common/device/usb/host/adb.c.o objs/apps/common/device/usb/host/aoa.c.o objs/apps/common/device/usb/host/audio.c.o objs/apps/common/device/usb/host/audio_demo.c.o objs/apps/common/device/usb/host/hid.c.o objs/apps/common/device/usb/host/usb_bulk_transfer.c.o objs/apps/common/device/usb/host/usb_ctrl_transfer.c.o objs/apps/common/device/usb/host/usb_host.c.o objs/apps/common/device/usb/host/usb_storage.c.o objs/apps/common/device/usb/usb_config.c.o objs/apps/common/device/usb/usb_host_config.c.o objs/apps/common/ezxml/ezxml.c.o objs/apps/common/ezxml/ezxml_example.c.o objs/apps/common/fat_nor/cfg_private.c.o objs/apps/common/fat_nor/virfat_flash.c.o objs/apps/common/file_operate/file_bs_deal.c.o objs/apps/common/file_operate/file_manager.c.o objs/apps/common/icsd/adt/icsd_adt.c.o objs/apps/common/icsd/adt/icsd_adt_app.c.o objs/apps/common/icsd/anc/icsd_anc_app.c.o objs/apps/common/icsd/anc/icsd_anc_board.c.o objs/apps/common/icsd/anc/icsd_anc_data.c.o objs/apps/common/jl_kws/jl_kws_algo.c.o objs/apps/common/jl_kws/jl_kws_audio.c.o objs/apps/common/jl_kws/jl_kws_event.c.o objs/apps/common/jl_kws/jl_kws_main.c.o objs/apps/common/music/breakpoint.c.o objs/apps/common/music/music_decrypt.c.o objs/apps/common/music/music_id3.c.o objs/apps/common/music/music_player.c.o objs/apps/common/temp_trim/dtemp_pll_trim.c.o objs/apps/common/test/fs_test.c.o objs/apps/common/test/os_test.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_ll_demo/ll_demo.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_ll_demo/ll_task.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_import.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_llsync_data.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_llsync_device.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_llsync_event.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_llsync_ota.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_service.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_template.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_utils_base64.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_utils_crc.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_utils_hmac.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_utils_log.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_utils_md5.c.o objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_utils_sha1.c.o objs/apps/common/third_party_profile/common/3th_profile_api.c.o objs/apps/common/third_party_profile/common/custom_cfg.c.o objs/apps/common/third_party_profile/common/mic_rec.c.o objs/apps/common/third_party_profile/interface/app_protocol_api.c.o objs/apps/common/third_party_profile/interface/app_protocol_common.c.o objs/apps/common/third_party_profile/interface/app_protocol_dma.c.o objs/apps/common/third_party_profile/interface/app_protocol_gfps.c.o objs/apps/common/third_party_profile/interface/app_protocol_gma.c.o objs/apps/common/third_party_profile/interface/app_protocol_mma.c.o objs/apps/common/third_party_profile/interface/app_protocol_ota.c.o objs/apps/common/third_party_profile/interface/app_protocol_tme.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_adaptive_noise_reduction.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_anc_voice.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_anc_voice_key.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_bt_name_setting.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_eq_setting.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_hearing_aid_setting.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_high_low_vol_setting.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_key_setting.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_led_setting.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_mic_setting.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_time_stamp_setting.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_work_setting.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_customer_user.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_opt.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_tws_sync.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/rcsp_adv_spp_user.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_ch_loader_download.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_user_update.c.o objs/apps/common/third_party_profile/jieli/le_hogp.c.o objs/apps/common/third_party_profile/jieli/online_db/online_db_deal.c.o objs/apps/common/third_party_profile/jieli/online_db/spp_online_db.c.o objs/apps/common/third_party_profile/jieli/trans_data_demo/le_trans_data.c.o objs/apps/common/third_party_profile/jieli/trans_data_demo/spp_trans_data.c.o objs/apps/common/third_party_profile/jieli/wireless_mic/le_wireless_mic_client.c.o objs/apps/common/third_party_profile/jieli/wireless_mic/le_wireless_mic_server.c.o objs/apps/common/third_party_profile/tuya_protocol/app/demo/tuya_ble_app_demo.c.o objs/apps/common/third_party_profile/tuya_protocol/app/demo/tuya_ota.c.o objs/apps/common/third_party_profile/tuya_protocol/app/product_test/tuya_ble_app_production_test.c.o objs/apps/common/third_party_profile/tuya_protocol/app/uart_common/tuya_ble_app_uart_common_handler.c.o objs/apps/common/third_party_profile/tuya_protocol/extern_components/mbedtls/aes.c.o objs/apps/common/third_party_profile/tuya_protocol/extern_components/mbedtls/ccm.c.o objs/apps/common/third_party_profile/tuya_protocol/extern_components/mbedtls/hmac.c.o objs/apps/common/third_party_profile/tuya_protocol/extern_components/mbedtls/md5.c.o objs/apps/common/third_party_profile/tuya_protocol/extern_components/mbedtls/sha1.c.o objs/apps/common/third_party_profile/tuya_protocol/extern_components/mbedtls/sha256.c.o objs/apps/common/third_party_profile/tuya_protocol/port/tuya_ble_port.c.o objs/apps/common/third_party_profile/tuya_protocol/port/tuya_ble_port_JL.c.o objs/apps/common/third_party_profile/tuya_protocol/port/tuya_ble_port_peripheral.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_api.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_bulk_data.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_data_handler.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_event.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_event_handler.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_event_handler_weak.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_feature_weather.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_gatt_send_queue.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_heap.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_main.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_mem.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_mutli_tsf_protocol.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_queue.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_storage.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_unix_time.c.o objs/apps/common/third_party_profile/tuya_protocol/sdk/src/tuya_ble_utils.c.o objs/apps/common/ui/lcd_simple/lcd_simple_api.c.o objs/apps/common/ui/lcd_simple/ui.c.o objs/apps/common/ui/lcd_simple/ui_mainmenu.c.o objs/apps/common/update/testbox_update.c.o objs/apps/common/update/update.c.o objs/apps/common/update/update_tws.c.o objs/apps/common/update/update_tws_new.c.o objs/apps/earphone/aec/br28/audio_aec.c.o objs/apps/earphone/aec/br28/audio_aec_demo.c.o objs/apps/earphone/aec/br28/audio_aec_dms.c.o objs/apps/earphone/aec/br28/audio_aec_online.c.o objs/apps/earphone/aec/br28/audio_cvp_3mic.c.o objs/apps/earphone/aec/br28/audio_cvp_ais_3mic.c.o objs/apps/earphone/app_ancbox.c.o objs/apps/earphone/app_anctool.c.o objs/apps/earphone/app_main.c.o objs/apps/earphone/app_protocol_deal.c.o objs/apps/earphone/app_task_switch.c.o objs/apps/earphone/app_testbox.c.o objs/apps/earphone/audio_enc_mpt_cvp_ctr.c.o objs/apps/earphone/audio_enc_mpt_self.c.o objs/apps/earphone/ble_adv.c.o objs/apps/earphone/board/br28/board_jl7016g_hybrid.c.o objs/apps/earphone/board/br28/board_jl7018f_demo.c.o objs/apps/earphone/board/br28/board_jl701n_anc.c.o objs/apps/earphone/board/br28/board_jl701n_btemitter.c.o objs/apps/earphone/board/br28/board_jl701n_demo.c.o objs/apps/earphone/bt_auto_test.c.o objs/apps/earphone/bt_background.c.o objs/apps/earphone/bt_ble.c.o objs/apps/earphone/bt_ble_hid.c.o objs/apps/earphone/bt_emitter.c.o objs/apps/earphone/bt_tws.c.o objs/apps/earphone/default_event_handler.c.o objs/apps/earphone/earphone.c.o objs/apps/earphone/eartch_event_deal.c.o objs/apps/earphone/font/fontinit.c.o objs/apps/earphone/idle.c.o objs/apps/earphone/key_event_deal.c.o objs/apps/earphone/kws_voice_event_deal.c.o objs/apps/earphone/linein/linein.c.o objs/apps/earphone/ll_sync_demo/ll_sync_demo.c.o objs/apps/earphone/log_config/app_config.c.o objs/apps/earphone/log_config/lib_btctrler_config.c.o objs/apps/earphone/log_config/lib_btstack_config.c.o objs/apps/earphone/log_config/lib_driver_config.c.o objs/apps/earphone/log_config/lib_media_config.c.o objs/apps/earphone/log_config/lib_system_config.c.o objs/apps/earphone/log_config/lib_update_config.c.o objs/apps/earphone/music/sd_music.c.o objs/apps/earphone/pbg_demo.c.o objs/apps/earphone/pc/pc.c.o objs/apps/earphone/power_manage/app_charge.c.o objs/apps/earphone/power_manage/app_chargestore.c.o objs/apps/earphone/power_manage/app_power_manage.c.o objs/apps/earphone/power_manage/app_umidigi_chargestore.c.o objs/apps/earphone/rcsp/jl_phone_app.c.o objs/apps/earphone/rcsp/rcsp_adv.c.o objs/apps/earphone/tone_table.c.o objs/apps/earphone/trans_data_demo/trans_data_demo.c.o objs/apps/earphone/tuya/tuya_app.c.o objs/apps/earphone/tuya/tuya_demo.c.o objs/apps/earphone/ui/lcd_simple/my_demo.c.o objs/apps/earphone/ui_manage.c.o objs/apps/earphone/user_cfg.c.o objs/apps/earphone/version.c.o objs/apps/earphone/vol_sync.c.o objs/apps/earphone/wireless_mic/app_main_wireless_mic.c.o objs/apps/earphone/wireless_mic/audio/adapter_adc.c.o objs/apps/earphone/wireless_mic/audio/adapter_media.c.o objs/apps/earphone/wireless_mic/audio/wireless/adapter_wireless_dec.c.o objs/apps/earphone/wireless_mic/audio/wireless/adapter_wireless_enc.c.o objs/apps/earphone/wireless_mic/bt/bt_edr_fun.c.o objs/apps/earphone/wireless_mic/bt/bt_status_event.c.o objs/apps/earphone/wireless_mic/idev/adapter_idev.c.o objs/apps/earphone/wireless_mic/idev/idev_bt/adapter_idev_bt.c.o objs/apps/earphone/wireless_mic/idev/idev_bt/idev_ble/adapter_idev_ble.c.o objs/apps/earphone/wireless_mic/idev/idev_mic/adapter_idev_mic.c.o objs/apps/earphone/wireless_mic/odev/adapter_odev.c.o objs/apps/earphone/wireless_mic/odev/odev_bt/adapter_odev_bt.c.o objs/apps/earphone/wireless_mic/odev/odev_bt/odev_ble/adapter_odev_ble.c.o objs/apps/earphone/wireless_mic/odev/odev_bt/odev_ble/odev_ble_wireless.c.o objs/apps/earphone/wireless_mic/odev/odev_bt/odev_edr/adapter_odev_edr.c.o objs/apps/earphone/wireless_mic/odev/odev_dac/adapter_odev_dac.c.o objs/apps/earphone/wireless_mic/process/adapter_process.c.o objs/cpu/br28/adc_api.c.o objs/cpu/br28/aec_tool.c.o objs/cpu/br28/app_audio.c.o objs/cpu/br28/audio_anc.c.o objs/cpu/br28/audio_anc_fade_ctr.c.o objs/cpu/br28/audio_anc_mult_scene.c.o objs/cpu/br28/audio_capture.c.o objs/cpu/br28/audio_codec_clock.c.o objs/cpu/br28/audio_common/audio_mic_codec.c.o objs/cpu/br28/audio_cvp_dut.c.o objs/cpu/br28/audio_cvp_sync.c.o objs/cpu/br28/audio_dec.c.o objs/cpu/br28/audio_dec/audio_dec_file.c.o objs/cpu/br28/audio_dec/audio_dec_iis.c.o objs/cpu/br28/audio_dec/audio_dec_pc.c.o objs/cpu/br28/audio_dec/audio_dec_pcm.c.o objs/cpu/br28/audio_dec/audio_usb_mic.c.o objs/cpu/br28/audio_dec_eff.c.o objs/cpu/br28/audio_demo/audio_adc_demo.c.o objs/cpu/br28/audio_demo/audio_dac_demo.c.o objs/cpu/br28/audio_demo/audio_fft_demo.c.o objs/cpu/br28/audio_demo/audio_matrix_demo.c.o objs/cpu/br28/audio_demo/audio_wind_detect_demo.c.o objs/cpu/br28/audio_effect_develop.c.o objs/cpu/br28/audio_enc.c.o objs/cpu/br28/audio_general.c.o objs/cpu/br28/audio_hearing/audio_hearing_aid.c.o objs/cpu/br28/audio_hearing/audio_hearing_aid_lp.c.o objs/cpu/br28/audio_hearing/audio_sidetone.c.o objs/cpu/br28/audio_link.c.o objs/cpu/br28/audio_sync.c.o objs/cpu/br28/charge.c.o objs/cpu/br28/chargestore.c.o objs/cpu/br28/clock_manager.c.o objs/cpu/br28/eq_config.c.o objs/cpu/br28/hw_fft.c.o objs/cpu/br28/icsd_anc_user.c.o objs/cpu/br28/iic_hw.c.o objs/cpu/br28/iic_soft.c.o objs/cpu/br28/irflt.c.o objs/cpu/br28/lp_touch_key.c.o objs/cpu/br28/lp_touch_key_alog.c.o objs/cpu/br28/lp_touch_key_tool.c.o objs/cpu/br28/lua_port_api.c.o objs/cpu/br28/mcpwm.c.o objs/cpu/br28/mic_dut_process.c.o objs/cpu/br28/overlay_code.c.o objs/cpu/br28/pdm_link.c.o objs/cpu/br28/plcnt.c.o objs/cpu/br28/power/power_app.c.o objs/cpu/br28/power/power_check.c.o objs/cpu/br28/power/power_port.c.o objs/cpu/br28/power/power_trim.c.o objs/cpu/br28/private_iis.c.o objs/cpu/br28/pwm_led.c.o objs/cpu/br28/rdec.c.o objs/cpu/br28/setup.c.o objs/cpu/br28/smart_voice/aispeech_asr.c.o objs/cpu/br28/smart_voice/jl_kws_platform.c.o objs/cpu/br28/smart_voice/kws_event.c.o objs/cpu/br28/smart_voice/nn_vad.c.o objs/cpu/br28/smart_voice/smart_voice_config.c.o objs/cpu/br28/smart_voice/smart_voice_core.c.o objs/cpu/br28/smart_voice/user_asr.c.o objs/cpu/br28/smart_voice/vad_clock_trim.c.o objs/cpu/br28/smart_voice/vad_mic.c.o objs/cpu/br28/smart_voice/voice_mic_data.c.o objs/cpu/br28/sound_device.c.o objs/cpu/br28/spatial_effect/spatial_effect.c.o objs/cpu/br28/spatial_effect/spatial_effect_imu.c.o objs/cpu/br28/spatial_effect/spatial_effect_test.c.o objs/cpu/br28/spatial_effect/spatial_effect_tws.c.o objs/cpu/br28/spatial_effect/spatial_imu_trim.c.o objs/cpu/br28/spi.c.o objs/cpu/br28/tone_player.c.o objs/cpu/br28/tws_audio.c.o objs/cpu/br28/uart_dev.c.o objs/cpu/br28/umidigi_chargestore.c.o objs/apps/common/colorful_lights/colorful_lights.c.o objs/apps/earphone/remote_control/nvs.c.o objs/apps/earphone/remote_control/RC_app_main.c.o objs/apps/earphone/remote_control/RFID/reader/CPU_CARD.c.o objs/apps/earphone/remote_control/RFID/reader/MIFARE.c.o objs/apps/earphone/remote_control/RFID/reader/NTAG.c.o objs/apps/earphone/remote_control/RFID/reader/READER.c.o objs/apps/earphone/remote_control/RFID/rfid_event.c.o objs/apps/earphone/remote_control/RFID/rfid_hal.c.o objs/apps/earphone/xtell_Sensor/ble_test.c.o objs/apps/earphone/xtell_Sensor/client_handler.c.o objs/apps/earphone/xtell_Sensor/example/example.c.o objs/apps/earphone/xtell_Sensor/xtell_app_main.c.o objs/apps/earphone/xtell_Sensor/xtell_handler.c.o objs/apps/earphone/sdk_version.z.S.o diff --git a/cpu/br28/tools/sdk.elf.resolution.txt b/cpu/br28/tools/sdk.elf.resolution.txt index e886dec..16fa622 100644 --- a/cpu/br28/tools/sdk.elf.resolution.txt +++ b/cpu/br28/tools/sdk.elf.resolution.txt @@ -1216,47 +1216,7 @@ objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_utils_sh -r=objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_utils_sha1.c.o,utils_sha1_finish,pl -r=objs/apps/common/third_party_profile/Tecent_LL/tecent_protocol/ble_qiot_utils_sha1.c.o,utils_sha1,pl objs/apps/common/third_party_profile/common/3th_profile_api.c.o --r=objs/apps/common/third_party_profile/common/3th_profile_api.c.o,mic_set_data_source,pl --r=objs/apps/common/third_party_profile/common/3th_profile_api.c.o,mic_get_data_source,pl --r=objs/apps/common/third_party_profile/common/3th_profile_api.c.o,get_ble_connect_type,pl --r=objs/apps/common/third_party_profile/common/3th_profile_api.c.o,set_ble_connect_type,pl --r=objs/apps/common/third_party_profile/common/3th_profile_api.c.o,get_app_connect_type,pl --r=objs/apps/common/third_party_profile/common/3th_profile_api.c.o,set_app_connect_type,pl objs/apps/common/third_party_profile/common/custom_cfg.c.o --r=objs/apps/common/third_party_profile/common/custom_cfg.c.o,get_cfg_data_connect_by_name,pl --r=objs/apps/common/third_party_profile/common/custom_cfg.c.o,fopen,l --r=objs/apps/common/third_party_profile/common/custom_cfg.c.o,puts,l --r=objs/apps/common/third_party_profile/common/custom_cfg.c.o,fread,l --r=objs/apps/common/third_party_profile/common/custom_cfg.c.o,printf,l --r=objs/apps/common/third_party_profile/common/custom_cfg.c.o,put_buf,l --r=objs/apps/common/third_party_profile/common/custom_cfg.c.o,fseek,l --r=objs/apps/common/third_party_profile/common/custom_cfg.c.o,memcmp,l --r=objs/apps/common/third_party_profile/common/custom_cfg.c.o,strlen,l --r=objs/apps/common/third_party_profile/common/custom_cfg.c.o,ex_cfg_read_flash_by_addr,pl --r=objs/apps/common/third_party_profile/common/custom_cfg.c.o,ex_cfg_get_start_addr,pl --r=objs/apps/common/third_party_profile/common/custom_cfg.c.o,fget_attrs,l --r=objs/apps/common/third_party_profile/common/custom_cfg.c.o,sdfile_cpu_addr2flash_addr,l --r=objs/apps/common/third_party_profile/common/custom_cfg.c.o,ex_cfg_fill_content_api,pl --r=objs/apps/common/third_party_profile/common/custom_cfg.c.o,sfc_erase,l --r=objs/apps/common/third_party_profile/common/custom_cfg.c.o,ex_cfg_fill_content_api_test,pl --r=objs/apps/common/third_party_profile/common/custom_cfg.c.o,ex_cfg_data_load,pl --r=objs/apps/common/third_party_profile/common/custom_cfg.c.o,get_vid_pid_ver_from_cfg_file,pl --r=objs/apps/common/third_party_profile/common/custom_cfg.c.o,get_authkey_procode_from_cfg_file,pl --r=objs/apps/common/third_party_profile/common/custom_cfg.c.o,sfc_read,l --r=objs/apps/common/third_party_profile/common/custom_cfg.c.o,bt_get_local_name,l --r=objs/apps/common/third_party_profile/common/custom_cfg.c.o,bt_get_mac_addr,l --r=objs/apps/common/third_party_profile/common/custom_cfg.c.o,le_controller_get_mac,l --r=objs/apps/common/third_party_profile/common/custom_cfg.c.o,ble_get_scan_rsp_ptr,l --r=objs/apps/common/third_party_profile/common/custom_cfg.c.o,get_rcsp_support_new_reconn_flag,l --r=objs/apps/common/third_party_profile/common/custom_cfg.c.o,malloc,l --r=objs/apps/common/third_party_profile/common/custom_cfg.c.o,ble_get_adv_data_ptr,l --r=objs/apps/common/third_party_profile/common/custom_cfg.c.o,free,l --r=objs/apps/common/third_party_profile/common/custom_cfg.c.o,ble_get_gatt_profile_data,l --r=objs/apps/common/third_party_profile/common/custom_cfg.c.o,get_last_device_connect_linkkey,l --r=objs/apps/common/third_party_profile/common/custom_cfg.c.o,fclose,l --r=objs/apps/common/third_party_profile/common/custom_cfg.c.o,strcmp,l --r=objs/apps/common/third_party_profile/common/custom_cfg.c.o,CRC16,l --r=objs/apps/common/third_party_profile/common/custom_cfg.c.o,sfc_write,l objs/apps/common/third_party_profile/common/mic_rec.c.o objs/apps/common/third_party_profile/interface/app_protocol_api.c.o -r=objs/apps/common/third_party_profile/interface/app_protocol_api.c.o,app_protocol_init,pl @@ -1273,477 +1233,31 @@ objs/apps/common/third_party_profile/interface/app_protocol_tme.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_adaptive_noise_reduction.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_anc_voice.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_anc_voice_key.c.o --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_anc_voice_key.c.o,set_anc_voice_key_mode,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_anc_voice_key.c.o,get_anc_voice_key_mode,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_anc_voice_key.c.o,deal_anc_voice_key_setting,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_anc_voice_key.c.o,update_anc_voice_key_opt,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_anc_voice_key.c.o,syscfg_write,l objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_bt_name_setting.c.o --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_bt_name_setting.c.o,adv_edr_name_change_now,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_bt_name_setting.c.o,lmp_hci_write_local_name,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_bt_name_setting.c.o,bt_get_local_name,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_bt_name_setting.c.o,set_bt_name_setting,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_bt_name_setting.c.o,get_bt_name_setting,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_bt_name_setting.c.o,deal_bt_name_setting,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_bt_name_setting.c.o,syscfg_write,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_bt_name_setting.c.o,bt_cfg,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_bt_name_setting.c.o,_s_info,l objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_eq_setting.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_hearing_aid_setting.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_high_low_vol_setting.c.o --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_high_low_vol_setting.c.o,get_high_low_vol_info,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_high_low_vol_setting.c.o,set_high_low_vol_info,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_high_low_vol_setting.c.o,deal_high_low_vol,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_high_low_vol_setting.c.o,printf,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_high_low_vol_setting.c.o,syscfg_write,l objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_key_setting.c.o --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_key_setting.c.o,set_key_setting,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_key_setting.c.o,get_key_setting,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_key_setting.c.o,deal_key_setting,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_key_setting.c.o,set_key_event_by_rcsp_info,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_key_setting.c.o,syscfg_write,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_key_setting.c.o,update_anc_voice_key_opt,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_key_setting.c.o,_s_info,l objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_led_setting.c.o --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_led_setting.c.o,adv_get_led_status,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_led_setting.c.o,set_led_setting,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_led_setting.c.o,get_led_setting,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_led_setting.c.o,update_led_setting_state,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_led_setting.c.o,get_led_config,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_led_setting.c.o,ui_update_status,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_led_setting.c.o,deal_led_setting,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_led_setting.c.o,syscfg_write,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_led_setting.c.o,_s_info,l objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_mic_setting.c.o --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_mic_setting.c.o,set_mic_setting,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_mic_setting.c.o,get_mic_setting,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_mic_setting.c.o,deal_mic_setting,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_mic_setting.c.o,rcsp_user_mic_fixed_deal,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_mic_setting.c.o,tws_api_get_local_channel,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_mic_setting.c.o,get_bt_tws_connect_status,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_mic_setting.c.o,test_esco_role_switch,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_mic_setting.c.o,tws_api_get_role,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_mic_setting.c.o,tws_api_get_tws_state,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_mic_setting.c.o,syscfg_write,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_mic_setting.c.o,puts,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_mic_setting.c.o,_s_info,l objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o,get_player_time_en,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o,set_player_time_en,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o,reset_player_time_en,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o,music_player_time_timer_deal,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o,music_player_time_deal,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o,get_bt_connect_status,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o,user_send_cmd_prepare,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o,get_music_info,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o,btstack_avrcp_ch_creat_ok,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o,tws_api_get_role,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o,tws_api_sync_call_by_uuid,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o,tws_api_get_tws_state,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o,get_music_title,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o,get_music_title_len,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o,get_music_artist,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o,get_music_artist_len,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o,get_music_album,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o,get_music_album_len,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o,get_music_number,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o,get_music_number_len,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o,get_music_total,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o,get_music_total_len,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o,get_music_genre,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o,get_music_genre_len,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o,get_music_total_time,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o,get_music_curr_time,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o,bt_music_total_time,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o,get_music_player_state,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o,rcsp_update_player_state,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o,JL_rcsp_event_to_user,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o,bt_status_change,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o,stop_get_music_timer,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o,sys_timeout_del,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o,sys_timer_add,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o,sys_timer_del,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o,music_info_cmd_handle,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o,char_to_hex,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o,num_char_to_hex,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o,rcsp_adv_music_info_deal,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o,find_device_key_flag_get,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.c.o,music_info,pl objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_time_stamp_setting.c.o --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_time_stamp_setting.c.o,get_adv_time_stamp,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_time_stamp_setting.c.o,set_adv_time_stamp,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_time_stamp_setting.c.o,sync_setting_by_time_stamp,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_time_stamp_setting.c.o,tws_api_send_data_to_sibling,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_time_stamp_setting.c.o,deal_sibling_time_stamp_setting_switch,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_time_stamp_setting.c.o,JL_rcsp_event_to_user,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_time_stamp_setting.c.o,deal_adv_setting_gain_time_stamp,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_time_stamp_setting.c.o,deal_time_stamp_setting,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_time_stamp_setting.c.o,syscfg_write,l objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_work_setting.c.o --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_work_setting.c.o,set_work_setting,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_work_setting.c.o,get_work_setting,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_work_setting.c.o,deal_work_setting,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_work_setting.c.o,ble_vendor_is_slow_state,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_work_setting.c.o,get_bt_connect_status,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_work_setting.c.o,bt_set_low_latency_mode,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_work_setting.c.o,os_taskq_post_type,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_work_setting.c.o,_s_info,l objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,get_rcsp_support_new_reconn_flag,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,get_rcsp_connect_status,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,JL_get_cur_bt_channel_sel,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,JL_rcsp_event_to_user,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,sys_event_notify,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,JL_bt_phone_state_update,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,JL_rcsp_event_handler,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,update_adv_setting,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,update_info_from_adv_vm_info,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,printf,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,adv_seq_vaule_sync,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,JL_ble_disconnect,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,JL_rcsp_get_auth_flag,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,music_player_time_timer_deal,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,JL_rcsp_set_auth_flag,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,bt_ble_adv_ioctl,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,rcsp_reboot_dev,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,syscfg_write,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,JL_rcsp_msg_deal,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,adv_info_notify,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,JL_CMD_send,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,adv_info_device_request,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,bt_function_cmd_set,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,music_info_cmd_handle,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,wait_reboot_dev,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,user_send_cmd_prepare,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,adv_edr_name_change_now,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,ble_module_enable,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,sys_timer_add,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,find_device_key_flag_get,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,send_find_device_stop,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,find_device_reset,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,sys_timeout_del,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,JL_rcsp_find_device,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,get_curr_channel_state,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,get_curr_device_type,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,set_curr_update_type,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,get_defalut_bt_channel_sel,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,rcsp_dev_select,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,set_jl_update_flag,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,JL_protocol_resume,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,JL_protocol_data_recieve,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,JL_protocol_dev_switch,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,JL_rcsp_auth_init,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,set_rcsp_dev_type_spp,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,JL_rcsp_resume_do,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,os_sem_post,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,rcsp_init,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,bt_get_local_name,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,ble_get_server_operation_table,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,spp_get_operation_table,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,set_jl_mtu_send,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,rcsp_protocol_need_buf_size,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,zalloc,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,cpu_assert_debug,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,JL_protocol_init,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,os_sem_create,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,task_create,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,adv_setting_init,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,rcsp_exit,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,free,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,rcsp_update_data_api_unregister,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,task_kill,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,app_core_data_for_send,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,get_ble_adv_notify,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,get_player_time_en,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,get_connect_flag,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,app_core_data_for_set,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,set_ble_adv_notify,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,set_player_time_en,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,set_connect_flag,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,smart_auth_res_deal,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,tws_api_get_tws_state,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,tws_api_sync_call_by_uuid,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,rcsp_tws_auth_sync_deal,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,smart_auth_res_pass,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,get_call_status,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,add_one_attr,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,get_high_low_vol_info,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,get_music_title,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,get_music_title_len,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,get_music_artist,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,get_music_artist_len,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,get_music_album,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,get_music_album_len,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,get_music_number,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,get_music_number_len,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,get_music_total,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,get_music_total_len,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,get_music_genre,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,get_music_genre_len,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,get_music_total_time,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,get_music_player_state,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,get_music_curr_time,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,p33_soft_reset,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,sys_timeout_add,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,tone_play_stop,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,tone_play,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,audio_dac_ch_mute,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,get_jl_update_flag,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,bt_ble_adv_enable,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,JL_CMD_response_send,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,fopen,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,fread,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,put_buf,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,fclose,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,rcsp_user_recv_cmd_resp,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,JL_rcsp_update_cmd_resp,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,get_rcsp_version,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,bt_get_mac_addr,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,get_bt_connect_status,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,app_htonl,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,get_vid_pid_ver_from_cfg_file,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,get_authkey_procode_from_cfg_file,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,JL_packet_get_rx_max_mtu,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,JL_packet_get_tx_max_mtu,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,lib_make_ble_address,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,deal_high_low_vol,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,deal_bt_name_setting,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,deal_key_setting,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,deal_anc_voice_key_setting,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,deal_led_setting,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,deal_mic_setting,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,deal_work_setting,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,syscfg_read,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,deal_time_stamp_setting,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,bt_adv_get_bat,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,strlen,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,get_anc_voice_key_mode,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,rcsp_user_recv_resp,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,JL_rcsp_update_cmd_receive_resp,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,stop_get_music_timer,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,JL_rcsp_auth_reset,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,JL_set_cur_tick,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,os_sem_pend,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,JL_protocol_process,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,puts,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,jl_ai_var,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,_s_info,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,config_asser,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.c.o,support_dual_bank_update_en,l objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_customer_user.c.o --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_customer_user.c.o,rcsp_user_send_resp_cmd,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_customer_user.c.o,JL_CMD_send,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_customer_user.c.o,rcsp_user_recv_resp,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_customer_user.c.o,rcsp_user_recv_cmd_resp,pl objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_opt.c.o --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_opt.c.o,update_info_from_adv_vm_info,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_opt.c.o,deal_time_stamp_setting,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_opt.c.o,deal_bt_name_setting,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_opt.c.o,deal_key_setting,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_opt.c.o,deal_anc_voice_key_setting,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_opt.c.o,deal_led_setting,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_opt.c.o,deal_mic_setting,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_opt.c.o,deal_work_setting,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_opt.c.o,deal_high_low_vol,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_opt.c.o,adv_setting_init,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_opt.c.o,set_adv_time_stamp,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_opt.c.o,set_bt_name_setting,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_opt.c.o,set_key_setting,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_opt.c.o,set_anc_voice_key_mode,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_opt.c.o,set_led_setting,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_opt.c.o,set_mic_setting,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_opt.c.o,set_work_setting,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_opt.c.o,set_high_low_vol_info,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_opt.c.o,update_adv_setting,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_opt.c.o,get_adv_time_stamp,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_opt.c.o,get_bt_name_setting,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_opt.c.o,get_key_setting,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_opt.c.o,get_anc_voice_key_mode,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_opt.c.o,get_led_setting,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_opt.c.o,get_mic_setting,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_opt.c.o,get_work_setting,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_opt.c.o,get_high_low_vol_info,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_opt.c.o,tws_api_send_data_to_sibling,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_opt.c.o,tws_api_sync_call_by_uuid,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_opt.c.o,tws_api_get_role,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_opt.c.o,deal_sibling_setting,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_opt.c.o,JL_rcsp_event_to_user,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_opt.c.o,syscfg_read,l objs/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_tws_sync.c.o objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,ble_update_get_ready_jump_flag,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,rcsp_adv_fill_mac_addr,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,swapX,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,bt_get_mac_addr,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,ble_get_scan_rsp_ptr,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,ble_get_adv_data_ptr,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,ble_get_gatt_profile_data,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,ble_sm_setup_init,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,sm_init,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,sm_set_io_capabilities,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,sm_set_authentication_requirements,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,sm_set_encryption_key_size_range,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,sm_set_request_security,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,sm_event_callback_set,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,ble_profile_init,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,printf,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,le_device_db_init,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,att_server_init,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,att_server_register_packet_handler,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,hci_event_callback_set,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,le_l2cap_register_packet_handler,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,bt_ble_adv_enable,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,bt_ble_rcsp_adv_enable,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,sys_timer_add,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,bt_ble_rcsp_adv_disable,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,sys_timer_del,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,ble_app_disconnect,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,bt_adv_seq_change,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,adv_seq_vaule_sync,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,syscfg_write,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,syscfg_read,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,get_ble_adv_modify,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,get_ble_adv_notify,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,set_ble_adv_notify,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,get_connect_flag,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,set_connect_flag,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,bt_ble_init_do,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,bt_ble_adv_ioctl,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,ble_module_enable,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,user_ble_gap_device_set,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,strlen,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,strcpy,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,bt_ble_init,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,bt_get_local_name,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,bt_ble_exit,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,ble_get_server_operation_table,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,ble_server_send_test_key_num,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,get_remote_test_flag,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,ble_user_cmd_prepare,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,ble_msg_deal,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,input_key_handler,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,bt_adv_get_bat,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,btstck_app_init_setting,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,jl_app_init_setting,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,adv_tws_both_in_charge_box,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,get_rcsp_connect_status,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,adv_role_switch_handle,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,send_version_to_sibling,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,get_vid_pid_ver_from_cfg_file,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,tws_api_send_data_to_sibling,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,send_data_to_ble_client,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,sm_just_works_confirm,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,printf_buf,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,little_endian_read_16,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,att_get_ccc_config,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,att_set_ccc_config,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,le_user_app_send_event,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,putchar,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,set_app_connect_type,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,JL_rcsp_auth_reset,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,rcsp_dev_select,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,stop_get_music_timer,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,tws_api_get_role,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,JL_get_cur_bt_channel_sel,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,JL_rcsp_get_auth_flag,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,adv_info_notify,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,get_defalut_bt_channel_sel,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,put_buf,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,JL_rcsp_event_to_user,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,sys_timeout_add,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,update_slave_adv_reopen,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,sys_auto_shut_down_disable,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,get_self_battery_level,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,get_charge_online_flag,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,btcon_hash,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,puts,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,bt_adv_handle,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,sibling_ver_info,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.c.o,JL_AES_BASE_BT,pl objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/rcsp_adv_spp_user.c.o --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/rcsp_adv_spp_user.c.o,rcsp_spp_send_data,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/rcsp_adv_spp_user.c.o,rcsp_spp_send_data_check,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/rcsp_adv_spp_user.c.o,rcsp_spp_init,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/rcsp_adv_spp_user.c.o,spp_get_operation_table,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/rcsp_adv_spp_user.c.o,printf_buf,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/rcsp_adv_spp_user.c.o,set_app_connect_type,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/rcsp_adv_spp_user.c.o,putchar,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/rcsp_adv_spp_user.c.o,puts,l objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,get_jl_update_flag,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,printf,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,set_jl_update_flag,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,JL_controller_save_curr_cmd_para,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,JL_controller_get_curr_cmd_para,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,register_receive_fw_update_block_handle,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,JL_rcsp_update_cmd_resp,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,JL_rcsp_event_to_user,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,set_curr_update_type,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,rcsp_update_status_response,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,JL_rcsp_update_cmd_receive_resp,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,rcsp_get_update_flag,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,rcsp_set_update_flag,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,rcsp_update_get_role_switch,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,rcsp_update_set_role_switch,pl -r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,update_slave_adv_reopen,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,ble_module_enable,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,bt_ble_rcsp_adv_enable,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,JL_rcsp_msg_deal,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,tws_api_get_role,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,tws_api_send_data_to_sibling,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,bt_ble_rcsp_adv_disable,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,sys_timeout_add,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,JL_get_cur_bt_channel_sel,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,JL_ble_disconnect,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,puts,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,user_send_cmd_prepare,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,rcsp_update_data_api_register,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,rcsp_update_handle,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,get_curr_device_type,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,rcsp_update_loader_download_init,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,update_mode_api_v2,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,bt_set_low_latency_mode,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,JL_CMD_response_send,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,check_le_pakcet_sent_finish_flag,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,get_curr_channel_state,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,JL_CMD_send,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,update_result_set,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,ex_cfg_fill_content_api,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,update_param_priv_fill,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,p33_soft_reset,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,putchar,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,support_dual_bank_update_en,l +-r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,printf,l +-r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,rcsp_set_update_flag,pl +-r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,rcsp_update_set_role_switch,pl +-r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,get_jl_update_flag,pl +-r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.c.o,rcsp_get_update_flag,pl objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_ch_loader_download.c.o --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_ch_loader_download.c.o,rcsp_f_seek,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_ch_loader_download.c.o,rcsp_f_read,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_ch_loader_download.c.o,get_rcsp_connect_status,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_ch_loader_download.c.o,rcsp_f_open,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_ch_loader_download.c.o,puts,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_ch_loader_download.c.o,rcsp_send_update_len,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_ch_loader_download.c.o,db_update_notify_fail_to_phone,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_ch_loader_download.c.o,user_change_ble_conn_param,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_ch_loader_download.c.o,rcsp_update_handle,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_ch_loader_download.c.o,rcsp_resume,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_ch_loader_download.c.o,rcsp_update_data_api_register,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_ch_loader_download.c.o,rcsp_update_data_api_unregister,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_ch_loader_download.c.o,rcsp_ch_update_init,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_ch_loader_download.c.o,rcsp_update_loader_download_init,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_ch_loader_download.c.o,app_active_update_task_init,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_ch_loader_download.c.o,printf,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_ch_loader_download.c.o,JL_CMD_send,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_ch_loader_download.c.o,set_jl_update_flag,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_ch_loader_download.c.o,update_result_set,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_ch_loader_download.c.o,rcsp_update_op,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_ch_loader_download.c.o,support_dual_bank_update_en,l objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_user_update.c.o --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_user_update.c.o,set_rcsp_db_update_status,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_user_update.c.o,get_rcsp_db_update_status,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_user_update.c.o,rcsp_before_enter_db_update_mode,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_user_update.c.o,get_total_connect_dev,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_user_update.c.o,sys_auto_shut_down_disable,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_user_update.c.o,user_send_cmd_prepare,l --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_user_update.c.o,rcsp_db_update_fail_deal,pl --r=objs/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_user_update.c.o,sys_auto_shut_down_enable,l objs/apps/common/third_party_profile/jieli/le_hogp.c.o objs/apps/common/third_party_profile/jieli/online_db/online_db_deal.c.o objs/apps/common/third_party_profile/jieli/online_db/spp_online_db.c.o @@ -2492,7 +2006,6 @@ objs/apps/common/update/update.c.o -r=objs/apps/common/update/update.c.o,update_result_deal,pl -r=objs/apps/common/update/update.c.o,check_update_param_len,l -r=objs/apps/common/update/update.c.o,cpu_assert_debug,l --r=objs/apps/common/update/update.c.o,syscfg_write,l -r=objs/apps/common/update/update.c.o,wdt_clear,l -r=objs/apps/common/update/update.c.o,app_audio_set_volume,l -r=objs/apps/common/update/update.c.o,get_max_sys_vol,l @@ -2771,15 +2284,12 @@ objs/apps/earphone/earphone.c.o -r=objs/apps/earphone/earphone.c.o,is_1t2_connection,l -r=objs/apps/earphone/earphone.c.o,get_total_connect_dev,l -r=objs/apps/earphone/earphone.c.o,user_send_cmd_prepare,l --r=objs/apps/earphone/earphone.c.o,rcsp_earphone_state_set_page_scan_enable,l -r=objs/apps/earphone/earphone.c.o,bt_send_keypress,pl -r=objs/apps/earphone/earphone.c.o,bt_send_pair,pl -r=objs/apps/earphone/earphone.c.o,bt_init_ok_search_index,pl -r=objs/apps/earphone/earphone.c.o,get_current_poweron_memory_search_index,l -r=objs/apps/earphone/earphone.c.o,clear_current_poweron_memory_search_index,l --r=objs/apps/earphone/earphone.c.o,rcsp_earphone_state_get_connect_mac_addr,l -r=objs/apps/earphone/earphone.c.o,bt_wait_connect_and_phone_connect_switch,pl --r=objs/apps/earphone/earphone.c.o,rcsp_earphone_state_cancel_page_scan,l -r=objs/apps/earphone/earphone.c.o,sys_timeout_add,l -r=objs/apps/earphone/earphone.c.o,bt_close_page_scan,pl -r=objs/apps/earphone/earphone.c.o,sys_timer_del,l @@ -2839,8 +2349,6 @@ objs/apps/earphone/earphone.c.o -r=objs/apps/earphone/earphone.c.o,sys_timeout_del,l -r=objs/apps/earphone/earphone.c.o,bt_sniff_ready_clean,pl -r=objs/apps/earphone/earphone.c.o,bt_check_enter_sniff,pl --r=objs/apps/earphone/earphone.c.o,get_ble_adv_modify,l --r=objs/apps/earphone/earphone.c.o,get_ble_adv_notify,l -r=objs/apps/earphone/earphone.c.o,bt_api_enter_sniff_status_check,l -r=objs/apps/earphone/earphone.c.o,cpu_assert_debug,l -r=objs/apps/earphone/earphone.c.o,sys_auto_sniff_controle,pl @@ -2863,7 +2371,6 @@ objs/apps/earphone/earphone.c.o -r=objs/apps/earphone/earphone.c.o,sys_key_event_disable,l -r=objs/apps/earphone/earphone.c.o,sys_event_clear,l -r=objs/apps/earphone/earphone.c.o,sys_auto_shut_down_disable,pl --r=objs/apps/earphone/earphone.c.o,rcsp_earphone_state_enter_soft_poweroff,l -r=objs/apps/earphone/earphone.c.o,sys_auto_shut_down_enable,pl -r=objs/apps/earphone/earphone.c.o,phone_num_play_timer,pl -r=objs/apps/earphone/earphone.c.o,get_call_status,l @@ -2900,15 +2407,11 @@ objs/apps/earphone/earphone.c.o -r=objs/apps/earphone/earphone.c.o,tone_play_index,l -r=objs/apps/earphone/earphone.c.o,app_earphone_key_event_handler,l -r=objs/apps/earphone/earphone.c.o,app_power_event_handler,l --r=objs/apps/earphone/earphone.c.o,rcsp_sys_event_handler_specific,l -r=objs/apps/earphone/earphone.c.o,get_tone_config,l -r=objs/apps/earphone/earphone.c.o,__set_sbc_cap_bitpool,l -r=objs/apps/earphone/earphone.c.o,ble_bqb_test_thread_init,l -r=objs/apps/earphone/earphone.c.o,bt_ble_init,l -r=objs/apps/earphone/earphone.c.o,is_dac_power_off,l --r=objs/apps/earphone/earphone.c.o,rcsp_update_get_role_switch,l --r=objs/apps/earphone/earphone.c.o,tws_conn_switch_role,l --r=objs/apps/earphone/earphone.c.o,tws_api_auto_role_switch_disable,l -r=objs/apps/earphone/earphone.c.o,tone_get_status,l -r=objs/apps/earphone/earphone.c.o,check_esco_state_via_addr,l -r=objs/apps/earphone/earphone.c.o,get_device_inband_ringtone_flag,l @@ -2967,7 +2470,6 @@ objs/apps/earphone/key_event_deal.c.o -r=objs/apps/earphone/key_event_deal.c.o,app_earphone_key_event_handler,pl -r=objs/apps/earphone/key_event_deal.c.o,jl_kws_voice_event_handle,l -r=objs/apps/earphone/key_event_deal.c.o,bt_sniff_ready_clean,l --r=objs/apps/earphone/key_event_deal.c.o,set_key_event_by_rcsp_info,l -r=objs/apps/earphone/key_event_deal.c.o,get_bt_connect_status,l -r=objs/apps/earphone/key_event_deal.c.o,sys_enter_soft_poweroff,l -r=objs/apps/earphone/key_event_deal.c.o,a2dp_get_status,l @@ -3172,13 +2674,13 @@ objs/apps/earphone/log_config/lib_btctrler_config.c.o -r=objs/apps/earphone/log_config/lib_btctrler_config.c.o,config_bt_temperature_pll_trim,pl -r=objs/apps/earphone/log_config/lib_btctrler_config.c.o,config_bt_security_vulnerability,pl -r=objs/apps/earphone/log_config/lib_btctrler_config.c.o,config_delete_link_key,pl --r=objs/apps/earphone/log_config/lib_btctrler_config.c.o,config_btctler_le_roles,pl -r=objs/apps/earphone/log_config/lib_btctrler_config.c.o,config_btctler_le_features,pl +-r=objs/apps/earphone/log_config/lib_btctrler_config.c.o,config_btctler_le_roles,pl -r=objs/apps/earphone/log_config/lib_btctrler_config.c.o,config_btctler_le_master_multilink,pl -r=objs/apps/earphone/log_config/lib_btctrler_config.c.o,config_btctler_le_hw_nums,pl -r=objs/apps/earphone/log_config/lib_btctrler_config.c.o,config_btctler_le_slave_conn_update_winden,pl --r=objs/apps/earphone/log_config/lib_btctrler_config.c.o,config_btctler_le_afh_en,pl -r=objs/apps/earphone/log_config/lib_btctrler_config.c.o,config_vendor_le_bb,pl +-r=objs/apps/earphone/log_config/lib_btctrler_config.c.o,config_btctler_le_afh_en,pl -r=objs/apps/earphone/log_config/lib_btctrler_config.c.o,config_btctler_le_rx_nums,pl -r=objs/apps/earphone/log_config/lib_btctrler_config.c.o,config_btctler_le_acl_packet_length,pl -r=objs/apps/earphone/log_config/lib_btctrler_config.c.o,config_btctler_le_acl_total_nums,pl @@ -3381,8 +2883,8 @@ objs/apps/earphone/log_config/lib_btstack_config.c.o -r=objs/apps/earphone/log_config/lib_btstack_config.c.o,config_rcsp_stack_enable,pl -r=objs/apps/earphone/log_config/lib_btstack_config.c.o,config_le_hci_connection_num,pl -r=objs/apps/earphone/log_config/lib_btstack_config.c.o,config_le_sm_support_enable,pl --r=objs/apps/earphone/log_config/lib_btstack_config.c.o,config_le_gatt_server_num,pl -r=objs/apps/earphone/log_config/lib_btstack_config.c.o,config_le_gatt_client_num,pl +-r=objs/apps/earphone/log_config/lib_btstack_config.c.o,config_le_gatt_server_num,pl objs/apps/earphone/log_config/lib_driver_config.c.o -r=objs/apps/earphone/log_config/lib_driver_config.c.o,sd0_sd1_use_the_same_hw,pl -r=objs/apps/earphone/log_config/lib_driver_config.c.o,config_spi_code_user_cache,pl @@ -3809,7 +3311,6 @@ objs/apps/earphone/power_manage/app_power_manage.c.o -r=objs/apps/earphone/power_manage/app_power_manage.c.o,sys_timer_add,l -r=objs/apps/earphone/power_manage/app_power_manage.c.o,vbat_timer_delete,pl -r=objs/apps/earphone/power_manage/app_power_manage.c.o,sys_timer_del,l --r=objs/apps/earphone/power_manage/app_power_manage.c.o,adv_tws_both_in_charge_box,l -r=objs/apps/earphone/power_manage/app_power_manage.c.o,sys_enter_soft_poweroff,l -r=objs/apps/earphone/power_manage/app_power_manage.c.o,user_send_cmd_prepare,l -r=objs/apps/earphone/power_manage/app_power_manage.c.o,get_vbat_level,pl @@ -3841,62 +3342,7 @@ objs/apps/earphone/power_manage/app_power_manage.c.o -r=objs/apps/earphone/power_manage/app_power_manage.c.o,VBAT_STATUS,pl objs/apps/earphone/power_manage/app_umidigi_chargestore.c.o objs/apps/earphone/rcsp/jl_phone_app.c.o --r=objs/apps/earphone/rcsp/jl_phone_app.c.o,jl_phone_app_init,pl --r=objs/apps/earphone/rcsp/jl_phone_app.c.o,bt_music_info_handle_register,l --r=objs/apps/earphone/rcsp/jl_phone_app.c.o,rcsp_adv_music_info_deal,l objs/apps/earphone/rcsp/rcsp_adv.c.o --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,rcsp_earphone_state_set_page_scan_enable,pl --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,bt_ble_adv_ioctl,l --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,rcsp_earphone_state_get_connect_mac_addr,pl --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,rcsp_earphone_state_cancel_page_scan,pl --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,rcsp_earphone_state_tws_init,pl --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,tws_api_get_role,l --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,rcsp_earphone_state_tws_connected,pl --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,stop_get_music_timer,l --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,lib_make_ble_address,l --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,le_controller_set_mac,l --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,bt_update_mac_addr,l --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,ble_app_disconnect,l --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,bt_ble_adv_enable,l --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,rcsp_earphone_state_enter_soft_poweroff,pl --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,bt_ble_exit,l --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,rcsp_adv_bt_status_event_handler,pl --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,bt_adv_seq_change,l --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,send_find_device_stop,l --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,JL_bt_phone_state_update,l --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,rcsp_adv_hci_event_handler,pl --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,rcsp_bt_tws_event_handler,pl --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,log_print,l --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,send_version_to_sibling,l --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,sync_setting_by_time_stamp,l --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,get_app_connect_type,l --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,set_ble_connect_type,l --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,deal_adv_setting_gain_time_stamp,l --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,update_led_setting_state,l --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,get_music_info,l --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,rcsp_tws_auth_sync_deal,l --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,rcsp_update_player_state,l --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,reset_player_time_en,l --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,adv_role_switch_handle,l --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,rcsp_sys_event_handler_specific,pl --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,JL_rcsp_event_handler,l --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,user_spp_state_specific,pl --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,set_app_connect_type,l --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,JL_rcsp_auth_reset,l --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,set_rcsp_dev_type_spp,l --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,set_connect_flag,l --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,ble_module_enable,l --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,rcsp_earphone_state_init,pl --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,rcsp_spp_init,l --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,rcsp_init,l --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,spp_data_deal_handle_register,l --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,user_spp_data_handler,l --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,jl_phone_app_init,l --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,puts,l --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,ble_adv_miss_flag,pl --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,ble_adv_poweron_flag,pl --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,app_var,l --r=objs/apps/earphone/rcsp/rcsp_adv.c.o,bt_user_priv_var,l objs/apps/earphone/tone_table.c.o -r=objs/apps/earphone/tone_table.c.o,tone_play_index,pl -r=objs/apps/earphone/tone_table.c.o,printf,l @@ -3920,12 +3366,10 @@ objs/apps/earphone/ui_manage.c.o -r=objs/apps/earphone/ui_manage.c.o,get_ui_status_len,pl -r=objs/apps/earphone/ui_manage.c.o,cbuf_get_data_size,l -r=objs/apps/earphone/ui_manage.c.o,get_ui_busy_status,pl --r=objs/apps/earphone/ui_manage.c.o,adv_get_led_status,pl -r=objs/apps/earphone/ui_manage.c.o,ui_manage_scan,pl -r=objs/apps/earphone/ui_manage.c.o,get_led_config,l -r=objs/apps/earphone/ui_manage.c.o,log_print,l -r=objs/apps/earphone/ui_manage.c.o,usr_timeout_add,l --r=objs/apps/earphone/ui_manage.c.o,tws_api_get_role,l -r=objs/apps/earphone/ui_manage.c.o,pwm_led_mode_set,l -r=objs/apps/earphone/ui_manage.c.o,ui_manage_init,pl -r=objs/apps/earphone/ui_manage.c.o,cbuf_init,l @@ -3969,7 +3413,6 @@ objs/apps/earphone/user_cfg.c.o -r=objs/apps/earphone/user_cfg.c.o,lp_winsize,pl -r=objs/apps/earphone/user_cfg.c.o,__VERSION_BEGIN, -r=objs/apps/earphone/user_cfg.c.o,log_tag_const_i_USER_CFG,l --r=objs/apps/earphone/user_cfg.c.o,xt_ble_new_name,l -r=objs/apps/earphone/user_cfg.c.o,log_tag_const_d_USER_CFG,l -r=objs/apps/earphone/user_cfg.c.o,app_var,l -r=objs/apps/earphone/user_cfg.c.o,status_config,l @@ -5735,7 +5178,9 @@ objs/apps/earphone/remote_control/RC_app_main.c.o -r=objs/apps/earphone/remote_control/RC_app_main.c.o,TYPE_V_EVENT,l -r=objs/apps/earphone/remote_control/RC_app_main.c.o,printf,l -r=objs/apps/earphone/remote_control/RC_app_main.c.o,ble_hid_is_connected, +-r=objs/apps/earphone/remote_control/RC_app_main.c.o,EARPHONE_STATE_CANCEL_PAGE_SCAN, -r=objs/apps/earphone/remote_control/RC_app_main.c.o,nvs_write_main_board_mac,l +-r=objs/apps/earphone/remote_control/RC_app_main.c.o,EARPHONE_STATE_SET_PAGE_SCAN_ENABLE, -r=objs/apps/earphone/remote_control/RC_app_main.c.o,ble_hid_data_send, -r=objs/apps/earphone/remote_control/RC_app_main.c.o,rc_ble_callback_handler,pl -r=objs/apps/earphone/remote_control/RC_app_main.c.o,nvs_read_main_board_mac,l @@ -5876,24 +5321,40 @@ objs/apps/earphone/remote_control/RFID/rfid_hal.c.o -r=objs/apps/earphone/remote_control/RFID/rfid_hal.c.o,rfid_delay_ms,pl -r=objs/apps/earphone/remote_control/RFID/rfid_hal.c.o,os_time_dly,l objs/apps/earphone/xtell_Sensor/ble_test.c.o --r=objs/apps/earphone/xtell_Sensor/ble_test.c.o,user_client_report_search_result,pl --r=objs/apps/earphone/xtell_Sensor/ble_test.c.o,log_print,l --r=objs/apps/earphone/xtell_Sensor/ble_test.c.o,ble_user_cmd_prepare,l --r=objs/apps/earphone/xtell_Sensor/ble_test.c.o,user_client_report_data_callback,pl --r=objs/apps/earphone/xtell_Sensor/ble_test.c.o,printf_buf,l --r=objs/apps/earphone/xtell_Sensor/ble_test.c.o,xtell_ble_central_test_send_data,pl --r=objs/apps/earphone/xtell_Sensor/ble_test.c.o,xtell_ble_central_test_start,pl --r=objs/apps/earphone/xtell_Sensor/ble_test.c.o,ble_module_enable,l --r=objs/apps/earphone/xtell_Sensor/ble_test.c.o,gatt_client_init,l --r=objs/apps/earphone/xtell_Sensor/ble_test.c.o,gatt_client_register_packet_handler,l --r=objs/apps/earphone/xtell_Sensor/ble_test.c.o,hci_event_callback_set,l --r=objs/apps/earphone/xtell_Sensor/ble_test.c.o,le_l2cap_register_packet_handler,l --r=objs/apps/earphone/xtell_Sensor/ble_test.c.o,ble_vendor_set_default_att_mtu,l --r=objs/apps/earphone/xtell_Sensor/ble_test.c.o,little_endian_read_16,l --r=objs/apps/earphone/xtell_Sensor/ble_test.c.o,user_client_init,l --r=objs/apps/earphone/xtell_Sensor/ble_test.c.o,memcmp,l --r=objs/apps/earphone/xtell_Sensor/ble_test.c.o,log_tag_const_i_EARPHONE,l --r=objs/apps/earphone/xtell_Sensor/ble_test.c.o,log_tag_const_e_EARPHONE,l +objs/apps/earphone/xtell_Sensor/client_handler.c.o +-r=objs/apps/earphone/xtell_Sensor/client_handler.c.o,clear_bonding_info,pl +-r=objs/apps/earphone/xtell_Sensor/client_handler.c.o,printf,l +-r=objs/apps/earphone/xtell_Sensor/client_handler.c.o,l2cap_connection_update_request_just,pl +-r=objs/apps/earphone/xtell_Sensor/client_handler.c.o,little_endian_read_16,l +-r=objs/apps/earphone/xtell_Sensor/client_handler.c.o,user_client_report_search_result,pl +-r=objs/apps/earphone/xtell_Sensor/client_handler.c.o,put_buf,l +-r=objs/apps/earphone/xtell_Sensor/client_handler.c.o,user_client_report_data_callback,pl +-r=objs/apps/earphone/xtell_Sensor/client_handler.c.o,ble_get_client_operation_table,pl +-r=objs/apps/earphone/xtell_Sensor/client_handler.c.o,ble_profile_init,pl +-r=objs/apps/earphone/xtell_Sensor/client_handler.c.o,le_device_db_init,l +-r=objs/apps/earphone/xtell_Sensor/client_handler.c.o,ble_stack_gatt_role,l +-r=objs/apps/earphone/xtell_Sensor/client_handler.c.o,gatt_client_init,l +-r=objs/apps/earphone/xtell_Sensor/client_handler.c.o,gatt_client_register_packet_handler,l +-r=objs/apps/earphone/xtell_Sensor/client_handler.c.o,hci_event_callback_set,l +-r=objs/apps/earphone/xtell_Sensor/client_handler.c.o,le_l2cap_register_packet_handler,l +-r=objs/apps/earphone/xtell_Sensor/client_handler.c.o,ble_vendor_set_default_att_mtu,l +-r=objs/apps/earphone/xtell_Sensor/client_handler.c.o,bt_ble_init,pl +-r=objs/apps/earphone/xtell_Sensor/client_handler.c.o,ble_module_enable,pl +-r=objs/apps/earphone/xtell_Sensor/client_handler.c.o,bt_ble_exit,pl +-r=objs/apps/earphone/xtell_Sensor/client_handler.c.o,ble_app_disconnect,pl +-r=objs/apps/earphone/xtell_Sensor/client_handler.c.o,client_send_conn_param_update,pl +-r=objs/apps/earphone/xtell_Sensor/client_handler.c.o,ble_user_cmd_prepare,l +-r=objs/apps/earphone/xtell_Sensor/client_handler.c.o,bt_ble_adv_enable,pl +-r=objs/apps/earphone/xtell_Sensor/client_handler.c.o,syscfg_read,l +-r=objs/apps/earphone/xtell_Sensor/client_handler.c.o,syscfg_write,l +-r=objs/apps/earphone/xtell_Sensor/client_handler.c.o,memcmp,l +-r=objs/apps/earphone/xtell_Sensor/client_handler.c.o,usr_timer_add,l +-r=objs/apps/earphone/xtell_Sensor/client_handler.c.o,sys_timeout_del,l +-r=objs/apps/earphone/xtell_Sensor/client_handler.c.o,user_client_init,l +-r=objs/apps/earphone/xtell_Sensor/client_handler.c.o,user_client_set_search_complete,l +-r=objs/apps/earphone/xtell_Sensor/client_handler.c.o,sys_timer_add,l +-r=objs/apps/earphone/xtell_Sensor/client_handler.c.o,ble_vendor_get_peer_rssi,l +-r=objs/apps/earphone/xtell_Sensor/client_handler.c.o,client_user_target,pl objs/apps/earphone/xtell_Sensor/example/example.c.o objs/apps/earphone/xtell_Sensor/xtell_app_main.c.o -r=objs/apps/earphone/xtell_Sensor/xtell_app_main.c.o,create_process,pl @@ -5901,10 +5362,6 @@ objs/apps/earphone/xtell_Sensor/xtell_app_main.c.o -r=objs/apps/earphone/xtell_Sensor/xtell_app_main.c.o,sys_timer_add,l -r=objs/apps/earphone/xtell_Sensor/xtell_app_main.c.o,close_process,pl -r=objs/apps/earphone/xtell_Sensor/xtell_app_main.c.o,sys_timer_del,l --r=objs/apps/earphone/xtell_Sensor/xtell_app_main.c.o,close_BL,pl --r=objs/apps/earphone/xtell_Sensor/xtell_app_main.c.o,user_send_cmd_prepare,l --r=objs/apps/earphone/xtell_Sensor/xtell_app_main.c.o,delay_2ms,l --r=objs/apps/earphone/xtell_Sensor/xtell_app_main.c.o,xtell_set_ble_name,pl -r=objs/apps/earphone/xtell_Sensor/xtell_app_main.c.o,xtell_app_main,pl -r=objs/apps/earphone/xtell_Sensor/xtell_app_main.c.o,log_print,l -r=objs/apps/earphone/xtell_Sensor/xtell_app_main.c.o,timer_get_ms,l @@ -5914,9 +5371,7 @@ objs/apps/earphone/xtell_Sensor/xtell_app_main.c.o -r=objs/apps/earphone/xtell_Sensor/xtell_app_main.c.o,vbat_check_init,l -r=objs/apps/earphone/xtell_Sensor/xtell_app_main.c.o,start_app,l -r=objs/apps/earphone/xtell_Sensor/xtell_app_main.c.o,check_power_on_voltage,l --r=objs/apps/earphone/xtell_Sensor/xtell_app_main.c.o,rcsp_adv_fill_mac_addr,l -r=objs/apps/earphone/xtell_Sensor/xtell_app_main.c.o,cpu_reset_by_soft,l --r=objs/apps/earphone/xtell_Sensor/xtell_app_main.c.o,close_BL_number,pl -r=objs/apps/earphone/xtell_Sensor/xtell_app_main.c.o,app_var,l -r=objs/apps/earphone/xtell_Sensor/xtell_app_main.c.o,config_update_mode,l objs/apps/earphone/xtell_Sensor/xtell_handler.c.o @@ -5934,7 +5389,6 @@ objs/apps/earphone/xtell_Sensor/xtell_handler.c.o -r=objs/apps/earphone/xtell_Sensor/xtell_handler.c.o,bt_pll_para,l -r=objs/apps/earphone/xtell_Sensor/xtell_handler.c.o,bt_function_select_init,l -r=objs/apps/earphone/xtell_Sensor/xtell_handler.c.o,bredr_handle_register,l --r=objs/apps/earphone/xtell_Sensor/xtell_handler.c.o,rcsp_earphone_state_init,l -r=objs/apps/earphone/xtell_Sensor/xtell_handler.c.o,btstack_init,l -r=objs/apps/earphone/xtell_Sensor/xtell_handler.c.o,sys_auto_shut_down_enable,l -r=objs/apps/earphone/xtell_Sensor/xtell_handler.c.o,bt_sniff_feature_init,l @@ -5944,20 +5398,16 @@ objs/apps/earphone/xtell_Sensor/xtell_handler.c.o -r=objs/apps/earphone/xtell_Sensor/xtell_handler.c.o,bt_app_exit,l -r=objs/apps/earphone/xtell_Sensor/xtell_handler.c.o,bt_hci_event_handler,l -r=objs/apps/earphone/xtell_Sensor/xtell_handler.c.o,app_power_event_handler,l --r=objs/apps/earphone/xtell_Sensor/xtell_handler.c.o,rcsp_sys_event_handler_specific,l -r=objs/apps/earphone/xtell_Sensor/xtell_handler.c.o,default_event_handler,l -r=objs/apps/earphone/xtell_Sensor/xtell_handler.c.o,get_tone_config,l -r=objs/apps/earphone/xtell_Sensor/xtell_handler.c.o,__set_sbc_cap_bitpool,l -r=objs/apps/earphone/xtell_Sensor/xtell_handler.c.o,ble_bqb_test_thread_init,l --r=objs/apps/earphone/xtell_Sensor/xtell_handler.c.o,bt_ble_init,l --r=objs/apps/earphone/xtell_Sensor/xtell_handler.c.o,xtell_ble_central_test_start,l -r=objs/apps/earphone/xtell_Sensor/xtell_handler.c.o,bt_init_ok_search_index,l -r=objs/apps/earphone/xtell_Sensor/xtell_handler.c.o,is_dac_power_off,l -r=objs/apps/earphone/xtell_Sensor/xtell_handler.c.o,bt_wait_connect_and_phone_connect_switch,l -r=objs/apps/earphone/xtell_Sensor/xtell_handler.c.o,sys_timeout_add,l -r=objs/apps/earphone/xtell_Sensor/xtell_handler.c.o,clear_current_poweron_memory_search_index,l -r=objs/apps/earphone/xtell_Sensor/xtell_handler.c.o,strcmp,l --r=objs/apps/earphone/xtell_Sensor/xtell_handler.c.o,send_data_to_ble_client,l -r=objs/apps/earphone/xtell_Sensor/xtell_handler.c.o,earphone_change_pwr_mode,l -r=objs/apps/earphone/xtell_Sensor/xtell_handler.c.o,ui_update_status,l -r=objs/apps/earphone/xtell_Sensor/xtell_handler.c.o,tone_get_status,l @@ -9173,7 +8623,7 @@ cpu/br28/liba/btstack.a.llvm.343146.l2cap.c -r=cpu/br28/liba/btstack.a.llvm.343146.l2cap.c,l2cap_signaling_handler_channel,pl -r=cpu/br28/liba/btstack.a.llvm.343146.l2cap.c,l2cap_signaling_handler_dispatch,pl -r=cpu/br28/liba/btstack.a.llvm.343146.l2cap.c,clear_sniff_cnt,l --r=cpu/br28/liba/btstack.a.llvm.343146.l2cap.c,l2cap_connection_update_request_just,pl +-r=cpu/br28/liba/btstack.a.llvm.343146.l2cap.c,l2cap_connection_update_request_just,l -r=cpu/br28/liba/btstack.a.llvm.343146.l2cap.c,l2cap_acl_handler,pl -r=cpu/br28/liba/btstack.a.llvm.343146.l2cap.c,l2cap_packet_handler,pl -r=cpu/br28/liba/btstack.a.llvm.343146.l2cap.c,gap_request_connection_parameter_update,pl @@ -9747,7 +9197,7 @@ cpu/br28/liba/btstack.a.llvm.970106.avrcp.c -r=cpu/br28/liba/btstack.a.llvm.970106.avrcp.c,emitter_rx_vol_change,pl -r=cpu/br28/liba/btstack.a.llvm.970106.avrcp.c,user_avrcp_status_callback,pl -r=cpu/br28/liba/btstack.a.llvm.970106.avrcp.c,avrcp_element_attr_rsp_ext_process,pl --r=cpu/br28/liba/btstack.a.llvm.970106.avrcp.c,bt_music_total_time,l +-r=cpu/br28/liba/btstack.a.llvm.970106.avrcp.c,bt_music_total_time,pl -r=cpu/br28/liba/btstack.a.llvm.970106.avrcp.c,avrcp_get_play_status,pl -r=cpu/br28/liba/btstack.a.llvm.970106.avrcp.c,avrcp_get_element_attributes,pl -r=cpu/br28/liba/btstack.a.llvm.970106.avrcp.c,get_arp_deal_respone_handlers,pl @@ -10081,7 +9531,7 @@ cpu/br28/liba/btstack.a.llvm.1990610.avctp_user.c -r=cpu/br28/liba/btstack.a.llvm.1990610.avctp_user.c,get_bt_current_conn,pl -r=cpu/br28/liba/btstack.a.llvm.1990610.avctp_user.c,is_bt_conn_hfp_hangup,pl -r=cpu/br28/liba/btstack.a.llvm.1990610.avctp_user.c,memcmp,l --r=cpu/br28/liba/btstack.a.llvm.1990610.avctp_user.c,btstack_avrcp_ch_creat_ok,l +-r=cpu/br28/liba/btstack.a.llvm.1990610.avctp_user.c,btstack_avrcp_ch_creat_ok,pl -r=cpu/br28/liba/btstack.a.llvm.1990610.avctp_user.c,updata_profile_channels_status,pl -r=cpu/br28/liba/btstack.a.llvm.1990610.avctp_user.c,printf,l -r=cpu/br28/liba/btstack.a.llvm.1990610.avctp_user.c,tws_host_timeout_set,pl @@ -10102,7 +9552,7 @@ cpu/br28/liba/btstack.a.llvm.1990610.avctp_user.c -r=cpu/br28/liba/btstack.a.llvm.1990610.avctp_user.c,find_not_hangup_conn,pl -r=cpu/br28/liba/btstack.a.llvm.1990610.avctp_user.c,check_work_addr,pl -r=cpu/br28/liba/btstack.a.llvm.1990610.avctp_user.c,check_a2dp_play_status,l --r=cpu/br28/liba/btstack.a.llvm.1990610.avctp_user.c,bt_status_change,l +-r=cpu/br28/liba/btstack.a.llvm.1990610.avctp_user.c,bt_status_change,pl -r=cpu/br28/liba/btstack.a.llvm.1990610.avctp_user.c,put_buf,l -r=cpu/br28/liba/btstack.a.llvm.1990610.avctp_user.c,get_emitter_connect_status,pl -r=cpu/br28/liba/btstack.a.llvm.1990610.avctp_user.c,get_bt_connect_status,pl @@ -10424,7 +9874,7 @@ cpu/br28/liba/btstack.a.llvm.2336214.btstack_main.c -r=cpu/br28/liba/btstack.a.llvm.2336214.btstack_main.c,att_clear_prepare_send_data,l -r=cpu/br28/liba/btstack.a.llvm.2336214.btstack_main.c,cbuf_write,l -r=cpu/br28/liba/btstack.a.llvm.2336214.btstack_main.c,ble_profile_init,l --r=cpu/br28/liba/btstack.a.llvm.2336214.btstack_main.c,btstck_app_init_setting,l +-r=cpu/br28/liba/btstack.a.llvm.2336214.btstack_main.c,btstck_app_init_setting,pl -r=cpu/br28/liba/btstack.a.llvm.2336214.btstack_main.c,jl_app_init_setting,pl -r=cpu/br28/liba/btstack.a.llvm.2336214.btstack_main.c,btstack_bredr_le_init,pl -r=cpu/br28/liba/btstack.a.llvm.2336214.btstack_main.c,sdfile_get_disk_capacity,l @@ -10559,7 +10009,7 @@ cpu/br28/liba/btstack.a.llvm.2336214.btstack_main.c cpu/br28/liba/btstack.a.llvm.2448618.spp_user.c -r=cpu/br28/liba/btstack.a.llvm.2448618.spp_user.c,user_spp_send_ok_callback,pl -r=cpu/br28/liba/btstack.a.llvm.2448618.spp_user.c,putchar,l --r=cpu/br28/liba/btstack.a.llvm.2448618.spp_user.c,user_spp_state_specific,l +-r=cpu/br28/liba/btstack.a.llvm.2448618.spp_user.c,user_spp_state_specific,pl -r=cpu/br28/liba/btstack.a.llvm.2448618.spp_user.c,check_current_type_tool,pl -r=cpu/br28/liba/btstack.a.llvm.2448618.spp_user.c,user_spp_data_handler,pl -r=cpu/br28/liba/btstack.a.llvm.2448618.spp_user.c,printf,l @@ -11259,7 +10709,7 @@ cpu/br28/liba/btstack.a.llvm.2480138.ble_config.c -r=cpu/br28/liba/btstack.a.llvm.2480138.ble_config.c,bt_3th_ble_data_send,pl -r=cpu/br28/liba/btstack.a.llvm.2480138.ble_config.c,bt_3th_ble_status_callback,pl -r=cpu/br28/liba/btstack.a.llvm.2480138.ble_config.c,bt_3th_event_send_to_user,l --r=cpu/br28/liba/btstack.a.llvm.2480138.ble_config.c,ble_get_server_operation_table,l +-r=cpu/br28/liba/btstack.a.llvm.2480138.ble_config.c,ble_get_server_operation_table,pl -r=cpu/br28/liba/btstack.a.llvm.2480138.ble_config.c,bt_3th_ble_get_operation_table,pl -r=cpu/br28/liba/btstack.a.llvm.2480138.ble_config.c,bt_3th_ble_callback_set,pl -r=cpu/br28/liba/btstack.a.llvm.2480138.ble_config.c,bt_3th_get_jl_ble_status,pl @@ -11298,13 +10748,27 @@ cpu/br28/liba/btstack.a.llvm.2591122.att_db.c -r=cpu/br28/liba/btstack.a.llvm.2591122.att_db.c,app_info_debug_enable,l -r=cpu/br28/liba/btstack.a.llvm.2591122.att_db.c,le_audio_debug_enable,l -r=cpu/br28/liba/btstack.a.llvm.2591122.att_db.c,att_global_info,l +cpu/br28/liba/rcsp_stack.a.llvm.84282.rcsp_btstack_protocol.c +-r=cpu/br28/liba/rcsp_stack.a.llvm.84282.rcsp_btstack_protocol.c,lib_rcsp_dev_select,pl +-r=cpu/br28/liba/rcsp_stack.a.llvm.84282.rcsp_btstack_protocol.c,bt_3th_event_send_to_user,l +-r=cpu/br28/liba/rcsp_stack.a.llvm.84282.rcsp_btstack_protocol.c,JL_protocol_dev_switch,l +-r=cpu/br28/liba/rcsp_stack.a.llvm.84282.rcsp_btstack_protocol.c,bt_3th_get_ble_callback,l +-r=cpu/br28/liba/rcsp_stack.a.llvm.84282.rcsp_btstack_protocol.c,JL_rcsp_auth_init,l +-r=cpu/br28/liba/rcsp_stack.a.llvm.84282.rcsp_btstack_protocol.c,bt_3th_ble_data_send,l +-r=cpu/br28/liba/rcsp_stack.a.llvm.84282.rcsp_btstack_protocol.c,bt_3th_get_spp_callback,l +-r=cpu/br28/liba/rcsp_stack.a.llvm.84282.rcsp_btstack_protocol.c,bt_3th_spp_data_send,l +-r=cpu/br28/liba/rcsp_stack.a.llvm.84282.rcsp_btstack_protocol.c,bt_rcsp_3th_pro_lib_init,pl +-r=cpu/br28/liba/rcsp_stack.a.llvm.84282.rcsp_btstack_protocol.c,btstack_3th_protocol_lib_init,l +-r=cpu/br28/liba/rcsp_stack.a.llvm.84282.rcsp_btstack_protocol.c,JL_protocol_resume,l +-r=cpu/br28/liba/rcsp_stack.a.llvm.84282.rcsp_btstack_protocol.c,JL_protocol_data_recieve,l +-r=cpu/br28/liba/rcsp_stack.a.llvm.84282.rcsp_btstack_protocol.c,rcsp_link_key_data,pl cpu/br28/liba/rcsp_stack.a.llvm.1882.JL_rcsp_api.c -r=cpu/br28/liba/rcsp_stack.a.llvm.1882.JL_rcsp_api.c,app_htons,pl -r=cpu/br28/liba/rcsp_stack.a.llvm.1882.JL_rcsp_api.c,app_ntohs,pl -r=cpu/br28/liba/rcsp_stack.a.llvm.1882.JL_rcsp_api.c,app_htonl,pl -r=cpu/br28/liba/rcsp_stack.a.llvm.1882.JL_rcsp_api.c,app_ntohl,pl -r=cpu/br28/liba/rcsp_stack.a.llvm.1882.JL_rcsp_api.c,get_rcsp_version,pl --r=cpu/br28/liba/rcsp_stack.a.llvm.1882.JL_rcsp_api.c,smart_auth_res_deal,l +-r=cpu/br28/liba/rcsp_stack.a.llvm.1882.JL_rcsp_api.c,smart_auth_res_deal,pl -r=cpu/br28/liba/rcsp_stack.a.llvm.1882.JL_rcsp_api.c,smart_auth_res_pass,pl -r=cpu/br28/liba/rcsp_stack.a.llvm.1882.JL_rcsp_api.c,JL_rcsp_auth_recieve,pl -r=cpu/br28/liba/rcsp_stack.a.llvm.1882.JL_rcsp_api.c,puts,l @@ -11319,6 +10783,60 @@ cpu/br28/liba/rcsp_stack.a.llvm.1882.JL_rcsp_api.c -r=cpu/br28/liba/rcsp_stack.a.llvm.1882.JL_rcsp_api.c,app_info_debug_enable,l -r=cpu/br28/liba/rcsp_stack.a.llvm.1882.JL_rcsp_api.c,le_audio_debug_enable,l -r=cpu/br28/liba/rcsp_stack.a.llvm.1882.JL_rcsp_api.c,pass,pl +cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,rcsp_fw_ready,pl +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,rcsp_protocol_need_buf_size,pl +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,rcsp_packet_need_buf_size,l +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,rcsp_protocol_buf_init,pl +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,printf,l +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,cpu_assert_debug,l +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,rcsp_packet_buf_init,l +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,set_auth_pass,pl +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,JL_set_cur_tick,pl +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,JL_CMD_send,pl +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,local_irq_disable,l +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,local_irq_enable,l +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,JL_CMD_response_send,pl +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,JL_DATA_send,pl +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,JL_DATA_response_send,pl +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,JL_send_packet_process,pl +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,os_mutex_pend,l +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,lbuf_free,l +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,os_mutex_post,l +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,rcsp_send_list_is_empty,pl +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,JL_recieve_packet_parse_process,pl +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,zalloc,l +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,JL_packet_find,l +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,free,l +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,JL_protocol_process,pl +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,JL_protocol_data_recieve,pl +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,JL_rcsp_get_auth_flag,l +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,JL_rcsp_auth_recieve,l +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,JL_packet_recieve,l +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,JL_protocol_resume,pl +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,JL_rcsp_resume_do,pl +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,JL_protocol_exit,pl +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,JL_protocol_dev_switch,pl +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,JL_packet_clear,l +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,lbuf_clear,l +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,JL_protocol_init,pl +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,JL_packet_init,l +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,os_sem_create,l +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,os_mutex_create,l +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,lbuf_init,l +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,p33_soft_reset,l +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,lbuf_alloc,l +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,JL_packet_packing,l +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,puts,l +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,app_info_debug_enable,l +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,le_audio_debug_enable,l +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,jl_cmd_pool_size,l +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,jl_rcsp_pool_size,l +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,config_asser,l +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,jl_mtu_resv,l +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,jl_mtu_send,l +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,jiffies,l +-r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,jiffies_unit,l cpu/br28/liba/rcsp_stack.a.llvm.16570.JL_rcsp_packet.c -r=cpu/br28/liba/rcsp_stack.a.llvm.16570.JL_rcsp_packet.c,set_jl_rcsp_recieve_buf_size,pl -r=cpu/br28/liba/rcsp_stack.a.llvm.16570.JL_rcsp_packet.c,rcsp_packet_write_alloc_len,pl @@ -11357,81 +10875,6 @@ cpu/br28/liba/rcsp_stack.a.llvm.16570.JL_rcsp_packet.c -r=cpu/br28/liba/rcsp_stack.a.llvm.16570.JL_rcsp_packet.c,jl_rcsp_pool_size,pl -r=cpu/br28/liba/rcsp_stack.a.llvm.16570.JL_rcsp_packet.c,jl_wait_rcsp_pool_size,pl -r=cpu/br28/liba/rcsp_stack.a.llvm.16570.JL_rcsp_packet.c,JL_packet_c,pl -cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,rcsp_fw_ready,pl --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,rcsp_protocol_need_buf_size,pl --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,rcsp_packet_need_buf_size,l --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,rcsp_protocol_buf_init,pl --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,printf,l --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,cpu_assert_debug,l --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,rcsp_packet_buf_init,l --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,set_auth_pass,pl --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,JL_set_cur_tick,pl --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,JL_CMD_send,pl --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,local_irq_disable,l --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,local_irq_enable,l --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,JL_CMD_response_send,pl --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,JL_DATA_send,pl --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,JL_DATA_response_send,pl --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,JL_send_packet_process,pl --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,os_mutex_pend,l --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,lbuf_free,l --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,os_mutex_post,l --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,rcsp_send_list_is_empty,pl --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,JL_recieve_packet_parse_process,pl --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,zalloc,l --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,JL_packet_find,l --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,free,l --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,JL_protocol_process,pl --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,JL_protocol_data_recieve,pl --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,JL_rcsp_get_auth_flag,l --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,JL_rcsp_auth_recieve,l --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,JL_packet_recieve,l --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,JL_protocol_resume,pl --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,JL_rcsp_resume_do,l --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,JL_protocol_exit,pl --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,JL_protocol_dev_switch,pl --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,JL_packet_clear,l --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,lbuf_clear,l --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,JL_protocol_init,pl --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,JL_packet_init,l --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,os_sem_create,l --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,os_mutex_create,l --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,lbuf_init,l --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,p33_soft_reset,l --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,lbuf_alloc,l --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,JL_packet_packing,l --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,puts,l --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,app_info_debug_enable,l --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,le_audio_debug_enable,l --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,jl_cmd_pool_size,l --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,jl_rcsp_pool_size,l --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,config_asser,l --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,jl_mtu_resv,l --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,jl_mtu_send,l --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,jiffies,l --r=cpu/br28/liba/rcsp_stack.a.llvm.36722.JL_rcsp_protocol.c,jiffies_unit,l -cpu/br28/liba/rcsp_stack.a.llvm.75286.attr.c --r=cpu/br28/liba/rcsp_stack.a.llvm.75286.attr.c,add_one_attr_huge,pl --r=cpu/br28/liba/rcsp_stack.a.llvm.75286.attr.c,add_one_attr,pl --r=cpu/br28/liba/rcsp_stack.a.llvm.75286.attr.c,add_one_attr_ex,pl --r=cpu/br28/liba/rcsp_stack.a.llvm.75286.attr.c,add_one_attr_continue,pl --r=cpu/br28/liba/rcsp_stack.a.llvm.75286.attr.c,attr_get,pl --r=cpu/br28/liba/rcsp_stack.a.llvm.75286.attr.c,attr_set,pl -cpu/br28/liba/rcsp_stack.a.llvm.84282.rcsp_btstack_protocol.c --r=cpu/br28/liba/rcsp_stack.a.llvm.84282.rcsp_btstack_protocol.c,lib_rcsp_dev_select,pl --r=cpu/br28/liba/rcsp_stack.a.llvm.84282.rcsp_btstack_protocol.c,bt_3th_event_send_to_user,l --r=cpu/br28/liba/rcsp_stack.a.llvm.84282.rcsp_btstack_protocol.c,JL_protocol_dev_switch,l --r=cpu/br28/liba/rcsp_stack.a.llvm.84282.rcsp_btstack_protocol.c,bt_3th_get_ble_callback,l --r=cpu/br28/liba/rcsp_stack.a.llvm.84282.rcsp_btstack_protocol.c,JL_rcsp_auth_init,l --r=cpu/br28/liba/rcsp_stack.a.llvm.84282.rcsp_btstack_protocol.c,bt_3th_ble_data_send,l --r=cpu/br28/liba/rcsp_stack.a.llvm.84282.rcsp_btstack_protocol.c,bt_3th_get_spp_callback,l --r=cpu/br28/liba/rcsp_stack.a.llvm.84282.rcsp_btstack_protocol.c,bt_3th_spp_data_send,l --r=cpu/br28/liba/rcsp_stack.a.llvm.84282.rcsp_btstack_protocol.c,bt_rcsp_3th_pro_lib_init,pl --r=cpu/br28/liba/rcsp_stack.a.llvm.84282.rcsp_btstack_protocol.c,btstack_3th_protocol_lib_init,l --r=cpu/br28/liba/rcsp_stack.a.llvm.84282.rcsp_btstack_protocol.c,JL_protocol_resume,l --r=cpu/br28/liba/rcsp_stack.a.llvm.84282.rcsp_btstack_protocol.c,JL_protocol_data_recieve,l --r=cpu/br28/liba/rcsp_stack.a.llvm.84282.rcsp_btstack_protocol.c,rcsp_link_key_data,pl cpu/br28/liba/btctrler.a.llvm.106640.RF.c -r=cpu/br28/liba/btctrler.a.llvm.106640.RF.c,rf_set_24g_hackable_coded,pl -r=cpu/br28/liba/btctrler.a.llvm.106640.RF.c,rf_bredr_para_prf,pl @@ -14323,7 +13766,7 @@ cpu/br28/liba/btctrler.a.llvm.3998212.link_layer.c cpu/br28/liba/btctrler.a.llvm.4184624.ll_vendor.c -r=cpu/br28/liba/btctrler.a.llvm.4184624.ll_vendor.c,ble_vendor_get_peer_rssi,pl -r=cpu/br28/liba/btctrler.a.llvm.4184624.ll_vendor.c,ll_link_for_handle,l --r=cpu/br28/liba/btctrler.a.llvm.4184624.ll_vendor.c,ble_vendor_is_slow_state,l +-r=cpu/br28/liba/btctrler.a.llvm.4184624.ll_vendor.c,ble_vendor_is_slow_state,pl -r=cpu/br28/liba/btctrler.a.llvm.4184624.ll_vendor.c,ble_enter_dut_tx_mode,pl -r=cpu/br28/liba/btctrler.a.llvm.4184624.ll_vendor.c,ble_vendor_interval_event_enable,pl -r=cpu/br28/liba/btctrler.a.llvm.4184624.ll_vendor.c,ll_vendor_set_code_type,pl @@ -18681,12 +18124,6 @@ cpu/br28/liba/media_app.a.llvm.198448.audio_vbass.c -r=cpu/br28/liba/media_app.a.llvm.198448.audio_vbass.c,audio_vbass_close,pl -r=cpu/br28/liba/media_app.a.llvm.198448.audio_vbass.c,audio_vbass_bypass,pl -r=cpu/br28/liba/media_app.a.llvm.198448.audio_vbass.c,__initcall_audio_vbass_init,pl -cpu/br28/liba/bt_hash_enc.a.llvm.192.hash_aes.c --r=cpu/br28/liba/bt_hash_enc.a.llvm.192.hash_aes.c,yf_aes_start_enc,pl --r=cpu/br28/liba/bt_hash_enc.a.llvm.192.hash_aes.c,btcon_hash,pl --r=cpu/br28/liba/bt_hash_enc.a.llvm.192.hash_aes.c,JL_AES_BASE_BT,l --r=cpu/br28/liba/bt_hash_enc.a.llvm.192.hash_aes.c,key_mask,pl --r=cpu/br28/liba/bt_hash_enc.a.llvm.192.hash_aes.c,oidx,pl cpu/br28/liba/lfaudio_plc_lib.a.llvm.180.BT15_repair.c -r=cpu/br28/liba/lfaudio_plc_lib.a.llvm.180.BT15_repair.c,get_lfaudioPLC_api,pl -r=cpu/br28/liba/lfaudio_plc_lib.a.llvm.180.BT15_repair.c,LFaudio_PLCR_API_OBJ,pl @@ -19547,8 +18984,8 @@ cpu/br28/liba/btstack.a.llvm.39738.tws_host.c -r=cpu/br28/liba/btstack.a.llvm.39738.tws_host.c,tws_role_switch_rfc_channel_info_for_set,l -r=cpu/br28/liba/btstack.a.llvm.39738.tws_host.c,tws_iap_info_for_set,pl -r=cpu/br28/liba/btstack.a.llvm.39738.tws_host.c,iap_core_data_for_set,l --r=cpu/br28/liba/btstack.a.llvm.39738.tws_host.c,app_core_data_for_send,l --r=cpu/br28/liba/btstack.a.llvm.39738.tws_host.c,app_core_data_for_set,l +-r=cpu/br28/liba/btstack.a.llvm.39738.tws_host.c,app_core_data_for_send,pl +-r=cpu/br28/liba/btstack.a.llvm.39738.tws_host.c,app_core_data_for_set,pl -r=cpu/br28/liba/btstack.a.llvm.39738.tws_host.c,tws_app_info_for_send,pl -r=cpu/br28/liba/btstack.a.llvm.39738.tws_host.c,tws_app_info_for_set,pl -r=cpu/br28/liba/btstack.a.llvm.39738.tws_host.c,tws_host_get_core_data,pl diff --git a/objs/apps/common/device/usb/device/cdc.c.o-826e812c b/objs/apps/common/device/usb/device/cdc.c.o-826e812c new file mode 100644 index 0000000..e69de29