diff --git a/.vscode/settings.json b/.vscode/settings.json index 31dd544..1babae2 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,6 +1,7 @@ { "files.associations": { "debug.h": "c", - "includes.h": "c" + "includes.h": "c", + "cdc.h": "c" } } \ No newline at end of file diff --git a/AC701N.cbp b/AC701N.cbp index 9b6443f..dfccde8 100644 --- a/AC701N.cbp +++ b/AC701N.cbp @@ -1138,6 +1138,10 @@ + + + diff --git a/AC701N.depend b/AC701N.depend index effd475..1c7fb60 100644 --- a/AC701N.depend +++ b/AC701N.depend @@ -131752,7 +131752,7 @@ 1706666735 d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\include_lib\system\power_manage.h "generic/typedef.h" -1759042081 d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\include_lib\system\syscfg_id.h +1784878367 d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\include_lib\system\syscfg_id.h "typedef.h" 1706666736 d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\include_lib\system\bank_switch.h @@ -133120,7 +133120,7 @@ "cpu.h" "asm/debug.h" -1784799608 source:d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\apps\common\device\usb\device\task_pc.c +1784878306 source:d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\apps\common\device\usb\device\task_pc.c "system/app_core.h" "system/includes.h" "server/server_core.h" @@ -133136,6 +133136,7 @@ "usb/device/hid.h" "usb/device/msd.h" "usb/device/cdc.h" + "usr_usb_jb.h" "dev_multiplex_api.h" "apple_dock/iAP.h" "cfg_tool.h" @@ -134229,7 +134230,7 @@ "rcsp_adv_bluetooth.h" "bt_tws.h" -1762413555 source:d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\apps\common\third_party_profile\jieli\jl_rcsp\bt_trans_data\le_rcsp_adv_module.c +1784867308 source:d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\apps\common\third_party_profile\jieli\jl_rcsp\bt_trans_data\le_rcsp_adv_module.c "system/app_core.h" "system/includes.h" "app_config.h" @@ -134918,7 +134919,7 @@ "bt_tws.h" "icsd_adt_app.h" -1784865606 source:d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\apps\earphone\app_main.c +1784878086 source:d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\apps\earphone\app_main.c "system/includes.h" "btstack/btstack_task.h" "app_config.h" @@ -135037,7 +135038,7 @@ "bt_tws.h" "debug.h" -1784865576 source:d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\apps\earphone\board\br28\board_jl701n_demo.c +1784866379 source:d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\apps\earphone\board\br28\board_jl701n_demo.c "app_config.h" "app_main.h" "system/includes.h" @@ -136061,7 +136062,7 @@ "mjson.h" -1784865368 source:d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\apps\usr_le_code\usr_le_adv.c +1784878066 source:d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\apps\usr_le_code\usr_le_adv.c "system/includes.h" "app_config.h" "app_main.h" @@ -136070,9 +136071,10 @@ "vm.h" "bleproto.h" "bleproto_api.h" + "usr_usb_jb.h" "debug.h" -1784865445 source:d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\apps\usr_le_code\usr_le_recieve.c +1784867441 source:d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\apps\usr_le_code\usr_le_recieve.c "app_config.h" "asm/pwm_led.h" "tone_player.h" @@ -136860,13 +136862,12 @@ "cpu.h" -1784865607 source:d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\cpu\br28\mcpwm.c +1784866089 source:d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\cpu\br28\mcpwm.c "asm/mcpwm.h" "asm/clock.h" "asm/gpio.h" - "app_main.h" -1706666737 d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\include_lib\driver\cpu\br28\asm\mcpwm.h +1784866108 d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\include_lib\driver\cpu\br28\asm\mcpwm.h "typedef.h" 1706666731 source:d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\cpu\br28\mic_dut_process.c @@ -136910,11 +136911,10 @@ "includes.h" "asm/clock_hw.h" -1760431969 source:d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\cpu\br28\power\power_port.c +1784866038 source:d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\cpu\br28\power\power_port.c "asm/power_interface.h" "app_config.h" "includes.h" - "app_main.h" 1706666733 source:d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\cpu\br28\power\power_trim.c "asm/power_interface.h" @@ -137190,3 +137190,14 @@ "app_config.h" "timer.h" +1784880583 d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\apps\usr_le_code\usr_usb_jb.h + + +1784882217 source:d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\apps\usr_le_code\usr_usb_jb.c + "system/includes.h" + "app_config.h" + "vm.h" + "usr_usb_jb.h" + "debug.h" + "usb/device/cdc.h" + diff --git a/AC701N.layout b/AC701N.layout index d506d34..3c8f5cb 100644 --- a/AC701N.layout +++ b/AC701N.layout @@ -2,824 +2,24 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -827,204 +27,49 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -1037,144 +82,79 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -1182,16 +162,946 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1202,84 +1112,89 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + @@ -1287,9 +1202,44 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1297,64 +1247,84 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/common/device/usb/device/task_pc.c b/apps/common/device/usb/device/task_pc.c index 7b129d4..9cc5755 100644 --- a/apps/common/device/usb/device/task_pc.c +++ b/apps/common/device/usb/device/task_pc.c @@ -34,6 +34,7 @@ #if TCFG_USB_SLAVE_CDC_ENABLE #include "usb/device/cdc.h" +#include "usr_usb_jb.h" #endif #if (TCFG_USB_DM_MULTIPLEX_WITH_SD_DAT0) @@ -186,6 +187,13 @@ static void usb_cdc_wakeup(struct usb_device_t *usb_device) log_debug("cdc rx hook"); rlen = cdc_read_data(usb_id, buf, 64); + /* è§å®å议:产å“ç é…置帧 55 AA ... */ + if (rlen > 0) { + printf("cdc rx %u\n", rlen); + put_buf(buf, rlen); + usr_usb_jb_feed(buf, rlen); + } + /* put_buf(buf, rlen);//固件三部测试使用 */ /* cdc_write_data(usb_id, buf, rlen);//固件三部测试使用 */ 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 27248ad..76ba974 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 @@ -329,21 +329,9 @@ static void cbk_packet_handler(uint8_t packet_type, uint16_t channel, uint8_t *p con_handle = 0; ble_user_cmd_prepare(BLE_CMD_ATT_SEND_INIT, 4, con_handle, 0, 0, 0); set_ble_work_state(BLE_ST_DISCONN); -// set_app_connect_type(TYPE_NULL); if (!ble_update_get_ready_jump_flag()) { - //extern u8 usr_get_pair_flag(); - //extern void usr_reconn_adv(); if(usr_var.usr_goto_updata==0) { - /*if(usr_get_pair_flag()) - { - usr_reconn_adv(); - } - else - { - bt_ble_adv_enable(1); - }*/ - //extern void usr_ble_adv_init(); usr_ble_adv_init(); } } diff --git a/apps/earphone/app_main.c b/apps/earphone/app_main.c index 45c0252..218227b 100644 --- a/apps/earphone/app_main.c +++ b/apps/earphone/app_main.c @@ -235,6 +235,10 @@ void app_main() app_poweron_check(update); usr_read_device_sta(); + { + extern void usr_prodcode_init(void); + usr_prodcode_init(); + } usr_var.usr_goto_pair = 1; usr_clear_pair_info_noreset(); diff --git a/apps/usr_le_code/usr_le_adv.c b/apps/usr_le_code/usr_le_adv.c index fbe002c..2090016 100644 --- a/apps/usr_le_code/usr_le_adv.c +++ b/apps/usr_le_code/usr_le_adv.c @@ -15,6 +15,7 @@ #include "vm.h" #include "bleproto.h" #include "bleproto_api.h" +#include "usr_usb_jb.h" #define LOG_TAG_CONST APP #define LOG_TAG "[APP]" @@ -93,9 +94,12 @@ void usr_ble_adv_init() { int8_t txpower = 0; uint8_t manucode[BLEPROTO_ADV_TLV_LENGTH_MANUCODE] = {0}; - uint8_t prodcode[BLEPROTO_ADV_TLV_LENGTH_PRODCODE] = {'C', 'B', 'C', '0'}; + uint8_t prodcode[BLEPROTO_ADV_TLV_LENGTH_PRODCODE] = {0}; uint8_t gmac[6] = {0}; - uint8_t pcode[6] = {'P', 'I', 'C', 'B', 'C', '0'}; + uint8_t pcode[BLE_PROTO_ADV_LENGTH_PCODE] = {0}; + + /* flash 优先,无有效数æ®åˆ™ç”¨æ¨¡å—内默认值 */ + usr_prodcode_get(prodcode, pcode); usr_set_adv_interval(80); if (usr_var.usr_ota_succ_flag) { @@ -105,15 +109,24 @@ void usr_ble_adv_init() if (usr_var.usr_goto_pair) { usr_clear_pair_info_noreset(); printf("power on force to pair flag= %d\n", usr_auth_data.paired_flag); + printf("adv prodcode=%c%c%c%c pcode=%c%c%c%c%c%c\n", + prodcode[0], prodcode[1], prodcode[2], prodcode[3], + pcode[0], pcode[1], pcode[2], pcode[3], pcode[4], pcode[5]); muti_adv_data_len = bleproto_advdata_encode4bind(muti_adv_data, txpower, manucode, pcode, prodcode); usr_var.usr_adv_flag = 1; } else { usr_get_pair_info(); if (usr_auth_data.paired_flag == 0) { + printf("adv prodcode=%c%c%c%c pcode=%c%c%c%c%c%c\n", + prodcode[0], prodcode[1], prodcode[2], prodcode[3], + pcode[0], pcode[1], pcode[2], pcode[3], pcode[4], pcode[5]); muti_adv_data_len = bleproto_advdata_encode4bind(muti_adv_data, txpower, manucode, pcode, prodcode); usr_var.usr_adv_flag = 0; } else { memcpy(gmac, usr_auth_data.gwmac, 6); + printf("adv prodcode=%c%c%c%c pcode=%c%c%c%c%c%c\n", + prodcode[0], prodcode[1], prodcode[2], prodcode[3], + pcode[0], pcode[1], pcode[2], pcode[3], pcode[4], pcode[5]); muti_adv_data_len = bleproto_advdata_encode4reconn(muti_adv_data, txpower, gmac, manucode, pcode, prodcode); usr_var.usr_adv_flag = 1; } @@ -125,11 +138,6 @@ void usr_ble_adv_init() } } -u8 usr_get_pair_flag() -{ - return usr_auth_data.paired_flag; -} - void usr_ble_adv_updata() { static u16 usr_goto_slow_adv = 0; diff --git a/apps/usr_le_code/usr_prodcode.h b/apps/usr_le_code/usr_prodcode.h new file mode 100644 index 0000000..8c5789c --- /dev/null +++ b/apps/usr_le_code/usr_prodcode.h @@ -0,0 +1,50 @@ +/****************************************************************************** + * @file usr_prodcode.h + * @brief 产å“ç  / å“ç±»ç æŒä¹…化与广播刷新 + * @author cyWu <1917507415@qq.com> + * @date 2026.07.24 + * @version V1.0.0 + * @history + * - V1.0.0, 2026.07.24, cyWu, 首次å‘布 + ******************************************************************************/ + +#ifndef __USR_PRODCODE_H__ +#define __USR_PRODCODE_H__ + +#include "system/includes.h" +#include "bleproto_packer.h" + +/*============================================================================*/ +/* å®å®šä¹‰ */ +/*============================================================================*/ + +#define USR_PRODCODE_LEN BLEPROTO_ADV_TLV_LENGTH_PRODCODE /* 4 */ +#define USR_PCODE_LEN BLE_PROTO_ADV_LENGTH_PCODE /* 6 */ +#define USR_PRODCODE_MAGIC 0xA5 + +/*============================================================================*/ +/* å¤–éƒ¨æŽ¥å£ */ +/*============================================================================*/ + +/** + * @brief 上电从 flash 加载产å“ç ï¼Œæ— åˆ™ä½¿ç”¨é»˜è®¤å€¼ + */ +void usr_prodcode_init(void); + +/** + * @brief 获å–当å‰äº§å“ç ï¼ˆRAM 缓存) + * @param prodcode 输出 4 字节å“ç±»/产å“åž‹å· + * @param pcode 输出 6 字节 productCode + */ +void usr_prodcode_get(u8 prodcode[USR_PRODCODE_LEN], u8 pcode[USR_PCODE_LEN]); + +/** + * @brief 写入产å“ç åˆ° flash,并触å‘釿–°å¹¿æ’­ + * @param prodcode 4 字节 + * @param pcode 6 字节 + * @return 0 æˆåŠŸï¼Œå…¶å®ƒå¤±è´¥ + */ +int usr_prodcode_set_save_and_readv(const u8 prodcode[USR_PRODCODE_LEN], + const u8 pcode[USR_PCODE_LEN]); + +#endif /* __USR_PRODCODE_H__ */ diff --git a/apps/usr_le_code/usr_usb_jb.c b/apps/usr_le_code/usr_usb_jb.c new file mode 100644 index 0000000..68a0054 --- /dev/null +++ b/apps/usr_le_code/usr_usb_jb.c @@ -0,0 +1,400 @@ +/****************************************************************************** + * @file usr_usb_jb.c + * @brief USB CDC è§å®å¸§è§£æžï¼šæ ¡éªŒåŽå†™å…¥äº§å“ç å¹¶é‡å¹¿æ’­ + * @author cyWu <1917507415@qq.com> + * @date 2026.07.24 + * @version V1.0.1 + * @history + * - V1.0.1, 2026.07.24, cyWu, CDC ä¸­æ–­å†…ç¦æ­¢ syscfg_write,改延时到任务上下文 + * - V1.0.0, 2026.07.24, cyWu, 首次å‘布 + ******************************************************************************/ + +#include "system/includes.h" +#include "app_config.h" +#include "vm.h" +#include "usr_usb_jb.h" + +#define LOG_TAG_CONST APP +#define LOG_TAG "[USB_JB]" +#define LOG_ERROR_ENABLE +#define LOG_DEBUG_ENABLE +#define LOG_INFO_ENABLE +#define LOG_CLI_ENABLE +#include "debug.h" + +#if TCFG_USB_SLAVE_CDC_ENABLE +#include "usb/device/cdc.h" +#endif + +/*============================================================================*/ +/* å议常é‡ï¼ˆå¯¹é½ jb_protocol / jb_common) */ +/*============================================================================*/ + +#define PKT_HEAD_0 0x55 +#define PKT_HEAD_1 0xAA +#define MAX_PACKAGE_LEN 128 +#define JB_RB_CAPACITY 256 +#define USR_PROD_MAGIC 0x5A + +#ifndef CFG_USER_PROD_INFO +#define CFG_USER_PROD_INFO 28 +#endif + +extern void usr_ble_adv_init(void); + +/*============================================================================*/ +/* 类型 */ +/*============================================================================*/ + +typedef struct { + uint8_t magic; + uint8_t prodcode[USR_PRODCODE_LEN]; + uint8_t pcode[USR_PCODE_LEN]; +} usr_prod_info_t; + +typedef struct { + uint8_t buf[JB_RB_CAPACITY]; + uint16_t write; + uint16_t read; + uint16_t count; +} usr_jb_rb_t; + +/*============================================================================*/ +/* 陿€å˜é‡ */ +/*============================================================================*/ + +static const uint8_t s_default_prodcode[USR_PRODCODE_LEN] = {'C', 'B', 'C', '0'}; +static const uint8_t s_default_pcode[USR_PCODE_LEN] = {'P', 'I', 'C', 'B', 'C', '0'}; + +static uint8_t s_prodcode[USR_PRODCODE_LEN]; +static uint8_t s_pcode[USR_PCODE_LEN]; +static usr_jb_rb_t s_rb; + +/* 待写 flash / 回 ACK 的缓存(ISR åªå¡«ï¼Œå®šæ—¶å™¨é‡Œæ‰§è¡Œï¼‰ */ +static uint8_t s_pending_save; +static uint8_t s_pending_cmd; +static uint8_t s_pending_sn; +static uint8_t s_pending_prod[USR_PRODCODE_LEN]; +static uint8_t s_pending_pcode[USR_PCODE_LEN]; +static int s_process_timer; + +/*============================================================================*/ +/* 环形缓冲 / 校验 */ +/*============================================================================*/ + +static void usr_jb_rb_init(usr_jb_rb_t *rb) +{ + memset(rb, 0, sizeof(*rb)); +} + +static void usr_jb_rb_push(usr_jb_rb_t *rb, uint8_t byte) +{ + if (rb->count >= JB_RB_CAPACITY) { + rb->read = (rb->read + 1) % JB_RB_CAPACITY; + rb->count--; + } + rb->buf[rb->write] = byte; + rb->write = (rb->write + 1) % JB_RB_CAPACITY; + rb->count++; +} + +static uint8_t usr_jb_rb_pop(usr_jb_rb_t *rb) +{ + uint8_t b = rb->buf[rb->read]; + rb->read = (rb->read + 1) % JB_RB_CAPACITY; + rb->count--; + return b; +} + +static uint16_t usr_jb_rb_available(const usr_jb_rb_t *rb) +{ + return rb->count; +} + +static uint16_t usr_jb_read_u16_be(const uint8_t *buf) +{ + return ((uint16_t)buf[0] << 8) | buf[1]; +} + +/** + * @brief 校验和:sum(LEN_H .. payload_last) & 0xFF + */ +static uint8_t usr_jb_checksum(const uint8_t *frame, uint16_t total_len) +{ + uint16_t sum = 0; + uint16_t i; + + if (!frame || total_len < 4) { + return 0; + } + for (i = 2; i < total_len - 1; i++) { + sum += frame[i]; + } + return (uint8_t)(sum & 0xFF); +} + +/** + * @brief 从环形缓冲æå–å®Œæ•´å¸§ï¼ˆé€»è¾‘å¯¹é½ jbGetOnePacket) + * @return 0 æˆåŠŸ, 1 éœ€è¦æ›´å¤šæ•°æ®, -2 校验失败 + */ +static int8_t usr_jb_get_one_packet(uint8_t *out, uint16_t *out_len) +{ + static uint8_t state = 0; + static uint16_t expect = 0; + static uint16_t idx = 0; + static uint8_t prev = 0; + + while (usr_jb_rb_available(&s_rb)) { + uint8_t b = usr_jb_rb_pop(&s_rb); + + if (state == 0) { + if (prev == PKT_HEAD_0 && b == PKT_HEAD_1) { + out[0] = PKT_HEAD_0; + out[1] = PKT_HEAD_1; + idx = 2; + state = 1; + } + } else if (state == 1) { + out[idx++] = b; + if (idx == 6) { + expect = 4 + usr_jb_read_u16_be(&out[2]); + if (expect > MAX_PACKAGE_LEN || expect < 7) { + state = 0; + } else { + state = 2; + } + } + } else { + out[idx++] = b; + if (idx >= expect) { + state = 0; + if (out[expect - 1] == usr_jb_checksum(out, expect)) { + *out_len = expect; + return 0; + } + printf("usr_jb checksum fail expect=0x%02x calc=0x%02x\n", + out[expect - 1], usr_jb_checksum(out, expect)); + return -2; + } + } + prev = b; + } + return 1; +} + +/*============================================================================*/ +/* 产å“ç  flash */ +/*============================================================================*/ + +static void usr_prodcode_set_default(void) +{ + memcpy(s_prodcode, s_default_prodcode, USR_PRODCODE_LEN); + memcpy(s_pcode, s_default_pcode, USR_PCODE_LEN); +} + +void usr_prodcode_init(void) +{ + usr_prod_info_t info; + int ret; + + usr_jb_rb_init(&s_rb); + s_pending_save = 0; + s_process_timer = 0; + usr_prodcode_set_default(); + + memset(&info, 0, sizeof(info)); + ret = syscfg_read(CFG_USER_PROD_INFO, (u8 *)&info, sizeof(info)); + if (ret > 0 && info.magic == USR_PROD_MAGIC) { + memcpy(s_prodcode, info.prodcode, USR_PRODCODE_LEN); + memcpy(s_pcode, info.pcode, USR_PCODE_LEN); + printf("prodcode from flash: %c%c%c%c / %c%c%c%c%c%c\n", + s_prodcode[0], s_prodcode[1], s_prodcode[2], s_prodcode[3], + s_pcode[0], s_pcode[1], s_pcode[2], s_pcode[3], s_pcode[4], s_pcode[5]); + } else { + printf("prodcode use default: %c%c%c%c / %c%c%c%c%c%c\n", + s_prodcode[0], s_prodcode[1], s_prodcode[2], s_prodcode[3], + s_pcode[0], s_pcode[1], s_pcode[2], s_pcode[3], s_pcode[4], s_pcode[5]); + } +} + +void usr_prodcode_get(uint8_t *prodcode, uint8_t *pcode) +{ + if (prodcode) { + memcpy(prodcode, s_prodcode, USR_PRODCODE_LEN); + } + if (pcode) { + memcpy(pcode, s_pcode, USR_PCODE_LEN); + } +} + +/** + * @brief 写 VM(必须在任务/å®šæ—¶å™¨ä¸Šä¸‹æ–‡è°ƒç”¨ï¼Œç¦æ­¢åœ¨ CDC 中断里调用) + */ +static int usr_prodcode_save(const uint8_t *prodcode, const uint8_t *pcode) +{ + usr_prod_info_t info; + int ret; + + if (!prodcode || !pcode) { + return -1; + } + + memset(&info, 0, sizeof(info)); + info.magic = USR_PROD_MAGIC; + memcpy(info.prodcode, prodcode, USR_PRODCODE_LEN); + memcpy(info.pcode, pcode, USR_PCODE_LEN); + + memcpy(s_prodcode, prodcode, USR_PRODCODE_LEN); + memcpy(s_pcode, pcode, USR_PCODE_LEN); + + ret = syscfg_write(CFG_USER_PROD_INFO, (u8 *)&info, sizeof(info)); + if (ret <= 0) { + printf("prodcode flash write fail ret=%d\n", ret); + return -1; + } + printf("prodcode saved: %c%c%c%c / %c%c%c%c%c%c ret=%d\n", + s_prodcode[0], s_prodcode[1], s_prodcode[2], s_prodcode[3], + s_pcode[0], s_pcode[1], s_pcode[2], s_pcode[3], s_pcode[4], s_pcode[5], + ret); + return 0; +} + +/** + * @brief è§£æžäº§å“ç  payload(仅 TLV) + * æ ¼å¼: [len=4][ProdtCode 4B][len=6][productCode 6B] + * @return 0 æˆåŠŸ, -1 失败 + */ +static int usr_jb_parse_prod_payload(const uint8_t *payload, uint16_t payload_len, + uint8_t *prodcode, uint8_t *pcode) +{ + if (!payload || !prodcode || !pcode) { + return -1; + } + + /* TLV: 04 xx xx xx xx 06 yy yy yy yy yy yy */ + if (payload_len < (1 + USR_PRODCODE_LEN + 1 + USR_PCODE_LEN)) { + return -1; + } + if (payload[0] != USR_PRODCODE_LEN) { + return -1; + } + if (payload[1 + USR_PRODCODE_LEN] != USR_PCODE_LEN) { + return -1; + } + + memcpy(prodcode, &payload[1], USR_PRODCODE_LEN); + memcpy(pcode, &payload[1 + USR_PRODCODE_LEN + 1], USR_PCODE_LEN); + return 0; +} + +#if TCFG_USB_SLAVE_CDC_ENABLE +/** + * @brief 回 ACK:CMD = 请求 CMD+1,payload = result + */ +static void usr_jb_send_ack(uint8_t cmd, uint8_t sn, uint8_t result) +{ + uint8_t buf[8]; + uint16_t len_field = 4; /* CMD+SN+result+CKSUM */ + uint16_t total = len_field + 4; + + buf[0] = PKT_HEAD_0; + buf[1] = PKT_HEAD_1; + buf[2] = (uint8_t)(len_field >> 8); + buf[3] = (uint8_t)(len_field & 0xFF); + buf[4] = (uint8_t)(cmd + 1); + buf[5] = sn; + buf[6] = result; + buf[7] = usr_jb_checksum(buf, total); + cdc_write_data(0, buf, total); +} +#endif + +/** + * @brief 任务上下文:解æžå¸§ / 写 flash / ACK / é‡å»ºå¹¿æ’­ + */ +static void usr_jb_process_timeout(void *priv) +{ + uint8_t pkt[MAX_PACKAGE_LEN]; + uint16_t pkt_len; + int8_t ret; + uint8_t cmd; + uint8_t sn; + uint16_t payload_len; + + (void)priv; + s_process_timer = 0; + + /* 先把环形缓冲里的完整帧抽完 */ + do { + pkt_len = 0; + ret = usr_jb_get_one_packet(pkt, &pkt_len); + if (ret != 0) { + break; + } + + cmd = pkt[4]; + sn = pkt[5]; + payload_len = (pkt_len >= 7) ? (pkt_len - 7) : 0; + + printf("usr_jb cmd=0x%02x sn=%u plen=%u\n", cmd, sn, payload_len); + printf_buf(pkt, pkt_len); + + if (cmd != USR_JB_CMD_SET_PRODCODE) { + printf("usr_jb ignore cmd 0x%02x\n", cmd); + continue; + } + + if (usr_jb_parse_prod_payload(&pkt[6], payload_len, + s_pending_prod, s_pending_pcode) != 0) { + printf("usr_jb set prodcode payload invalid\n"); +#if TCFG_USB_SLAVE_CDC_ENABLE + usr_jb_send_ack(cmd, sn, 0x01); +#endif + continue; + } + + /* 缓存åŽç»Ÿä¸€è½ç›˜ï¼Œé¿å…åŒä¸€å‘¨æœŸå¤šæ¬¡å†™ flash */ + s_pending_cmd = cmd; + s_pending_sn = sn; + s_pending_save = 1; + } while (1); + + if (!s_pending_save) { + return; + } + s_pending_save = 0; + + if (usr_prodcode_save(s_pending_prod, s_pending_pcode) == 0) { +#if TCFG_USB_SLAVE_CDC_ENABLE + usr_jb_send_ack(s_pending_cmd, s_pending_sn, 0x00); +#endif + extern void usr_goto_pair_mode(void); + usr_goto_pair_mode(); + printf("prodcode applied, adv rebuilt\n"); + } else { +#if TCFG_USB_SLAVE_CDC_ENABLE + usr_jb_send_ack(s_pending_cmd, s_pending_sn, 0x05); +#endif + } +} + +/** + * @brief USB CDC 喂数:仅压入环形缓冲并挂定时器(å¯åœ¨ä¸­æ–­è°ƒç”¨ï¼‰ + */ +void usr_usb_jb_feed(uint8_t *buf, uint32_t len) +{ + uint32_t i; + + if (!buf || len == 0) { + return; + } + + for (i = 0; i < len; i++) { + usr_jb_rb_push(&s_rb, buf[i]); + } + + /* 延时到系统定时器任务å†è§£æž/写 flash,é¿å…中断里擦写导致å¤ä½ */ + if (s_process_timer == 0) { + s_process_timer = sys_timeout_add(NULL, usr_jb_process_timeout, 20); + } +} diff --git a/apps/usr_le_code/usr_usb_jb.h b/apps/usr_le_code/usr_usb_jb.h new file mode 100644 index 0000000..ac1d90a --- /dev/null +++ b/apps/usr_le_code/usr_usb_jb.h @@ -0,0 +1,51 @@ +/****************************************************************************** + * @file usr_usb_jb.h + * @brief USB CDC è§å®å¸§è§£æžï¼šè®¾ç½® ProdtCode / productCode å¹¶è½ç›˜é‡å¹¿æ’­ + * @author cyWu <1917507415@qq.com> + * @date 2026.07.24 + * @version V1.0.0 + * @history + * - V1.0.0, 2026.07.24, cyWu, 首次å‘布 + ******************************************************************************/ + +#ifndef __USR_USB_JB_H__ +#define __USR_USB_JB_H__ + +#include + +/*============================================================================*/ +/* å®å®šä¹‰ */ +/*============================================================================*/ + +#define USR_PRODCODE_LEN (4) +#define USR_PCODE_LEN (6) +#define USR_JB_CMD_SET_PRODCODE (0x64) /**< USB 下å‘产å“ç å‘½ä»¤ */ + +/*============================================================================*/ +/* å¤–éƒ¨æŽ¥å£ */ +/*============================================================================*/ + +/** + * @brief 上电加载产å“ç ï¼ˆflash 优先,å¦åˆ™é»˜è®¤å€¼ï¼‰ + * @return void + */ +void usr_prodcode_init(void); + +/** + * @brief 获å–当å‰äº§å“ç ç¼“å­˜ + * @param prodcode 输出 ProdtCode,长度 USR_PRODCODE_LEN,å¯ä¸º NULL + * @param pcode 输出 productCode,长度 USR_PCODE_LEN,å¯ä¸º NULL + * @return void + */ +void usr_prodcode_get(uint8_t *prodcode, uint8_t *pcode); + +/** + * @brief USB CDC 喂数:仅入环并挂定时器(å¯åœ¨ä¸­æ–­è°ƒç”¨ï¼‰ + * @note å¸§è§£æž / syscfg_write / ACK / é‡å¹¿æ’­åœ¨å®šæ—¶å™¨ä»»åŠ¡ä¸­æ‰§è¡Œ + * @param buf 接收缓冲 + * @param len 长度 + * @return void + */ +void usr_usb_jb_feed(uint8_t *buf, uint32_t len); + +#endif /* __USR_USB_JB_H__ */ diff --git a/cpu/br28/tools/app.bin b/cpu/br28/tools/app.bin index 8e64f3c..aab5e18 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 a547694..7b4debb 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/earphone/db_update_data.bin b/cpu/br28/tools/download/earphone/db_update_data.bin index 64d127c..571179a 100644 Binary files a/cpu/br28/tools/download/earphone/db_update_data.bin and b/cpu/br28/tools/download/earphone/db_update_data.bin differ diff --git a/cpu/br28/tools/download/earphone/jl_isd.bin b/cpu/br28/tools/download/earphone/jl_isd.bin index f4a099b..8d9fa36 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/download/earphone/jl_isd.fw b/cpu/br28/tools/download/earphone/jl_isd.fw index 22535d0..c7d3902 100644 Binary files a/cpu/br28/tools/download/earphone/jl_isd.fw and b/cpu/br28/tools/download/earphone/jl_isd.fw differ diff --git a/cpu/br28/tools/download/earphone/update.ufw b/cpu/br28/tools/download/earphone/update.ufw index 0680a37..2c07a06 100644 Binary files a/cpu/br28/tools/download/earphone/update.ufw and b/cpu/br28/tools/download/earphone/update.ufw differ diff --git a/cpu/br28/tools/sdk.elf b/cpu/br28/tools/sdk.elf index 6d2af11..0fe91a6 100644 Binary files a/cpu/br28/tools/sdk.elf and b/cpu/br28/tools/sdk.elf differ diff --git a/cpu/br28/tools/sdk.elf.0.0.preopt.bc b/cpu/br28/tools/sdk.elf.0.0.preopt.bc index 7c0afd1..b9c361f 100644 Binary files a/cpu/br28/tools/sdk.elf.0.0.preopt.bc and b/cpu/br28/tools/sdk.elf.0.0.preopt.bc differ diff --git a/cpu/br28/tools/sdk.elf.0.2.internalize.bc b/cpu/br28/tools/sdk.elf.0.2.internalize.bc index c379f6b..7e36aa4 100644 Binary files a/cpu/br28/tools/sdk.elf.0.2.internalize.bc and b/cpu/br28/tools/sdk.elf.0.2.internalize.bc differ diff --git a/cpu/br28/tools/sdk.elf.0.4.opt.bc b/cpu/br28/tools/sdk.elf.0.4.opt.bc index 80b84eb..9e18180 100644 Binary files a/cpu/br28/tools/sdk.elf.0.4.opt.bc and b/cpu/br28/tools/sdk.elf.0.4.opt.bc differ diff --git a/cpu/br28/tools/sdk.elf.0.5.precodegen.bc b/cpu/br28/tools/sdk.elf.0.5.precodegen.bc index 80b84eb..9e18180 100644 Binary files a/cpu/br28/tools/sdk.elf.0.5.precodegen.bc and b/cpu/br28/tools/sdk.elf.0.5.precodegen.bc differ diff --git a/cpu/br28/tools/sdk.elf.o b/cpu/br28/tools/sdk.elf.o index e9ed9a6..d79750d 100644 Binary files a/cpu/br28/tools/sdk.elf.o and b/cpu/br28/tools/sdk.elf.o differ diff --git a/cpu/br28/tools/sdk.elf.objs.txt b/cpu/br28/tools/sdk.elf.objs.txt index d7659e6..17626bb 100644 --- a/cpu/br28/tools/sdk.elf.objs.txt +++ b/cpu/br28/tools/sdk.elf.objs.txt @@ -1 +1 @@ -obj/Release/apps/common/audio/amplitude_statistic.o obj/Release/apps/common/audio/audio_dvol.o obj/Release/apps/common/audio/audio_export_demo.o obj/Release/apps/common/audio/audio_noise_gate.o obj/Release/apps/common/audio/audio_ns.o obj/Release/apps/common/audio/audio_plc.o obj/Release/apps/common/audio/audio_utils.o obj/Release/apps/common/audio/decode/audio_key_tone.o obj/Release/apps/common/audio/decode/decode.o obj/Release/apps/common/audio/demo/audio_demo.o obj/Release/apps/common/audio/online_debug/aud_data_export.o obj/Release/apps/common/audio/online_debug/aud_mic_dut.o obj/Release/apps/common/audio/online_debug/aud_spatial_effect_dut.o obj/Release/apps/common/audio/online_debug/audio_online_debug.o obj/Release/apps/common/audio/sine_make.o obj/Release/apps/common/audio/uartPcmSender.o obj/Release/apps/common/audio/wm8978/iic.o obj/Release/apps/common/audio/wm8978/wm8978.o obj/Release/apps/common/bt_common/bt_test_api.o obj/Release/apps/common/cJSON/cJSON.o obj/Release/apps/common/config/app_config.o obj/Release/apps/common/config/bt_profile_config.o obj/Release/apps/common/config/ci_transport_uart.o obj/Release/apps/common/config/new_cfg_tool.o obj/Release/apps/common/debug/debug.o obj/Release/apps/common/debug/debug_lite.o obj/Release/apps/common/dev_manager/dev_manager.o obj/Release/apps/common/dev_manager/dev_reg.o obj/Release/apps/common/dev_manager/dev_update.o obj/Release/apps/common/device/gSensor/da230.o obj/Release/apps/common/device/gSensor/gSensor_manage.o obj/Release/apps/common/device/gSensor/mpu6050.o obj/Release/apps/common/device/gSensor/SC7A20.o obj/Release/apps/common/device/gSensor/STK8321.o obj/Release/apps/common/device/gx8002_npu/gx8002_enc/gx8002_enc.o obj/Release/apps/common/device/gx8002_npu/gx8002_npu.o obj/Release/apps/common/device/gx8002_npu/gx8002_npu_event_deal.o obj/Release/apps/common/device/gx8002_npu/gx8002_upgrade/app_upgrade/gx_uart_upgrade_app.o obj/Release/apps/common/device/gx8002_npu/gx8002_upgrade/app_upgrade/gx_uart_upgrade_tws.o obj/Release/apps/common/device/gx8002_npu/gx8002_upgrade/gx_uart_upgrade.o obj/Release/apps/common/device/gx8002_npu/gx8002_upgrade/gx_uart_upgrade_porting.o obj/Release/apps/common/device/gx8002_npu/gx8002_upgrade/sdfile_upgrade/gx_uart_upgrade_sdfile.o obj/Release/apps/common/device/gx8002_npu/gx8002_upgrade/spp_upgrade/gx_fifo.o obj/Release/apps/common/device/gx8002_npu/gx8002_upgrade/spp_upgrade/gx_uart_upgrade_spp.o obj/Release/apps/common/device/imu_sensor/icm_42670p/icm_42670p.o obj/Release/apps/common/device/imu_sensor/icm_42670p/inv_imu_apex.o obj/Release/apps/common/device/imu_sensor/icm_42670p/inv_imu_driver.o obj/Release/apps/common/device/imu_sensor/icm_42670p/inv_imu_transport.o obj/Release/apps/common/device/imu_sensor/imuSensor_manage.o obj/Release/apps/common/device/imu_sensor/lsm6dsl/lsm6dsl.o obj/Release/apps/common/device/imu_sensor/mpu6887/mpu6887p.o obj/Release/apps/common/device/imu_sensor/mpu9250/mpu9250.o obj/Release/apps/common/device/imu_sensor/qmi8658/qmi8658c.o obj/Release/apps/common/device/imu_sensor/sh3001/sh3001.o obj/Release/apps/common/device/in_ear_detect/in_ear_detect.o obj/Release/apps/common/device/in_ear_detect/in_ear_manage.o obj/Release/apps/common/device/ir_sensor/ir_manage.o obj/Release/apps/common/device/ir_sensor/jsa1221.o obj/Release/apps/common/device/key/adkey.o obj/Release/apps/common/device/key/adkey_rtcvdd.o obj/Release/apps/common/device/key/ctmu_touch_key.o obj/Release/apps/common/device/key/iokey.o obj/Release/apps/common/device/key/irkey.o obj/Release/apps/common/device/key/key_driver.o obj/Release/apps/common/device/key/touch_key.o obj/Release/apps/common/device/key/uart_key.o obj/Release/apps/common/device/norflash/norflash_sfc.o obj/Release/apps/common/device/ntc/ntc_det.o obj/Release/apps/common/device/usb/device/cdc.o obj/Release/apps/common/device/usb/device/descriptor.o obj/Release/apps/common/device/usb/device/hid.o obj/Release/apps/common/device/usb/device/msd.o obj/Release/apps/common/device/usb/device/msd_upgrade.o obj/Release/apps/common/device/usb/device/task_pc.o obj/Release/apps/common/device/usb/device/uac1.o obj/Release/apps/common/device/usb/device/uac_stream.o obj/Release/apps/common/device/usb/device/usb_device.o obj/Release/apps/common/device/usb/device/user_setup.o obj/Release/apps/common/device/usb/host/adb.o obj/Release/apps/common/device/usb/host/aoa.o obj/Release/apps/common/device/usb/host/audio.o obj/Release/apps/common/device/usb/host/audio_demo.o obj/Release/apps/common/device/usb/host/hid.o obj/Release/apps/common/device/usb/host/usb_bulk_transfer.o obj/Release/apps/common/device/usb/host/usb_ctrl_transfer.o obj/Release/apps/common/device/usb/host/usb_host.o obj/Release/apps/common/device/usb/host/usb_storage.o obj/Release/apps/common/device/usb/usb_config.o obj/Release/apps/common/device/usb/usb_host_config.o obj/Release/apps/common/ezxml/ezxml.o obj/Release/apps/common/ezxml/ezxml_example.o obj/Release/apps/common/fat_nor/cfg_private.o obj/Release/apps/common/fat_nor/virfat_flash.o obj/Release/apps/common/file_operate/file_bs_deal.o obj/Release/apps/common/file_operate/file_manager.o obj/Release/apps/common/icsd/adt/icsd_adt.o obj/Release/apps/common/icsd/adt/icsd_adt_app.o obj/Release/apps/common/icsd/anc/icsd_anc_app.o obj/Release/apps/common/icsd/anc/icsd_anc_board.o obj/Release/apps/common/icsd/anc/icsd_anc_data.o obj/Release/apps/common/jl_kws/jl_kws_algo.o obj/Release/apps/common/jl_kws/jl_kws_audio.o obj/Release/apps/common/jl_kws/jl_kws_event.o obj/Release/apps/common/jl_kws/jl_kws_main.o obj/Release/apps/common/temp_trim/dtemp_pll_trim.o obj/Release/apps/common/third_party_profile/common/3th_profile_api.o obj/Release/apps/common/third_party_profile/common/custom_cfg.o obj/Release/apps/common/third_party_profile/common/mic_rec.o obj/Release/apps/common/third_party_profile/interface/app_protocol_api.o obj/Release/apps/common/third_party_profile/interface/app_protocol_common.o obj/Release/apps/common/third_party_profile/interface/app_protocol_dma.o obj/Release/apps/common/third_party_profile/interface/app_protocol_gfps.o obj/Release/apps/common/third_party_profile/interface/app_protocol_gma.o obj/Release/apps/common/third_party_profile/interface/app_protocol_mma.o obj/Release/apps/common/third_party_profile/interface/app_protocol_ota.o obj/Release/apps/common/third_party_profile/interface/app_protocol_tme.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_adaptive_noise_reduction.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_anc_voice.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_anc_voice_key.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_bt_name_setting.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_eq_setting.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_hearing_aid_setting.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_high_low_vol_setting.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_key_setting.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_led_setting.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_mic_setting.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_time_stamp_setting.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_work_setting.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_customer_user.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_opt.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_tws_sync.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/rcsp_adv_spp_user.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_ch_loader_download.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_user_update.o obj/Release/apps/common/third_party_profile/jieli/online_db/online_db_deal.o obj/Release/apps/common/third_party_profile/jieli/online_db/spp_online_db.o obj/Release/apps/common/ui/lcd_simple/lcd_simple_api.o obj/Release/apps/common/ui/lcd_simple/ui.o obj/Release/apps/common/ui/lcd_simple/ui_mainmenu.o obj/Release/apps/common/update/testbox_update.o obj/Release/apps/common/update/update.o obj/Release/apps/common/update/update_tws.o obj/Release/apps/common/update/update_tws_new.o obj/Release/apps/earphone/aec/br28/audio_aec.o obj/Release/apps/earphone/aec/br28/audio_aec_demo.o obj/Release/apps/earphone/aec/br28/audio_aec_dms.o obj/Release/apps/earphone/aec/br28/audio_aec_online.o obj/Release/apps/earphone/aec/br28/audio_cvp_3mic.o obj/Release/apps/earphone/aec/br28/audio_cvp_ais_3mic.o obj/Release/apps/earphone/app_ancbox.o obj/Release/apps/earphone/app_anctool.o obj/Release/apps/earphone/app_main.o obj/Release/apps/earphone/app_protocol_deal.o obj/Release/apps/earphone/app_task_switch.o obj/Release/apps/earphone/app_testbox.o obj/Release/apps/earphone/audio_enc_mpt_cvp_ctr.o obj/Release/apps/earphone/audio_enc_mpt_self.o obj/Release/apps/earphone/ble_adv.o obj/Release/apps/earphone/board/br28/board_jl701n_demo.o obj/Release/apps/earphone/bt_auto_test.o obj/Release/apps/earphone/bt_background.o obj/Release/apps/earphone/bt_ble.o obj/Release/apps/earphone/bt_ble_hid.o obj/Release/apps/earphone/bt_emitter.o obj/Release/apps/earphone/bt_tws.o obj/Release/apps/earphone/default_event_handler.o obj/Release/apps/earphone/dual_update_demo.o obj/Release/apps/earphone/earphone.o obj/Release/apps/earphone/eartch_event_deal.o obj/Release/apps/earphone/font/fontinit.o obj/Release/apps/earphone/idle.o obj/Release/apps/earphone/key_event_deal.o obj/Release/apps/earphone/kws_voice_event_deal.o obj/Release/apps/earphone/linein/linein.o obj/Release/apps/earphone/ll_sync_demo/ll_sync_demo.o obj/Release/apps/earphone/log_config/app_config.o obj/Release/apps/earphone/log_config/lib_btctrler_config.o obj/Release/apps/earphone/log_config/lib_btstack_config.o obj/Release/apps/earphone/log_config/lib_driver_config.o obj/Release/apps/earphone/log_config/lib_media_config.o obj/Release/apps/earphone/log_config/lib_system_config.o obj/Release/apps/earphone/log_config/lib_update_config.o obj/Release/apps/earphone/music/sd_music.o obj/Release/apps/earphone/pbg_demo.o obj/Release/apps/earphone/pc/pc.o obj/Release/apps/earphone/power_manage/app_charge.o obj/Release/apps/earphone/power_manage/app_chargestore.o obj/Release/apps/earphone/power_manage/app_power_manage.o obj/Release/apps/earphone/power_manage/app_umidigi_chargestore.o obj/Release/apps/earphone/rcsp/jl_phone_app.o obj/Release/apps/earphone/rcsp/rcsp_adv.o obj/Release/apps/earphone/sdk_version.z.o obj/Release/apps/earphone/tone_table.o obj/Release/apps/earphone/ui/lcd_simple/my_demo.o obj/Release/apps/earphone/ui_manage.o obj/Release/apps/earphone/user_cfg.o obj/Release/apps/earphone/version.o obj/Release/apps/earphone/vol_sync.o obj/Release/apps/earphone/wireless_mic/app_main_wireless_mic.o obj/Release/apps/earphone/wireless_mic/audio/adapter_adc.o obj/Release/apps/earphone/wireless_mic/audio/adapter_media.o obj/Release/apps/earphone/wireless_mic/audio/wireless/adapter_wireless_dec.o obj/Release/apps/earphone/wireless_mic/audio/wireless/adapter_wireless_enc.o obj/Release/apps/earphone/wireless_mic/bt/bt_edr_fun.o obj/Release/apps/earphone/wireless_mic/bt/bt_status_event.o obj/Release/apps/earphone/wireless_mic/idev/adapter_idev.o obj/Release/apps/earphone/wireless_mic/idev/idev_bt/adapter_idev_bt.o obj/Release/apps/earphone/wireless_mic/idev/idev_bt/idev_ble/adapter_idev_ble.o obj/Release/apps/earphone/wireless_mic/idev/idev_mic/adapter_idev_mic.o obj/Release/apps/earphone/wireless_mic/odev/adapter_odev.o obj/Release/apps/earphone/wireless_mic/odev/odev_bt/adapter_odev_bt.o obj/Release/apps/earphone/wireless_mic/odev/odev_bt/odev_ble/adapter_odev_ble.o obj/Release/apps/earphone/wireless_mic/odev/odev_bt/odev_ble/odev_ble_wireless.o obj/Release/apps/earphone/wireless_mic/odev/odev_bt/odev_edr/adapter_odev_edr.o obj/Release/apps/earphone/wireless_mic/odev/odev_dac/adapter_odev_dac.o obj/Release/apps/earphone/wireless_mic/process/adapter_process.o obj/Release/apps/usr_le_code/ble_proto.o obj/Release/apps/usr_le_code/bleproto.o obj/Release/apps/usr_le_code/bleproto_packer.o obj/Release/apps/usr_le_code/thirdpart/mjson/mjson.o obj/Release/apps/usr_le_code/usr_le_adv.o obj/Release/apps/usr_le_code/usr_le_recieve.o obj/Release/apps/usr_le_code/usr_le_recieve_demo.o obj/Release/cpu/br28/adc_api.o obj/Release/cpu/br28/aec_tool.o obj/Release/cpu/br28/app_audio.o obj/Release/cpu/br28/audio_anc.o obj/Release/cpu/br28/audio_anc_fade_ctr.o obj/Release/cpu/br28/audio_anc_mult_scene.o obj/Release/cpu/br28/audio_capture.o obj/Release/cpu/br28/audio_codec_clock.o obj/Release/cpu/br28/audio_common/audio_mic_codec.o obj/Release/cpu/br28/audio_cvp_dut.o obj/Release/cpu/br28/audio_cvp_sync.o obj/Release/cpu/br28/audio_dec.o obj/Release/cpu/br28/audio_dec/audio_dec_file.o obj/Release/cpu/br28/audio_dec/audio_dec_iis.o obj/Release/cpu/br28/audio_dec/audio_dec_pc.o obj/Release/cpu/br28/audio_dec/audio_dec_pcm.o obj/Release/cpu/br28/audio_dec/audio_usb_mic.o obj/Release/cpu/br28/audio_dec_eff.o obj/Release/cpu/br28/audio_demo/audio_adc_demo.o obj/Release/cpu/br28/audio_demo/audio_dac_demo.o obj/Release/cpu/br28/audio_demo/audio_fft_demo.o obj/Release/cpu/br28/audio_demo/audio_matrix_demo.o obj/Release/cpu/br28/audio_demo/audio_wind_detect_demo.o obj/Release/cpu/br28/audio_effect_develop.o obj/Release/cpu/br28/audio_enc.o obj/Release/cpu/br28/audio_general.o obj/Release/cpu/br28/audio_hearing/audio_hearing_aid.o obj/Release/cpu/br28/audio_hearing/audio_hearing_aid_lp.o obj/Release/cpu/br28/audio_hearing/audio_sidetone.o obj/Release/cpu/br28/audio_link.o obj/Release/cpu/br28/audio_sync.o obj/Release/cpu/br28/charge.o obj/Release/cpu/br28/chargestore.o obj/Release/cpu/br28/clock_manager.o obj/Release/cpu/br28/eq_config.o obj/Release/cpu/br28/hw_fft.o obj/Release/cpu/br28/icsd_anc_user.o obj/Release/cpu/br28/iic_hw.o obj/Release/cpu/br28/iic_soft.o obj/Release/cpu/br28/irflt.o obj/Release/cpu/br28/lp_touch_key.o obj/Release/cpu/br28/lp_touch_key_alog.o obj/Release/cpu/br28/lp_touch_key_tool.o obj/Release/cpu/br28/lua_port_api.o obj/Release/cpu/br28/mcpwm.o obj/Release/cpu/br28/mic_dut_process.o obj/Release/cpu/br28/overlay_code.o obj/Release/cpu/br28/pdm_link.o obj/Release/cpu/br28/plcnt.o obj/Release/cpu/br28/power/power_app.o obj/Release/cpu/br28/power/power_check.o obj/Release/cpu/br28/power/power_port.o obj/Release/cpu/br28/power/power_trim.o obj/Release/cpu/br28/private_iis.o obj/Release/cpu/br28/pwm_led.o obj/Release/cpu/br28/rdec.o obj/Release/cpu/br28/setup.o obj/Release/cpu/br28/smart_voice/aispeech_asr.o obj/Release/cpu/br28/smart_voice/jl_kws_platform.o obj/Release/cpu/br28/smart_voice/kws_event.o obj/Release/cpu/br28/smart_voice/nn_vad.o obj/Release/cpu/br28/smart_voice/smart_voice_config.o obj/Release/cpu/br28/smart_voice/smart_voice_core.o obj/Release/cpu/br28/smart_voice/user_asr.o obj/Release/cpu/br28/smart_voice/vad_clock_trim.o obj/Release/cpu/br28/smart_voice/vad_mic.o obj/Release/cpu/br28/smart_voice/voice_mic_data.o obj/Release/cpu/br28/sound_device.o obj/Release/cpu/br28/spatial_effect/spatial_effect.o obj/Release/cpu/br28/spatial_effect/spatial_effect_imu.o obj/Release/cpu/br28/spatial_effect/spatial_effect_test.o obj/Release/cpu/br28/spatial_effect/spatial_effect_tws.o obj/Release/cpu/br28/spatial_effect/spatial_imu_trim.o obj/Release/cpu/br28/spi.o obj/Release/cpu/br28/tone_player.o obj/Release/cpu/br28/tws_audio.o obj/Release/cpu/br28/uart_dev.o obj/Release/cpu/br28/uart_test.o obj/Release/cpu/br28/umidigi_chargestore.o \ No newline at end of file +obj/Release/apps/common/audio/amplitude_statistic.o obj/Release/apps/common/audio/audio_dvol.o obj/Release/apps/common/audio/audio_export_demo.o obj/Release/apps/common/audio/audio_noise_gate.o obj/Release/apps/common/audio/audio_ns.o obj/Release/apps/common/audio/audio_plc.o obj/Release/apps/common/audio/audio_utils.o obj/Release/apps/common/audio/decode/audio_key_tone.o obj/Release/apps/common/audio/decode/decode.o obj/Release/apps/common/audio/demo/audio_demo.o obj/Release/apps/common/audio/online_debug/aud_data_export.o obj/Release/apps/common/audio/online_debug/aud_mic_dut.o obj/Release/apps/common/audio/online_debug/aud_spatial_effect_dut.o obj/Release/apps/common/audio/online_debug/audio_online_debug.o obj/Release/apps/common/audio/sine_make.o obj/Release/apps/common/audio/uartPcmSender.o obj/Release/apps/common/audio/wm8978/iic.o obj/Release/apps/common/audio/wm8978/wm8978.o obj/Release/apps/common/bt_common/bt_test_api.o obj/Release/apps/common/cJSON/cJSON.o obj/Release/apps/common/config/app_config.o obj/Release/apps/common/config/bt_profile_config.o obj/Release/apps/common/config/ci_transport_uart.o obj/Release/apps/common/config/new_cfg_tool.o obj/Release/apps/common/debug/debug.o obj/Release/apps/common/debug/debug_lite.o obj/Release/apps/common/dev_manager/dev_manager.o obj/Release/apps/common/dev_manager/dev_reg.o obj/Release/apps/common/dev_manager/dev_update.o obj/Release/apps/common/device/gSensor/da230.o obj/Release/apps/common/device/gSensor/gSensor_manage.o obj/Release/apps/common/device/gSensor/mpu6050.o obj/Release/apps/common/device/gSensor/SC7A20.o obj/Release/apps/common/device/gSensor/STK8321.o obj/Release/apps/common/device/gx8002_npu/gx8002_enc/gx8002_enc.o obj/Release/apps/common/device/gx8002_npu/gx8002_npu.o obj/Release/apps/common/device/gx8002_npu/gx8002_npu_event_deal.o obj/Release/apps/common/device/gx8002_npu/gx8002_upgrade/app_upgrade/gx_uart_upgrade_app.o obj/Release/apps/common/device/gx8002_npu/gx8002_upgrade/app_upgrade/gx_uart_upgrade_tws.o obj/Release/apps/common/device/gx8002_npu/gx8002_upgrade/gx_uart_upgrade.o obj/Release/apps/common/device/gx8002_npu/gx8002_upgrade/gx_uart_upgrade_porting.o obj/Release/apps/common/device/gx8002_npu/gx8002_upgrade/sdfile_upgrade/gx_uart_upgrade_sdfile.o obj/Release/apps/common/device/gx8002_npu/gx8002_upgrade/spp_upgrade/gx_fifo.o obj/Release/apps/common/device/gx8002_npu/gx8002_upgrade/spp_upgrade/gx_uart_upgrade_spp.o obj/Release/apps/common/device/imu_sensor/icm_42670p/icm_42670p.o obj/Release/apps/common/device/imu_sensor/icm_42670p/inv_imu_apex.o obj/Release/apps/common/device/imu_sensor/icm_42670p/inv_imu_driver.o obj/Release/apps/common/device/imu_sensor/icm_42670p/inv_imu_transport.o obj/Release/apps/common/device/imu_sensor/imuSensor_manage.o obj/Release/apps/common/device/imu_sensor/lsm6dsl/lsm6dsl.o obj/Release/apps/common/device/imu_sensor/mpu6887/mpu6887p.o obj/Release/apps/common/device/imu_sensor/mpu9250/mpu9250.o obj/Release/apps/common/device/imu_sensor/qmi8658/qmi8658c.o obj/Release/apps/common/device/imu_sensor/sh3001/sh3001.o obj/Release/apps/common/device/in_ear_detect/in_ear_detect.o obj/Release/apps/common/device/in_ear_detect/in_ear_manage.o obj/Release/apps/common/device/ir_sensor/ir_manage.o obj/Release/apps/common/device/ir_sensor/jsa1221.o obj/Release/apps/common/device/key/adkey.o obj/Release/apps/common/device/key/adkey_rtcvdd.o obj/Release/apps/common/device/key/ctmu_touch_key.o obj/Release/apps/common/device/key/iokey.o obj/Release/apps/common/device/key/irkey.o obj/Release/apps/common/device/key/key_driver.o obj/Release/apps/common/device/key/touch_key.o obj/Release/apps/common/device/key/uart_key.o obj/Release/apps/common/device/norflash/norflash_sfc.o obj/Release/apps/common/device/ntc/ntc_det.o obj/Release/apps/common/device/usb/device/cdc.o obj/Release/apps/common/device/usb/device/descriptor.o obj/Release/apps/common/device/usb/device/hid.o obj/Release/apps/common/device/usb/device/msd.o obj/Release/apps/common/device/usb/device/msd_upgrade.o obj/Release/apps/common/device/usb/device/task_pc.o obj/Release/apps/common/device/usb/device/uac1.o obj/Release/apps/common/device/usb/device/uac_stream.o obj/Release/apps/common/device/usb/device/usb_device.o obj/Release/apps/common/device/usb/device/user_setup.o obj/Release/apps/common/device/usb/host/adb.o obj/Release/apps/common/device/usb/host/aoa.o obj/Release/apps/common/device/usb/host/audio.o obj/Release/apps/common/device/usb/host/audio_demo.o obj/Release/apps/common/device/usb/host/hid.o obj/Release/apps/common/device/usb/host/usb_bulk_transfer.o obj/Release/apps/common/device/usb/host/usb_ctrl_transfer.o obj/Release/apps/common/device/usb/host/usb_host.o obj/Release/apps/common/device/usb/host/usb_storage.o obj/Release/apps/common/device/usb/usb_config.o obj/Release/apps/common/device/usb/usb_host_config.o obj/Release/apps/common/ezxml/ezxml.o obj/Release/apps/common/ezxml/ezxml_example.o obj/Release/apps/common/fat_nor/cfg_private.o obj/Release/apps/common/fat_nor/virfat_flash.o obj/Release/apps/common/file_operate/file_bs_deal.o obj/Release/apps/common/file_operate/file_manager.o obj/Release/apps/common/icsd/adt/icsd_adt.o obj/Release/apps/common/icsd/adt/icsd_adt_app.o obj/Release/apps/common/icsd/anc/icsd_anc_app.o obj/Release/apps/common/icsd/anc/icsd_anc_board.o obj/Release/apps/common/icsd/anc/icsd_anc_data.o obj/Release/apps/common/jl_kws/jl_kws_algo.o obj/Release/apps/common/jl_kws/jl_kws_audio.o obj/Release/apps/common/jl_kws/jl_kws_event.o obj/Release/apps/common/jl_kws/jl_kws_main.o obj/Release/apps/common/temp_trim/dtemp_pll_trim.o obj/Release/apps/common/third_party_profile/common/3th_profile_api.o obj/Release/apps/common/third_party_profile/common/custom_cfg.o obj/Release/apps/common/third_party_profile/common/mic_rec.o obj/Release/apps/common/third_party_profile/interface/app_protocol_api.o obj/Release/apps/common/third_party_profile/interface/app_protocol_common.o obj/Release/apps/common/third_party_profile/interface/app_protocol_dma.o obj/Release/apps/common/third_party_profile/interface/app_protocol_gfps.o obj/Release/apps/common/third_party_profile/interface/app_protocol_gma.o obj/Release/apps/common/third_party_profile/interface/app_protocol_mma.o obj/Release/apps/common/third_party_profile/interface/app_protocol_ota.o obj/Release/apps/common/third_party_profile/interface/app_protocol_tme.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_adaptive_noise_reduction.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_anc_voice.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_anc_voice_key.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_bt_name_setting.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_eq_setting.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_hearing_aid_setting.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_high_low_vol_setting.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_key_setting.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_led_setting.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_mic_setting.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_time_stamp_setting.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_work_setting.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_customer_user.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_opt.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_tws_sync.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/rcsp_adv_spp_user.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_ch_loader_download.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_user_update.o obj/Release/apps/common/third_party_profile/jieli/online_db/online_db_deal.o obj/Release/apps/common/third_party_profile/jieli/online_db/spp_online_db.o obj/Release/apps/common/ui/lcd_simple/lcd_simple_api.o obj/Release/apps/common/ui/lcd_simple/ui.o obj/Release/apps/common/ui/lcd_simple/ui_mainmenu.o obj/Release/apps/common/update/testbox_update.o obj/Release/apps/common/update/update.o obj/Release/apps/common/update/update_tws.o obj/Release/apps/common/update/update_tws_new.o obj/Release/apps/earphone/aec/br28/audio_aec.o obj/Release/apps/earphone/aec/br28/audio_aec_demo.o obj/Release/apps/earphone/aec/br28/audio_aec_dms.o obj/Release/apps/earphone/aec/br28/audio_aec_online.o obj/Release/apps/earphone/aec/br28/audio_cvp_3mic.o obj/Release/apps/earphone/aec/br28/audio_cvp_ais_3mic.o obj/Release/apps/earphone/app_ancbox.o obj/Release/apps/earphone/app_anctool.o obj/Release/apps/earphone/app_main.o obj/Release/apps/earphone/app_protocol_deal.o obj/Release/apps/earphone/app_task_switch.o obj/Release/apps/earphone/app_testbox.o obj/Release/apps/earphone/audio_enc_mpt_cvp_ctr.o obj/Release/apps/earphone/audio_enc_mpt_self.o obj/Release/apps/earphone/ble_adv.o obj/Release/apps/earphone/board/br28/board_jl701n_demo.o obj/Release/apps/earphone/bt_auto_test.o obj/Release/apps/earphone/bt_background.o obj/Release/apps/earphone/bt_ble.o obj/Release/apps/earphone/bt_ble_hid.o obj/Release/apps/earphone/bt_emitter.o obj/Release/apps/earphone/bt_tws.o obj/Release/apps/earphone/default_event_handler.o obj/Release/apps/earphone/dual_update_demo.o obj/Release/apps/earphone/earphone.o obj/Release/apps/earphone/eartch_event_deal.o obj/Release/apps/earphone/font/fontinit.o obj/Release/apps/earphone/idle.o obj/Release/apps/earphone/key_event_deal.o obj/Release/apps/earphone/kws_voice_event_deal.o obj/Release/apps/earphone/linein/linein.o obj/Release/apps/earphone/ll_sync_demo/ll_sync_demo.o obj/Release/apps/earphone/log_config/app_config.o obj/Release/apps/earphone/log_config/lib_btctrler_config.o obj/Release/apps/earphone/log_config/lib_btstack_config.o obj/Release/apps/earphone/log_config/lib_driver_config.o obj/Release/apps/earphone/log_config/lib_media_config.o obj/Release/apps/earphone/log_config/lib_system_config.o obj/Release/apps/earphone/log_config/lib_update_config.o obj/Release/apps/earphone/music/sd_music.o obj/Release/apps/earphone/pbg_demo.o obj/Release/apps/earphone/pc/pc.o obj/Release/apps/earphone/power_manage/app_charge.o obj/Release/apps/earphone/power_manage/app_chargestore.o obj/Release/apps/earphone/power_manage/app_power_manage.o obj/Release/apps/earphone/power_manage/app_umidigi_chargestore.o obj/Release/apps/earphone/rcsp/jl_phone_app.o obj/Release/apps/earphone/rcsp/rcsp_adv.o obj/Release/apps/earphone/sdk_version.z.o obj/Release/apps/earphone/tone_table.o obj/Release/apps/earphone/ui/lcd_simple/my_demo.o obj/Release/apps/earphone/ui_manage.o obj/Release/apps/earphone/user_cfg.o obj/Release/apps/earphone/version.o obj/Release/apps/earphone/vol_sync.o obj/Release/apps/earphone/wireless_mic/app_main_wireless_mic.o obj/Release/apps/earphone/wireless_mic/audio/adapter_adc.o obj/Release/apps/earphone/wireless_mic/audio/adapter_media.o obj/Release/apps/earphone/wireless_mic/audio/wireless/adapter_wireless_dec.o obj/Release/apps/earphone/wireless_mic/audio/wireless/adapter_wireless_enc.o obj/Release/apps/earphone/wireless_mic/bt/bt_edr_fun.o obj/Release/apps/earphone/wireless_mic/bt/bt_status_event.o obj/Release/apps/earphone/wireless_mic/idev/adapter_idev.o obj/Release/apps/earphone/wireless_mic/idev/idev_bt/adapter_idev_bt.o obj/Release/apps/earphone/wireless_mic/idev/idev_bt/idev_ble/adapter_idev_ble.o obj/Release/apps/earphone/wireless_mic/idev/idev_mic/adapter_idev_mic.o obj/Release/apps/earphone/wireless_mic/odev/adapter_odev.o obj/Release/apps/earphone/wireless_mic/odev/odev_bt/adapter_odev_bt.o obj/Release/apps/earphone/wireless_mic/odev/odev_bt/odev_ble/adapter_odev_ble.o obj/Release/apps/earphone/wireless_mic/odev/odev_bt/odev_ble/odev_ble_wireless.o obj/Release/apps/earphone/wireless_mic/odev/odev_bt/odev_edr/adapter_odev_edr.o obj/Release/apps/earphone/wireless_mic/odev/odev_dac/adapter_odev_dac.o obj/Release/apps/earphone/wireless_mic/process/adapter_process.o obj/Release/apps/usr_le_code/ble_proto.o obj/Release/apps/usr_le_code/bleproto.o obj/Release/apps/usr_le_code/bleproto_packer.o obj/Release/apps/usr_le_code/thirdpart/mjson/mjson.o obj/Release/apps/usr_le_code/usr_le_adv.o obj/Release/apps/usr_le_code/usr_le_recieve.o obj/Release/apps/usr_le_code/usr_le_recieve_demo.o obj/Release/apps/usr_le_code/usr_usb_jb.o obj/Release/cpu/br28/adc_api.o obj/Release/cpu/br28/aec_tool.o obj/Release/cpu/br28/app_audio.o obj/Release/cpu/br28/audio_anc.o obj/Release/cpu/br28/audio_anc_fade_ctr.o obj/Release/cpu/br28/audio_anc_mult_scene.o obj/Release/cpu/br28/audio_capture.o obj/Release/cpu/br28/audio_codec_clock.o obj/Release/cpu/br28/audio_common/audio_mic_codec.o obj/Release/cpu/br28/audio_cvp_dut.o obj/Release/cpu/br28/audio_cvp_sync.o obj/Release/cpu/br28/audio_dec.o obj/Release/cpu/br28/audio_dec/audio_dec_file.o obj/Release/cpu/br28/audio_dec/audio_dec_iis.o obj/Release/cpu/br28/audio_dec/audio_dec_pc.o obj/Release/cpu/br28/audio_dec/audio_dec_pcm.o obj/Release/cpu/br28/audio_dec/audio_usb_mic.o obj/Release/cpu/br28/audio_dec_eff.o obj/Release/cpu/br28/audio_demo/audio_adc_demo.o obj/Release/cpu/br28/audio_demo/audio_dac_demo.o obj/Release/cpu/br28/audio_demo/audio_fft_demo.o obj/Release/cpu/br28/audio_demo/audio_matrix_demo.o obj/Release/cpu/br28/audio_demo/audio_wind_detect_demo.o obj/Release/cpu/br28/audio_effect_develop.o obj/Release/cpu/br28/audio_enc.o obj/Release/cpu/br28/audio_general.o obj/Release/cpu/br28/audio_hearing/audio_hearing_aid.o obj/Release/cpu/br28/audio_hearing/audio_hearing_aid_lp.o obj/Release/cpu/br28/audio_hearing/audio_sidetone.o obj/Release/cpu/br28/audio_link.o obj/Release/cpu/br28/audio_sync.o obj/Release/cpu/br28/charge.o obj/Release/cpu/br28/chargestore.o obj/Release/cpu/br28/clock_manager.o obj/Release/cpu/br28/eq_config.o obj/Release/cpu/br28/hw_fft.o obj/Release/cpu/br28/icsd_anc_user.o obj/Release/cpu/br28/iic_hw.o obj/Release/cpu/br28/iic_soft.o obj/Release/cpu/br28/irflt.o obj/Release/cpu/br28/lp_touch_key.o obj/Release/cpu/br28/lp_touch_key_alog.o obj/Release/cpu/br28/lp_touch_key_tool.o obj/Release/cpu/br28/lua_port_api.o obj/Release/cpu/br28/mcpwm.o obj/Release/cpu/br28/mic_dut_process.o obj/Release/cpu/br28/overlay_code.o obj/Release/cpu/br28/pdm_link.o obj/Release/cpu/br28/plcnt.o obj/Release/cpu/br28/power/power_app.o obj/Release/cpu/br28/power/power_check.o obj/Release/cpu/br28/power/power_port.o obj/Release/cpu/br28/power/power_trim.o obj/Release/cpu/br28/private_iis.o obj/Release/cpu/br28/pwm_led.o obj/Release/cpu/br28/rdec.o obj/Release/cpu/br28/setup.o obj/Release/cpu/br28/smart_voice/aispeech_asr.o obj/Release/cpu/br28/smart_voice/jl_kws_platform.o obj/Release/cpu/br28/smart_voice/kws_event.o obj/Release/cpu/br28/smart_voice/nn_vad.o obj/Release/cpu/br28/smart_voice/smart_voice_config.o obj/Release/cpu/br28/smart_voice/smart_voice_core.o obj/Release/cpu/br28/smart_voice/user_asr.o obj/Release/cpu/br28/smart_voice/vad_clock_trim.o obj/Release/cpu/br28/smart_voice/vad_mic.o obj/Release/cpu/br28/smart_voice/voice_mic_data.o obj/Release/cpu/br28/sound_device.o obj/Release/cpu/br28/spatial_effect/spatial_effect.o obj/Release/cpu/br28/spatial_effect/spatial_effect_imu.o obj/Release/cpu/br28/spatial_effect/spatial_effect_test.o obj/Release/cpu/br28/spatial_effect/spatial_effect_tws.o obj/Release/cpu/br28/spatial_effect/spatial_imu_trim.o obj/Release/cpu/br28/spi.o obj/Release/cpu/br28/tone_player.o obj/Release/cpu/br28/tws_audio.o obj/Release/cpu/br28/uart_dev.o obj/Release/cpu/br28/uart_test.o obj/Release/cpu/br28/umidigi_chargestore.o \ No newline at end of file diff --git a/cpu/br28/tools/sdk.elf.resolution.txt b/cpu/br28/tools/sdk.elf.resolution.txt index 42178ad..c097234 100644 --- a/cpu/br28/tools/sdk.elf.resolution.txt +++ b/cpu/br28/tools/sdk.elf.resolution.txt @@ -659,6 +659,9 @@ obj/Release/apps/common/device/usb/device/task_pc.o -r=obj/Release/apps/common/device/usb/device/task_pc.o,app_get_curr_task,l -r=obj/Release/apps/common/device/usb/device/task_pc.o,usb_device2id,l -r=obj/Release/apps/common/device/usb/device/task_pc.o,cdc_read_data,l +-r=obj/Release/apps/common/device/usb/device/task_pc.o,printf,l +-r=obj/Release/apps/common/device/usb/device/task_pc.o,put_buf,l +-r=obj/Release/apps/common/device/usb/device/task_pc.o,usr_usb_jb_feed,l -r=obj/Release/apps/common/device/usb/device/task_pc.o,log_tag_const_i_USB,l -r=obj/Release/apps/common/device/usb/device/task_pc.o,log_tag_const_d_USB,l obj/Release/apps/common/device/usb/device/uac1.o @@ -1604,6 +1607,7 @@ obj/Release/apps/earphone/app_main.o -r=obj/Release/apps/earphone/app_main.o,audio_dec_init,l -r=obj/Release/apps/earphone/app_main.o,check_power_on_voltage,l -r=obj/Release/apps/earphone/app_main.o,usr_read_device_sta,l +-r=obj/Release/apps/earphone/app_main.o,usr_prodcode_init,l -r=obj/Release/apps/earphone/app_main.o,usr_clear_pair_info_noreset,l -r=obj/Release/apps/earphone/app_main.o,ui_manage_init,l -r=obj/Release/apps/earphone/app_main.o,ui_update_status,l @@ -3290,11 +3294,11 @@ obj/Release/apps/usr_le_code/usr_le_adv.o -r=obj/Release/apps/usr_le_code/usr_le_adv.o,ble_multi_trans_disconnect,l -r=obj/Release/apps/usr_le_code/usr_le_adv.o,os_time_dly,l -r=obj/Release/apps/usr_le_code/usr_le_adv.o,usr_ble_adv_init,pl +-r=obj/Release/apps/usr_le_code/usr_le_adv.o,usr_prodcode_get,l -r=obj/Release/apps/usr_le_code/usr_le_adv.o,usr_set_adv_interval,l -r=obj/Release/apps/usr_le_code/usr_le_adv.o,bleproto_advdata_encode4bind,l -r=obj/Release/apps/usr_le_code/usr_le_adv.o,bleproto_advdata_encode4reconn,l -r=obj/Release/apps/usr_le_code/usr_le_adv.o,sys_timer_add,l --r=obj/Release/apps/usr_le_code/usr_le_adv.o,usr_get_pair_flag,pl -r=obj/Release/apps/usr_le_code/usr_le_adv.o,usr_ble_adv_updata,pl -r=obj/Release/apps/usr_le_code/usr_le_adv.o,ble_trans_module_enable,l -r=obj/Release/apps/usr_le_code/usr_le_adv.o,muti_make_set_adv_data,l @@ -3359,6 +3363,18 @@ obj/Release/apps/usr_le_code/usr_le_recieve.o -r=obj/Release/apps/usr_le_code/usr_le_recieve.o,usr_auth_data,pl -r=obj/Release/apps/usr_le_code/usr_le_recieve.o,usr_var,l obj/Release/apps/usr_le_code/usr_le_recieve_demo.o +obj/Release/apps/usr_le_code/usr_usb_jb.o +-r=obj/Release/apps/usr_le_code/usr_usb_jb.o,usr_prodcode_init,pl +-r=obj/Release/apps/usr_le_code/usr_usb_jb.o,syscfg_read,l +-r=obj/Release/apps/usr_le_code/usr_usb_jb.o,printf,l +-r=obj/Release/apps/usr_le_code/usr_usb_jb.o,usr_prodcode_get,pl +-r=obj/Release/apps/usr_le_code/usr_usb_jb.o,usr_usb_jb_feed,pl +-r=obj/Release/apps/usr_le_code/usr_usb_jb.o,sys_timeout_add,l +-r=obj/Release/apps/usr_le_code/usr_usb_jb.o,printf_buf,l +-r=obj/Release/apps/usr_le_code/usr_usb_jb.o,usr_goto_pair_mode,l +-r=obj/Release/apps/usr_le_code/usr_usb_jb.o,cdc_write_data,l +-r=obj/Release/apps/usr_le_code/usr_usb_jb.o,syscfg_write,l +-r=obj/Release/apps/usr_le_code/usr_usb_jb.o,puts,l obj/Release/cpu/br28/adc_api.o -r=obj/Release/cpu/br28/adc_api.o,adc_add_sample_ch,pl -r=obj/Release/cpu/br28/adc_api.o,printf,l diff --git a/cpu/br28/tools/sdk.map b/cpu/br28/tools/sdk.map index cf76894..70704b6 100644 --- a/cpu/br28/tools/sdk.map +++ b/cpu/br28/tools/sdk.map @@ -1025,6 +1025,7 @@ Discarded input sections .text 0x00000000 0x0 obj/Release/apps/usr_le_code/usr_le_adv.o (symbol from plugin) .text 0x00000000 0x0 obj/Release/apps/usr_le_code/usr_le_recieve.o (symbol from plugin) .text 0x00000000 0x0 obj/Release/apps/usr_le_code/usr_le_recieve_demo.o (symbol from plugin) + .text 0x00000000 0x0 obj/Release/apps/usr_le_code/usr_usb_jb.o (symbol from plugin) .text 0x00000000 0x0 obj/Release/cpu/br28/adc_api.o (symbol from plugin) .text 0x00000000 0x0 obj/Release/cpu/br28/aec_tool.o (symbol from plugin) .text 0x00000000 0x0 obj/Release/cpu/br28/app_audio.o (symbol from plugin) @@ -2281,6 +2282,7 @@ LOAD obj/Release/apps/usr_le_code/thirdpart/mjson/mjson.o LOAD obj/Release/apps/usr_le_code/usr_le_adv.o LOAD obj/Release/apps/usr_le_code/usr_le_recieve.o LOAD obj/Release/apps/usr_le_code/usr_le_recieve_demo.o +LOAD obj/Release/apps/usr_le_code/usr_usb_jb.o LOAD obj/Release/cpu/br28/adc_api.o LOAD obj/Release/cpu/br28/aec_tool.o LOAD obj/Release/cpu/br28/app_audio.o @@ -2688,424 +2690,425 @@ END GROUP 0x0000000a EQ_SECTION_NUM = 0xa 0x06000100 . = ORIGIN (code0) -.text 0x06000100 0x4f31c +.text 0x06000100 0x4fa64 [!provide] PROVIDE (text_rodata_begin, .) *(.startup.text) .startup.text 0x06000100 0xaa cpu/br28/liba/cpu.a(startup.S.o) 0x06000100 _start *(.text) - .text 0x060001aa 0x13abe cpu\br28\tools\sdk.elf.o - 0x06009786 update_result_get - 0x06009852 __errno - .text 0x06013c68 0x10c C:\JL\pi32\pi32v2-lib\r3-large\libc.a(lib_a-strtol.o) - 0x06013c68 _strtol_r - 0x06013d5a strtol - .text 0x06013d74 0x1c C:\JL\pi32\pi32v2-lib\r3-large\libc.a(lib_a-strtoull.o) - 0x06013d74 strtoull - .text 0x06013d90 0x14a C:\JL\pi32\pi32v2-lib\r3-large\libc.a(lib_a-strtoull_r.o) - 0x06013d90 _strtoull_r - .text 0x06013eda 0x346 C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(divdf3.o) - 0x06013f10 __divdf3 - .text 0x06014220 0x4c C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(floatsidf.o) - 0x06014220 __floatsidf - .text 0x0601426c 0x2fa C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(muldf3.o) - 0x060142a2 __muldf3 - .text 0x06014566 0xc C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(subdf3.o) - 0x06014566 __subdf3 - .text 0x06014572 0x12 C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(udivdi3.o) - 0x06014572 __udivdi3 - .text 0x06014584 0x16 C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(umoddi3.o) - 0x06014584 __umoddi3 - .text 0x0601459a 0x7a C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(extendsfdf2.o) - 0x0601459a __extendsfdf2 - .text 0x06014614 0x3c C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(fixunsdfsi.o) - 0x06014614 __fixunsdfsi - .text 0x06014650 0x34 C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(floatunsidf.o) - 0x06014650 __floatunsidf - 0x06014684 . = ALIGN (0x4) - 0x06014684 update_target_begin = . + .text 0x060001aa 0x13f38 cpu\br28\tools\sdk.elf.o + 0x060098f8 update_result_get + 0x060099c4 __errno + .text 0x060140e2 0x10c C:\JL\pi32\pi32v2-lib\r3-large\libc.a(lib_a-strtol.o) + 0x060140e2 _strtol_r + 0x060141d4 strtol + .text 0x060141ee 0x1c C:\JL\pi32\pi32v2-lib\r3-large\libc.a(lib_a-strtoull.o) + 0x060141ee strtoull + .text 0x0601420a 0x14a C:\JL\pi32\pi32v2-lib\r3-large\libc.a(lib_a-strtoull_r.o) + 0x0601420a _strtoull_r + .text 0x06014354 0x346 C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(divdf3.o) + 0x0601438a __divdf3 + .text 0x0601469a 0x4c C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(floatsidf.o) + 0x0601469a __floatsidf + .text 0x060146e6 0x2fa C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(muldf3.o) + 0x0601471c __muldf3 + .text 0x060149e0 0xc C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(subdf3.o) + 0x060149e0 __subdf3 + .text 0x060149ec 0x12 C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(udivdi3.o) + 0x060149ec __udivdi3 + .text 0x060149fe 0x16 C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(umoddi3.o) + 0x060149fe __umoddi3 + .text 0x06014a14 0x7a C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(extendsfdf2.o) + 0x06014a14 __extendsfdf2 + .text 0x06014a8e 0x3c C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(fixunsdfsi.o) + 0x06014a8e __fixunsdfsi + .text 0x06014aca 0x34 C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(floatunsidf.o) + 0x06014aca __floatunsidf + 0x06014b00 . = ALIGN (0x4) + *fill* 0x06014afe 0x2 + 0x06014b00 update_target_begin = . [!provide] PROVIDE (update_target_begin, .) *(.update_target) .update_target - 0x06014684 0x20 cpu\br28\tools\sdk.elf.o - 0x06014684 iis_update_target - 0x0601468c vad_update_target - 0x06014694 power_update_target - 0x0601469c ble_update_target - 0x060146a4 update_target_end = . + 0x06014b00 0x20 cpu\br28\tools\sdk.elf.o + 0x06014b00 iis_update_target + 0x06014b08 vad_update_target + 0x06014b10 power_update_target + 0x06014b18 ble_update_target + 0x06014b20 update_target_end = . [!provide] PROVIDE (update_target_end, .) - 0x060146a4 . = ALIGN (0x4) + 0x06014b20 . = ALIGN (0x4) *(.LOG_TAG_CONST*) *(.rodata*) .rodata.str1.1 - 0x060146a4 0x11a6 cpu\br28\tools\sdk.elf.o + 0x06014b20 0x11a6 cpu\br28\tools\sdk.elf.o 0x11d8 (size before relaxing) - *fill* 0x0601584a 0x6 - .rodata 0x06015850 0x8a10 cpu\br28\tools\sdk.elf.o + *fill* 0x06015cc6 0xa + .rodata 0x06015cd0 0x8b70 cpu\br28\tools\sdk.elf.o .rodata.str1.16 - 0x0601e260 0xed0 cpu\br28\tools\sdk.elf.o - 0xec2 (size before relaxing) - .rodata.cst16 0x0601f130 0x10 cpu\br28\tools\sdk.elf.o + 0x0601e840 0xf20 cpu\br28\tools\sdk.elf.o + 0xf12 (size before relaxing) + .rodata.cst16 0x0601f760 0x10 cpu\br28\tools\sdk.elf.o 0x20 (size before relaxing) - .rodata.cst8 0x0601f140 0x8 cpu\br28\tools\sdk.elf.o - .rodata.cst4 0x0601f148 0x4 cpu\br28\tools\sdk.elf.o - .rodata 0x0601f14c 0x281 C:\JL\pi32\pi32v2-lib\r3-large\libc.a(lib_a-ctype_.o) - 0x0601f2cc _ctype_ + .rodata.cst8 0x0601f770 0x8 cpu\br28\tools\sdk.elf.o + .rodata.cst4 0x0601f778 0x4 cpu\br28\tools\sdk.elf.o + .rodata 0x0601f77c 0x281 C:\JL\pi32\pi32v2-lib\r3-large\libc.a(lib_a-ctype_.o) + 0x0601f8fc _ctype_ .rodata.str1.1 - 0x0601f3cd 0x2 C:\JL\pi32\pi32v2-lib\r3-large\libc.a(lib_a-impure.o) - 0x0601f3d0 . = ALIGN (0x4) - *fill* 0x0601f3cf 0x1 + 0x0601f9fd 0x2 C:\JL\pi32\pi32v2-lib\r3-large\libc.a(lib_a-impure.o) + 0x0601fa00 . = ALIGN (0x4) + *fill* 0x0601f9ff 0x1 [!provide] PROVIDE (text_rodata_end, .) - 0x0601f3d0 clock_critical_handler_begin = . + 0x0601fa00 clock_critical_handler_begin = . *(.clock_critical_txt) .clock_critical_txt - 0x0601f3d0 0x38 cpu\br28\tools\sdk.elf.o - 0x0601f3d0 clock_chargestore - 0x0601f3d8 clock_mcpwm - 0x0601f3e0 clock_uart - 0x0601f3e8 clock_timer - 0x0601f3f0 clock_lrc - 0x0601f3f8 clock_rch - 0x0601f400 clock_port - 0x0601f408 clock_critical_handler_end = . - 0x0601f408 chargestore_handler_begin = . + 0x0601fa00 0x38 cpu\br28\tools\sdk.elf.o + 0x0601fa00 clock_chargestore + 0x0601fa08 clock_mcpwm + 0x0601fa10 clock_uart + 0x0601fa18 clock_timer + 0x0601fa20 clock_lrc + 0x0601fa28 clock_rch + 0x0601fa30 clock_port + 0x0601fa38 clock_critical_handler_end = . + 0x0601fa38 chargestore_handler_begin = . *(.chargestore_callback_txt) .chargestore_callback_txt - 0x0601f408 0x4 cpu\br28\tools\sdk.elf.o - 0x0601f408 chargestore_testbox - 0x0601f40c chargestore_handler_end = . + 0x0601fa38 0x4 cpu\br28\tools\sdk.elf.o + 0x0601fa38 chargestore_testbox + 0x0601fa3c chargestore_handler_end = . *(.opcore_table_maskrom) *(.bfilt_table_maskroom) *(.opcore_maskrom) *(.bfilt_code) *(.bfilt_const) - 0x0601f40c . = ALIGN (0x4) - 0x0601f40c lcd_interface_begin = . + 0x0601fa3c . = ALIGN (0x4) + 0x0601fa3c lcd_interface_begin = . *(.lcd_if_info) - 0x0601f40c lcd_interface_end = . - 0x0601f40c ui_style_begin = . + 0x0601fa3c lcd_interface_end = . + 0x0601fa3c ui_style_begin = . *(.ui_style) - 0x0601f40c ui_style_end = . - 0x0601f40c elm_event_handler_begin_JL = . + 0x0601fa3c ui_style_end = . + 0x0601fa3c elm_event_handler_begin_JL = . *(.elm_event_handler_JL) - 0x0601f40c elm_event_handler_end_JL = . - 0x0601f40c elm_event_handler_begin_UPGRADE = . + 0x0601fa3c elm_event_handler_end_JL = . + 0x0601fa3c elm_event_handler_begin_UPGRADE = . *(.elm_event_handler_UPGRADE) - 0x0601f40c elm_event_handler_end_UPGRADE = . - 0x0601f40c elm_event_handler_begin_DIAL = . + 0x0601fa3c elm_event_handler_end_UPGRADE = . + 0x0601fa3c elm_event_handler_begin_DIAL = . *(.elm_event_handler_DIAL) - 0x0601f40c elm_event_handler_end_DIAL = . - 0x0601f40c control_event_handler_begin = . + 0x0601fa3c elm_event_handler_end_DIAL = . + 0x0601fa3c control_event_handler_begin = . *(.control_event_handler) - 0x0601f40c control_event_handler_end = . - 0x0601f40c control_ops_begin = . + 0x0601fa3c control_event_handler_end = . + 0x0601fa3c control_ops_begin = . *(.control_ops) - 0x0601f40c control_ops_end = . - 0x0601f40c battery_notify_begin = . + 0x0601fa3c control_ops_end = . + 0x0601fa3c battery_notify_begin = . *(.battery_notify) - 0x0601f40c battery_notify_end = . - 0x0601f40c . = ALIGN (0x4) - 0x0601f40c __VERSION_BEGIN = . + 0x0601fa3c battery_notify_end = . + 0x0601fa3c . = ALIGN (0x4) + 0x0601fa3c __VERSION_BEGIN = . *(.sys.version) - .sys.version 0x0601f40c 0x26 obj/Release/apps/earphone/sdk_version.z.o - 0x0601f432 __VERSION_END = . + .sys.version 0x0601fa3c 0x26 obj/Release/apps/earphone/sdk_version.z.o + 0x0601fa62 __VERSION_END = . *(.noop_version) - 0x0601f434 . = ALIGN (0x4) - *fill* 0x0601f432 0x2 - 0x0601f434 . = ALIGN (0x4) - 0x0601f434 tool_interface_begin = . + 0x0601fa64 . = ALIGN (0x4) + *fill* 0x0601fa62 0x2 + 0x0601fa64 . = ALIGN (0x4) + 0x0601fa64 tool_interface_begin = . *(.tool_interface) - 0x0601f434 tool_interface_end = . - 0x0601f434 . = ALIGN (0x4) - 0x0601f434 cmd_interface_begin = . + 0x0601fa64 tool_interface_end = . + 0x0601fa64 . = ALIGN (0x4) + 0x0601fa64 cmd_interface_begin = . *(.eff_cmd) - 0x0601f434 cmd_interface_end = . - 0x0601f434 . = ALIGN (0x4) - 0x0601f440 . = ALIGN (0x20) - *fill* 0x0601f434 0xc - 0x0601f440 m_code_addr = . + 0x0601fa64 cmd_interface_end = . + 0x0601fa64 . = ALIGN (0x4) + 0x0601fa80 . = ALIGN (0x20) + *fill* 0x0601fa64 0x1c + 0x0601fa80 m_code_addr = . *(.m.code*) *(.movable.code*) 0x00000000 m_code_size = ABSOLUTE ((. - m_code_addr)) - 0x0601f440 . = ALIGN (0x20) - 0x0601f440 gsensor_dev_begin = . + 0x0601fa80 . = ALIGN (0x20) + 0x0601fa80 gsensor_dev_begin = . *(.gsensor_dev) - 0x0601f440 gsensor_dev_end = . - 0x0601f440 fm_dev_begin = . + 0x0601fa80 gsensor_dev_end = . + 0x0601fa80 fm_dev_begin = . *(.fm_dev) - 0x0601f440 fm_dev_end = . - 0x0601f440 fm_emitter_dev_begin = . + 0x0601fa80 fm_dev_end = . + 0x0601fa80 fm_emitter_dev_begin = . *(.fm_emitter_dev) - 0x0601f440 fm_emitter_dev_end = . - 0x0601f440 storage_device_begin = . + 0x0601fa80 fm_emitter_dev_end = . + 0x0601fa80 storage_device_begin = . *(.storage_device) - 0x0601f440 storage_device_end = . - 0x0601f440 imusensor_dev_begin = . + 0x0601fa80 storage_device_end = . + 0x0601fa80 imusensor_dev_begin = . *(.imusensor_dev) - 0x0601f440 imusensor_dev_end = . - 0x0601f440 aac_dec_code_begin = . + 0x0601fa80 imusensor_dev_end = . + 0x0601fa80 aac_dec_code_begin = . *(.bt_aac_dec_code) *(.bt_aac_dec_sparse_code) - 0x0601f440 aac_dec_code_end = . + 0x0601fa80 aac_dec_code_end = . 0x00000000 aac_dec_code_size = (aac_dec_code_end - aac_dec_code_begin) - 0x0601f440 . = ALIGN (0x4) - 0x0601f440 bt_aac_dec_const_begin = . + 0x0601fa80 . = ALIGN (0x4) + 0x0601fa80 bt_aac_dec_const_begin = . *(.bt_aac_dec_const) *(.bt_aac_dec_sparse_const) - 0x0601f440 bt_aac_dec_const_end = . + 0x0601fa80 bt_aac_dec_const_end = . 0x00000000 bt_aac_dec_const_size = (bt_aac_dec_const_end - bt_aac_dec_const_begin) *(.bt_aac_dec_data) *(.bt_aac_dec_bss) - 0x0601f440 . = ALIGN (0x4) + 0x0601fa80 . = ALIGN (0x4) *(.aac_mem) *(.aac_ctrl_mem) - 0x0601f440 . = ALIGN (0x20) - 0x0601f440 update_code_start = . + 0x0601fa80 . = ALIGN (0x20) + 0x0601fa80 update_code_start = . *(.bt_updata_ram_code) *(.update_const) - .update_const 0x0601f440 0xba cpu\br28\tools\sdk.elf.o + .update_const 0x0601fa80 0xba cpu\br28\tools\sdk.elf.o *(.update_code) - .update_code 0x0601f4fa 0x1a14 cpu\br28\tools\sdk.elf.o - 0x06020f0e update_code_end = . - 0x06020f0e btstack_code_start = . - 0x06020f10 . = ALIGN (0x4) - *fill* 0x06020f0e 0x2 - 0x06020f10 a2dp_source_media_codec_begin = . + .update_code 0x0601fb3a 0x1a14 cpu\br28\tools\sdk.elf.o + 0x0602154e update_code_end = . + 0x0602154e btstack_code_start = . + 0x06021550 . = ALIGN (0x4) + *fill* 0x0602154e 0x2 + 0x06021550 a2dp_source_media_codec_begin = . *(.a2dp_source_media_codec) .a2dp_source_media_codec - 0x06020f10 0x30 cpu\br28\tools\sdk.elf.o - 0x06020f10 a2dp_source_lc3_codec - 0x06020f28 a2dp_source_sbc_codec - 0x06020f40 a2dp_source_media_codec_end = . - 0x06020f40 a2dp_sink_media_probe_begin = . + 0x06021550 0x30 cpu\br28\tools\sdk.elf.o + 0x06021550 a2dp_source_lc3_codec + 0x06021568 a2dp_source_sbc_codec + 0x06021580 a2dp_source_media_codec_end = . + 0x06021580 a2dp_sink_media_probe_begin = . *(.a2dp_sink_media_probe) - 0x06020f40 a2dp_sink_media_probe_end = . - 0x06020f40 a2dp_sink_media_codec_begin = . + 0x06021580 a2dp_sink_media_probe_end = . + 0x06021580 a2dp_sink_media_codec_begin = . *(.a2dp_sink_media_codec) .a2dp_sink_media_codec - 0x06020f40 0x48 cpu\br28\tools\sdk.elf.o - 0x06020f40 a2dp_1sbc_codec_private - 0x06020f58 a2dp_2aac_sink_codec - 0x06020f70 a2dp_4ldac_sink_codec - 0x06020f88 a2dp_sink_media_codec_end = . - 0x06020f88 a2dp_event_handler_begin = . + 0x06021580 0x48 cpu\br28\tools\sdk.elf.o + 0x06021580 a2dp_1sbc_codec_private + 0x06021598 a2dp_2aac_sink_codec + 0x060215b0 a2dp_4ldac_sink_codec + 0x060215c8 a2dp_sink_media_codec_end = . + 0x060215c8 a2dp_event_handler_begin = . *(.a2dp_event_handler) .a2dp_event_handler - 0x06020f88 0x70 cpu\br28\tools\sdk.elf.o - 0x06020f88 a2dp_sink_event_handler - 0x06020fa4 a2dp_source_event_handler - 0x06020fc0 acp_a2dp_event_handler - 0x06020fdc acp_a2dp_src_event_handler - 0x06020ff8 a2dp_event_handler_end = . - 0x06020ff8 sdp_record_item_begin = . + 0x060215c8 0x70 cpu\br28\tools\sdk.elf.o + 0x060215c8 a2dp_sink_event_handler + 0x060215e4 a2dp_source_event_handler + 0x06021600 acp_a2dp_event_handler + 0x0602161c acp_a2dp_src_event_handler + 0x06021638 a2dp_event_handler_end = . + 0x06021638 sdp_record_item_begin = . *(.sdp_record_item) - 0x06020ff8 sdp_record_item_end = . - 0x06020ff8 bt_sleep_begin = . + 0x06021638 sdp_record_item_end = . + 0x06021638 bt_sleep_begin = . *(.bt_sleep) - .bt_sleep 0x06020ff8 0x6c cpu\br28\tools\sdk.elf.o - 0x06020ff8 bt_suspend_a2dp_resumea2dp_release - 0x06021004 bt_suspend_avctp_resumeavctp_release - 0x06021010 bt_suspend_hfp_resumehfp_release - 0x0602101c bt_suspend_user_cmd_loop_resumeuser_cmd_loop_release - 0x06021028 bt_suspend_hid_resumehid_release - 0x06021034 bt_suspend_spp_resumespp_release - 0x06021040 bt_suspend_spp_up_resumespp_up_release - 0x0602104c bt_suspend_iap_resumeiap_release - 0x06021058 bt_suspend_sdp_resumesdp_release - 0x06021064 bt_sleep_end = . + .bt_sleep 0x06021638 0x6c cpu\br28\tools\sdk.elf.o + 0x06021638 bt_suspend_a2dp_resumea2dp_release + 0x06021644 bt_suspend_avctp_resumeavctp_release + 0x06021650 bt_suspend_hfp_resumehfp_release + 0x0602165c bt_suspend_user_cmd_loop_resumeuser_cmd_loop_release + 0x06021668 bt_suspend_hid_resumehid_release + 0x06021674 bt_suspend_spp_resumespp_release + 0x06021680 bt_suspend_spp_up_resumespp_up_release + 0x0602168c bt_suspend_iap_resumeiap_release + 0x06021698 bt_suspend_sdp_resumesdp_release + 0x060216a4 bt_sleep_end = . *(.bt_stack_const) .bt_stack_const - 0x06021064 0x174 cpu\br28\tools\sdk.elf.o + 0x060216a4 0x174 cpu\br28\tools\sdk.elf.o *(.bt_stack_code) .bt_stack_code - 0x060211d8 0x7c38 cpu\br28\tools\sdk.elf.o + 0x06021818 0x7c38 cpu\br28\tools\sdk.elf.o *(.ble_db_const) *(.ble_db_code) - .ble_db_code 0x06028e10 0x18e cpu\br28\tools\sdk.elf.o + .ble_db_code 0x06029450 0x18e cpu\br28\tools\sdk.elf.o *(.ble_sm_const) - *fill* 0x06028f9e 0x2 - .ble_sm_const 0x06028fa0 0x73 cpu\br28\tools\sdk.elf.o + *fill* 0x060295de 0x2 + .ble_sm_const 0x060295e0 0x73 cpu\br28\tools\sdk.elf.o *(.ble_sm_code) - *fill* 0x06029013 0x1 - .ble_sm_code 0x06029014 0x20e0 cpu\br28\tools\sdk.elf.o + *fill* 0x06029653 0x1 + .ble_sm_code 0x06029654 0x20e0 cpu\br28\tools\sdk.elf.o *(.ble_att_const) .ble_att_const - 0x0602b0f4 0x17 cpu\br28\tools\sdk.elf.o + 0x0602b734 0x17 cpu\br28\tools\sdk.elf.o *(.ble_att_code) - *fill* 0x0602b10b 0x1 - .ble_att_code 0x0602b10c 0x754 cpu\br28\tools\sdk.elf.o + *fill* 0x0602b74b 0x1 + .ble_att_code 0x0602b74c 0x754 cpu\br28\tools\sdk.elf.o *(.ble_gatt_const) *(.ble_gatt_code) .ble_gatt_code - 0x0602b860 0xa0 cpu\br28\tools\sdk.elf.o - 0x0602b900 BTSTACK_LE_HOST_MESH_CODE_START = . + 0x0602bea0 0xa0 cpu\br28\tools\sdk.elf.o + 0x0602bf40 BTSTACK_LE_HOST_MESH_CODE_START = . *(.ble_mesh_code) *(.ble_mesh_tinycrypt_code) *(.ble_mesh_const) *(.ble_mesh_tinycrypt_const) 0x00000000 BTSTACK_LE_HOST_MESH_CODE_SIZE = ABSOLUTE ((. - BTSTACK_LE_HOST_MESH_CODE_START)) - 0x0602b900 btstack_code_end = . - 0x0602b900 . = ALIGN (0x4) - 0x0602b900 . = ALIGN (0x4) - 0x0602b900 system_text_start = . - 0x0602b900 _device_node_begin = . - 0x0602b900 PROVIDE (device_node_begin, .) + 0x0602bf40 btstack_code_end = . + 0x0602bf40 . = ALIGN (0x4) + 0x0602bf40 . = ALIGN (0x4) + 0x0602bf40 system_text_start = . + 0x0602bf40 _device_node_begin = . + 0x0602bf40 PROVIDE (device_node_begin, .) *(.device) - .device 0x0602b900 0x18 cpu\br28\tools\sdk.elf.o - 0x0602b900 device_table - 0x0602b918 _device_node_end = . - 0x0602b918 PROVIDE (device_node_end, .) - 0x0602b918 config_target_begin = . + .device 0x0602bf40 0x18 cpu\br28\tools\sdk.elf.o + 0x0602bf40 device_table + 0x0602bf58 _device_node_end = . + 0x0602bf58 PROVIDE (device_node_end, .) + 0x0602bf58 config_target_begin = . [!provide] PROVIDE (config_target_begin, .) *(.config_target) .config_target - 0x0602b918 0x8 cpu\br28\tools\sdk.elf.o - 0x0602b918 eq_config_target - 0x0602b920 config_target_end = . + 0x0602bf58 0x8 cpu\br28\tools\sdk.elf.o + 0x0602bf58 eq_config_target + 0x0602bf60 config_target_end = . [!provide] PROVIDE (config_target_end, .) - 0x0602b920 system_code_begin = . + 0x0602bf60 system_code_begin = . *(.system.*.text) .system.cpu.text - 0x0602b920 0x916 cpu\br28\tools\sdk.elf.o + 0x0602bf60 0x918 cpu\br28\tools\sdk.elf.o .system.lbuf.text - 0x0602c236 0x388 cpu\br28\tools\sdk.elf.o + 0x0602c878 0x388 cpu\br28\tools\sdk.elf.o .system.printf.text - 0x0602c5be 0x600 cpu\br28\tools\sdk.elf.o + 0x0602cc00 0x600 cpu\br28\tools\sdk.elf.o .system.cbuf.text - 0x0602cbbe 0x1e6 cpu\br28\tools\sdk.elf.o + 0x0602d200 0x1e6 cpu\br28\tools\sdk.elf.o .system.event.text - 0x0602cda4 0x4ba cpu\br28\tools\sdk.elf.o + 0x0602d3e6 0x4ba cpu\br28\tools\sdk.elf.o .system.timer.text - 0x0602d25e 0x78c cpu\br28\tools\sdk.elf.o + 0x0602d8a0 0x78c cpu\br28\tools\sdk.elf.o .system.device.text - 0x0602d9ea 0xf8 cpu\br28\tools\sdk.elf.o + 0x0602e02c 0xf8 cpu\br28\tools\sdk.elf.o .system.fs.text - 0x0602dae2 0xe42 cpu\br28\tools\sdk.elf.o + 0x0602e124 0xe42 cpu\br28\tools\sdk.elf.o .system.ascii.text - 0x0602e924 0x8c cpu\br28\tools\sdk.elf.o + 0x0602ef66 0x8c cpu\br28\tools\sdk.elf.o .system.cfg_tool.text - 0x0602e9b0 0x786 cpu\br28\tools\sdk.elf.o + 0x0602eff2 0x786 cpu\br28\tools\sdk.elf.o .system.app_core.text - 0x0602f136 0x2f2 cpu\br28\tools\sdk.elf.o + 0x0602f778 0x2f2 cpu\br28\tools\sdk.elf.o .system.init.text - 0x0602f428 0x8f0 cpu\br28\tools\sdk.elf.o - 0x0602f432 boot_info_init - 0x0602f45c cpu1_main - 0x0602f4be main + 0x0602fa6a 0x9de cpu\br28\tools\sdk.elf.o + 0x0602fa74 boot_info_init + 0x0602fa9e cpu1_main + 0x0602fb00 main .system.task.text - 0x0602fd18 0x5e cpu\br28\tools\sdk.elf.o - 0x0602fd76 system_code_end = . - 0x0602fd78 . = ALIGN (0x4) - *fill* 0x0602fd76 0x2 - 0x00004456 system_code_size = (system_code_end - system_code_begin) - 0x0602fd78 vfs_ops_begin = . + 0x06030448 0x5e cpu\br28\tools\sdk.elf.o + 0x060304a6 system_code_end = . + 0x060304a8 . = ALIGN (0x4) + *fill* 0x060304a6 0x2 + 0x00004546 system_code_size = (system_code_end - system_code_begin) + 0x060304a8 vfs_ops_begin = . *(.vfs_operations) .vfs_operations - 0x0602fd78 0x74 cpu\br28\tools\sdk.elf.o - 0x0602fd78 sdfile_vfs_ops - 0x0602fdec vfs_ops_end = . - 0x0602fdec _lib_version_begin = . + 0x060304a8 0x74 cpu\br28\tools\sdk.elf.o + 0x060304a8 sdfile_vfs_ops + 0x0603051c vfs_ops_end = . + 0x0603051c _lib_version_begin = . [!provide] PROVIDE (lib_version_begin, .) *(.lib_version) - .lib_version 0x0602fdec 0xc cpu\br28\tools\sdk.elf.o - 0x0602fdec __version_sdfile - 0x0602fdf0 __version_fs - 0x0602fdf4 __version_fatfs - 0x0602fdf8 _lib_version_end = . + .lib_version 0x0603051c 0xc cpu\br28\tools\sdk.elf.o + 0x0603051c __version_sdfile + 0x06030520 __version_fs + 0x06030524 __version_fatfs + 0x06030528 _lib_version_end = . [!provide] PROVIDE (lib_version_end, .) - 0x0602fdf8 _initcall_begin = . - 0x0602fdf8 PROVIDE (initcall_begin, .) + 0x06030528 _initcall_begin = . + 0x06030528 PROVIDE (initcall_begin, .) *(.initcall) - .initcall 0x0602fdf8 0x14 cpu\br28\tools\sdk.elf.o - 0x0602fdf8 __initcall_audio_online_debug_open - 0x0602fdfc __initcall_trim_timer_add - 0x0602fe00 __initcall_app_update_init - 0x0602fe04 __initcall_tone_table_init - 0x0602fe08 __initcall_audio_vbass_init - 0x0602fe0c _initcall_end = . - 0x0602fe0c PROVIDE (initcall_end, .) - 0x0602fe0c _early_initcall_begin = . - 0x0602fe0c PROVIDE (early_initcall_begin, .) + .initcall 0x06030528 0x14 cpu\br28\tools\sdk.elf.o + 0x06030528 __initcall_audio_online_debug_open + 0x0603052c __initcall_trim_timer_add + 0x06030530 __initcall_app_update_init + 0x06030534 __initcall_tone_table_init + 0x06030538 __initcall_audio_vbass_init + 0x0603053c _initcall_end = . + 0x0603053c PROVIDE (initcall_end, .) + 0x0603053c _early_initcall_begin = . + 0x0603053c PROVIDE (early_initcall_begin, .) *(.early.initcall) .early.initcall - 0x0602fe0c 0x8 cpu\br28\tools\sdk.elf.o - 0x0602fe0c __initcall_sys_event_init - 0x0602fe10 __initcall_sdfile_init - 0x0602fe14 _early_initcall_end = . - 0x0602fe14 PROVIDE (early_initcall_end, .) - 0x0602fe14 _late_initcall_begin = . - 0x0602fe14 PROVIDE (late_initcall_begin, .) + 0x0603053c 0x8 cpu\br28\tools\sdk.elf.o + 0x0603053c __initcall_sys_event_init + 0x06030540 __initcall_sdfile_init + 0x06030544 _early_initcall_end = . + 0x06030544 PROVIDE (early_initcall_end, .) + 0x06030544 _late_initcall_begin = . + 0x06030544 PROVIDE (late_initcall_begin, .) *(.late.initcall) .late.initcall - 0x0602fe14 0x8 cpu\br28\tools\sdk.elf.o - 0x0602fe14 __initcall_check_otp_data - 0x0602fe18 __initcall_sdk_meky_check - 0x0602fe1c _late_initcall_end = . - 0x0602fe1c PROVIDE (late_initcall_end, .) - 0x0602fe1c _platform_initcall_begin = . - 0x0602fe1c PROVIDE (platform_initcall_begin, .) + 0x06030544 0x8 cpu\br28\tools\sdk.elf.o + 0x06030544 __initcall_check_otp_data + 0x06030548 __initcall_sdk_meky_check + 0x0603054c _late_initcall_end = . + 0x0603054c PROVIDE (late_initcall_end, .) + 0x0603054c _platform_initcall_begin = . + 0x0603054c PROVIDE (platform_initcall_begin, .) *(.platform.initcall) .platform.initcall - 0x0602fe1c 0x4 cpu\br28\tools\sdk.elf.o - 0x0602fe1c __initcall_syscfg_tools_init - 0x0602fe20 _platform_initcall_end = . - 0x0602fe20 PROVIDE (platform_initcall_end, .) - 0x0602fe20 _module_initcall_begin = . - 0x0602fe20 PROVIDE (module_initcall_begin, .) + 0x0603054c 0x4 cpu\br28\tools\sdk.elf.o + 0x0603054c __initcall_syscfg_tools_init + 0x06030550 _platform_initcall_end = . + 0x06030550 PROVIDE (platform_initcall_end, .) + 0x06030550 _module_initcall_begin = . + 0x06030550 PROVIDE (module_initcall_begin, .) *(.module.initcall) - 0x0602fe20 _module_initcall_end = . - 0x0602fe20 PROVIDE (module_initcall_end, .) - 0x0602fe20 _sys_event_handler_begin = . - 0x0602fe20 PROVIDE (sys_event_handler_begin, .) + 0x06030550 _module_initcall_end = . + 0x06030550 PROVIDE (module_initcall_end, .) + 0x06030550 _sys_event_handler_begin = . + 0x06030550 PROVIDE (sys_event_handler_begin, .) *(.sys_event.4.handler) .sys_event.4.handler - 0x0602fe20 0x8 cpu\br28\tools\sdk.elf.o - 0x0602fe20 __event_handler_bt_tws_event_handler + 0x06030550 0x8 cpu\br28\tools\sdk.elf.o + 0x06030550 __event_handler_bt_tws_event_handler *(.sys_event.3.handler) *(.sys_event.2.handler) *(.sys_event.1.handler) *(.sys_event.0.handler) - 0x0602fe28 _sys_event_handler_end = . - 0x0602fe28 PROVIDE (sys_event_handler_end, .) - 0x0602fe28 _syscfg_arg_begin = . + 0x06030558 _sys_event_handler_end = . + 0x06030558 PROVIDE (sys_event_handler_end, .) + 0x06030558 _syscfg_arg_begin = . [!provide] PROVIDE (syscfg_arg_begin, .) *(.syscfg.arg) - 0x0602fe28 _syscfg_arg_end = . + 0x06030558 _syscfg_arg_end = . [!provide] PROVIDE (syscfg_arg_end, .) - 0x0602fe28 _syscfg_handler_begin = . + 0x06030558 _syscfg_handler_begin = . [!provide] PROVIDE (syscfg_handler_begin, .) *(.syscfg.handler) - 0x0602fe28 _syscfg_handler_end = . + 0x06030558 _syscfg_handler_end = . [!provide] PROVIDE (syscfg_handler_end, .) - 0x0602fe28 _syscfg_ops_begin = . - 0x0602fe28 PROVIDE (syscfg_ops_begin, .) + 0x06030558 _syscfg_ops_begin = . + 0x06030558 PROVIDE (syscfg_ops_begin, .) *(.syscfg.2.ops) - .syscfg.2.ops 0x0602fe28 0x1c cpu\br28\tools\sdk.elf.o - 0x0602fe28 cfg_btif + .syscfg.2.ops 0x06030558 0x1c cpu\br28\tools\sdk.elf.o + 0x06030558 cfg_btif *(.syscfg.1.ops) - .syscfg.1.ops 0x0602fe44 0x1c cpu\br28\tools\sdk.elf.o - 0x0602fe44 cfg_vm + .syscfg.1.ops 0x06030574 0x1c cpu\br28\tools\sdk.elf.o + 0x06030574 cfg_vm *(.syscfg.0.ops) - .syscfg.0.ops 0x0602fe60 0x1c cpu\br28\tools\sdk.elf.o - 0x0602fe60 cfg_bin - 0x0602fe7c _syscfg_ops_end = . - 0x0602fe7c PROVIDE (syscfg_ops_end, .) - 0x0602fe7c _server_info_begin = . + .syscfg.0.ops 0x06030590 0x1c cpu\br28\tools\sdk.elf.o + 0x06030590 cfg_bin + 0x060305ac _syscfg_ops_end = . + 0x060305ac PROVIDE (syscfg_ops_end, .) + 0x060305ac _server_info_begin = . [!provide] PROVIDE (server_info_begin, .) *(.server_info) - 0x0602fe7c _server_info_end = . + 0x060305ac _server_info_end = . [!provide] PROVIDE (server_info_end, .) - 0x0602fe7c _bus_device_begin = . + 0x060305ac _bus_device_begin = . [!provide] PROVIDE (bus_device_begin, .) *(.bus_device) - 0x0602fe7c _bus_device_end = . + 0x060305ac _bus_device_end = . [!provide] PROVIDE (bus_device_end, .) - 0x0602fe7c _sys_power_hal_ops_begin = . + 0x060305ac _sys_power_hal_ops_begin = . [!provide] PROVIDE (sys_power_hal_ops_begin, .) *(.sys_power_hal_ops) - 0x0602fe7c _sys_power_hal_ops_end = . + 0x060305ac _sys_power_hal_ops_end = . [!provide] PROVIDE (sys_power_hal_ops_end, .) - 0x0602fe7c crypto_begin = . + 0x060305ac crypto_begin = . *(.crypto_ecdh_code) *(.crypto_ecdh_const) *(.crypto_bigint_code) @@ -3122,63 +3125,63 @@ END GROUP *(.hash_sample_const) *(.aes_cmac_sample_code) *(.aes_cmac_sample_const) - 0x0602fe7c crypto_end = . + 0x060305ac crypto_end = . 0x00000000 crypto_size = (. - crypto_begin) *(.mem_code) *(.mem_const) *(.os_port_code) *(.os_port_const) *(.os_const) - .os_const 0x0602fe7c 0x18 cpu\br28\tools\sdk.elf.o + .os_const 0x060305ac 0x18 cpu\br28\tools\sdk.elf.o *(.math_fast_funtion_code) .math_fast_funtion_code - 0x0602fe94 0x1c cpu\br28\tools\sdk.elf.o - 0x0602feb0 __movable_function_start = . + 0x060305c4 0x1c cpu\br28\tools\sdk.elf.o + 0x060305e0 __movable_function_start = . *(movable.text.*) *(movable.stub.*) *(movable.region.*) - 0x0602feb0 __movable_function_end = . + 0x060305e0 __movable_function_end = . 0x00000000 __movable_function_size = (__movable_function_end - __movable_function_start) - 0x0602feb0 system_text_end = . - 0x000045b0 system_code_total_size = (system_text_end - system_text_start) - 0x0602feb0 btctler_code_start = . - 0x0602feb0 BTCTLER_CONTROLLER_CODE_START = . + 0x060305e0 system_text_end = . + 0x000046a0 system_code_total_size = (system_text_end - system_text_start) + 0x060305e0 btctler_code_start = . + 0x060305e0 BTCTLER_CONTROLLER_CODE_START = . *(.bt_rf_const) - .bt_rf_const 0x0602feb0 0x5f4 cpu\br28\tools\sdk.elf.o + .bt_rf_const 0x060305e0 0x5f4 cpu\br28\tools\sdk.elf.o *(.bt_rf_code) - .bt_rf_code 0x060304a4 0x1b02 cpu\br28\tools\sdk.elf.o + .bt_rf_code 0x06030bd4 0x1b02 cpu\br28\tools\sdk.elf.o *(.vendor_manager_const) *(.vendor_manager_code) *(.device_manager_const) *(.device_manager_code) *(.hci_controller_const) - *fill* 0x06031fa6 0x2 + *fill* 0x060326d6 0x2 .hci_controller_const - 0x06031fa8 0x28 cpu\br28\tools\sdk.elf.o + 0x060326d8 0x28 cpu\br28\tools\sdk.elf.o *(.hci_controller_code) .hci_controller_code - 0x06031fd0 0x640 cpu\br28\tools\sdk.elf.o + 0x06032700 0x640 cpu\br28\tools\sdk.elf.o *(.hci_interface_const) *(.hci_interface_code) 0x00002760 BTCTLER_CONTROLLER_CODE_SIZE = ABSOLUTE ((. - BTCTLER_CONTROLLER_CODE_START)) - 0x06032610 BTCTLER_LE_CONTROLLER_CODE_START = . + 0x06032d40 BTCTLER_LE_CONTROLLER_CODE_START = . *(.ble_rf_const) - .ble_rf_const 0x06032610 0x28 cpu\br28\tools\sdk.elf.o + .ble_rf_const 0x06032d40 0x28 cpu\br28\tools\sdk.elf.o *(.ble_rf_code) - .ble_rf_code 0x06032638 0x3cee cpu\br28\tools\sdk.elf.o + .ble_rf_code 0x06032d68 0x3cee cpu\br28\tools\sdk.elf.o *(.ble_ll_const) - *fill* 0x06036326 0x2 - .ble_ll_const 0x06036328 0xb4 cpu\br28\tools\sdk.elf.o + *fill* 0x06036a56 0x2 + .ble_ll_const 0x06036a58 0xb4 cpu\br28\tools\sdk.elf.o *(.ble_ll_code) - .ble_ll_code 0x060363dc 0x2aa8 cpu\br28\tools\sdk.elf.o + .ble_ll_code 0x06036b0c 0x2aa0 cpu\br28\tools\sdk.elf.o *(.ble_hci_const) .ble_hci_const - 0x06038e84 0x19 cpu\br28\tools\sdk.elf.o + 0x060395ac 0x19 cpu\br28\tools\sdk.elf.o *(.ble_hci_code) - *fill* 0x06038e9d 0x1 - .ble_hci_code 0x06038e9e 0x8da cpu\br28\tools\sdk.elf.o - 0x00007168 BTCTLER_LE_CONTROLLER_CODE_SIZE = ABSOLUTE ((. - BTCTLER_LE_CONTROLLER_CODE_START)) - 0x06039778 BTCTLER_CL_CODE_START = . + *fill* 0x060395c5 0x1 + .ble_hci_code 0x060395c6 0x8da cpu\br28\tools\sdk.elf.o + 0x00007160 BTCTLER_LE_CONTROLLER_CODE_SIZE = ABSOLUTE ((. - BTCTLER_LE_CONTROLLER_CODE_START)) + 0x06039ea0 BTCTLER_CL_CODE_START = . *(.bredr_irq) *(.bredr_irq_code) *(.bredr_irq_const) @@ -3187,124 +3190,124 @@ END GROUP *(.classic_lmp_const) *(.classic_lmp_auth_const) .classic_lmp_auth_const - 0x06039778 0x310 cpu\br28\tools\sdk.elf.o + 0x06039ea0 0x310 cpu\br28\tools\sdk.elf.o *(.classic_lmp_bigint_const) *(.classic_lmp_crypt_const) *(.classic_lmp_ecdh_const) *(.classic_lmp_hmac_const) *(.classic_lmp_code) .classic_lmp_code - 0x06039a88 0x780 cpu\br28\tools\sdk.elf.o + 0x0603a1b0 0x780 cpu\br28\tools\sdk.elf.o *(.classic_lmp_auth_code) .classic_lmp_auth_code - 0x0603a208 0x488 cpu\br28\tools\sdk.elf.o + 0x0603a930 0x488 cpu\br28\tools\sdk.elf.o *(.classic_lmp_bigint_code) *(.classic_lmp_crypt_code) *(.classic_lmp_ecdh_code) *(.classic_lmp_hmac_code) *(.classic_rf_const) .classic_rf_const - 0x0603a690 0x60 cpu\br28\tools\sdk.elf.o + 0x0603adb8 0x60 cpu\br28\tools\sdk.elf.o *(.classic_rf_code) .classic_rf_code - 0x0603a6f0 0x504 cpu\br28\tools\sdk.elf.o + 0x0603ae18 0x504 cpu\br28\tools\sdk.elf.o *(.classic_bb_const) *(.classic_bb_code) 0x0000147c BTCTLER_CL_CODE_SIZE = ABSOLUTE ((. - BTCTLER_CL_CODE_START)) *(.classic_tws_const) *(.classic_tws_code) .classic_tws_code - 0x0603abf4 0x150 cpu\br28\tools\sdk.elf.o + 0x0603b31c 0x150 cpu\br28\tools\sdk.elf.o *(.classic_tws_code.esco) - 0x0603ad44 . = ALIGN (0x4) - 0x0603ad44 driver_code_start = . + 0x0603b46c . = ALIGN (0x4) + 0x0603b46c driver_code_start = . *(.fm_code) - 0x0603ad44 CLOCK_CODE_START = . + 0x0603b46c CLOCK_CODE_START = . *(.clock_code) - .clock_code 0x0603ad44 0x11ba cpu\br28\tools\sdk.elf.o - 0x0603b898 boot_clk_init + .clock_code 0x0603b46c 0x11bc cpu\br28\tools\sdk.elf.o + 0x0603bfc0 boot_clk_init *(.clock_const) - .clock_const 0x0603befe 0x30 cpu\br28\tools\sdk.elf.o - 0x000011ea CLOCK_CODE_SIZE = ABSOLUTE ((. - CLOCK_CODE_START)) + .clock_const 0x0603c628 0x30 cpu\br28\tools\sdk.elf.o + 0x000011ec CLOCK_CODE_SIZE = ABSOLUTE ((. - CLOCK_CODE_START)) *(.debug_code) *(.debug_const) *(.uart_code) *(.uart_const) *(.power_driver.text) .power_driver.text - 0x0603bf2e 0x220e cpu\br28\tools\sdk.elf.o + 0x0603c658 0x220e cpu\br28\tools\sdk.elf.o *(.power_driver.text.const) - *fill* 0x0603e13c 0x4 + *fill* 0x0603e866 0x1a .power_driver.text.const - 0x0603e140 0x7fd cpu\br28\tools\sdk.elf.o + 0x0603e880 0x7fd cpu\br28\tools\sdk.elf.o *(.power_reset.text) - *fill* 0x0603e93d 0x1 + *fill* 0x0603f07d 0x1 .power_reset.text - 0x0603e93e 0x330 cpu\br28\tools\sdk.elf.o + 0x0603f07e 0x330 cpu\br28\tools\sdk.elf.o *(.power_reset.text.const) .power_reset.text.const - 0x0603ec6e 0x80 cpu\br28\tools\sdk.elf.o + 0x0603f3ae 0x80 cpu\br28\tools\sdk.elf.o *(.power_wakeup.text) .power_wakeup.text - 0x0603ecee 0x5f2 cpu\br28\tools\sdk.elf.o + 0x0603f42e 0x5f2 cpu\br28\tools\sdk.elf.o *(.power_wakeup.text.const) .power_wakeup.text.const - 0x0603f2e0 0xad cpu\br28\tools\sdk.elf.o - 0x0603f390 . = ALIGN (0x4) - *fill* 0x0603f38d 0x3 - 0x0603f390 lp_target_begin = . + 0x0603fa20 0xad cpu\br28\tools\sdk.elf.o + 0x0603fad0 . = ALIGN (0x4) + *fill* 0x0603facd 0x3 + 0x0603fad0 lp_target_begin = . [!provide] PROVIDE (lp_target_begin, .) *(.lp_target) - .lp_target 0x0603f390 0xc0 cpu\br28\tools\sdk.elf.o - 0x0603f390 bt_test_lp_target - 0x0603f39c key_lp_target - 0x0603f3a8 plll_trim_lp_target - 0x0603f3b4 ota_lp_target - 0x0603f3c0 dual_ota_lp_target - 0x0603f3cc pc_lp_target - 0x0603f3d8 audio_dec_init_lp_target - 0x0603f3e4 bt_dec_lp_target - 0x0603f3f0 aispeech_asr_core_lp_target - 0x0603f3fc audio_tone_lp_target - 0x0603f408 tone_dec_lp_target - 0x0603f414 usb_dev_lp_target - 0x0603f420 usr_systimer_lp_target - 0x0603f42c btstack_lowpower_target - 0x0603f438 audio_dac_lp_target - 0x0603f444 eq_online_lp_target - 0x0603f450 lp_target_end = . + .lp_target 0x0603fad0 0xc0 cpu\br28\tools\sdk.elf.o + 0x0603fad0 bt_test_lp_target + 0x0603fadc key_lp_target + 0x0603fae8 plll_trim_lp_target + 0x0603faf4 ota_lp_target + 0x0603fb00 dual_ota_lp_target + 0x0603fb0c pc_lp_target + 0x0603fb18 audio_dec_init_lp_target + 0x0603fb24 bt_dec_lp_target + 0x0603fb30 aispeech_asr_core_lp_target + 0x0603fb3c audio_tone_lp_target + 0x0603fb48 tone_dec_lp_target + 0x0603fb54 usb_dev_lp_target + 0x0603fb60 usr_systimer_lp_target + 0x0603fb6c btstack_lowpower_target + 0x0603fb78 audio_dac_lp_target + 0x0603fb84 eq_online_lp_target + 0x0603fb90 lp_target_end = . [!provide] PROVIDE (lp_target_end, .) - 0x0603f450 . = ALIGN (0x4) - 0x0603f450 lp_request_begin = . + 0x0603fb90 . = ALIGN (0x4) + 0x0603fb90 lp_request_begin = . [!provide] PROVIDE (lp_request_begin, .) *(.lp_request) - 0x0603f450 lp_request_end = . + 0x0603fb90 lp_request_end = . [!provide] PROVIDE (lp_request_end, .) - 0x0603f450 . = ALIGN (0x4) - 0x0603f450 deepsleep_target_begin = . + 0x0603fb90 . = ALIGN (0x4) + 0x0603fb90 deepsleep_target_begin = . [!provide] PROVIDE (deepsleep_target_begin, .) *(.deepsleep_target) .deepsleep_target - 0x0603f450 0x54 cpu\br28\tools\sdk.elf.o - 0x0603f450 uart - 0x0603f45c clock_sfc - 0x0603f468 tmr - 0x0603f474 vm_sfc - 0x0603f480 lrct - 0x0603f48c periph - 0x0603f498 bt - 0x0603f4a4 deepsleep_target_end = . + 0x0603fb90 0x54 cpu\br28\tools\sdk.elf.o + 0x0603fb90 uart + 0x0603fb9c clock_sfc + 0x0603fba8 tmr + 0x0603fbb4 vm_sfc + 0x0603fbc0 lrct + 0x0603fbcc periph + 0x0603fbd8 bt + 0x0603fbe4 deepsleep_target_end = . [!provide] PROVIDE (deepsleep_target_end, .) - 0x0603f4a4 . = ALIGN (0x4) - 0x0603f4a4 p2m_msg_handler_begin = . + 0x0603fbe4 . = ALIGN (0x4) + 0x0603fbe4 p2m_msg_handler_begin = . [!provide] PROVIDE (p2m_msg_handler_begin, .) *(.p2m_msg_handler) - 0x0603f4a4 PROVIDE (p2m_msg_handler_end, .) - 0x0603f4a4 p2m_msg_handler_end = . - 0x0603f4a4 driver_code_end = . - 0x0603f4a4 . = ALIGN (0x4) - 0x0603f4a4 media_text_start = . - 0x0603f4a4 . = ALIGN (0x4) + 0x0603fbe4 PROVIDE (p2m_msg_handler_end, .) + 0x0603fbe4 p2m_msg_handler_end = . + 0x0603fbe4 driver_code_end = . + 0x0603fbe4 . = ALIGN (0x4) + 0x0603fbe4 media_text_start = . + 0x0603fbe4 . = ALIGN (0x4) *(.stream_code) *(.howlings_phf_code) *(.notchhowling_sparse_code) @@ -3312,28 +3315,28 @@ END GROUP *(.howlings_phf_sparse_code) *(.notchhowling_const) *(.howlings_phf_const) - 0x0603f4a4 . = ALIGN (0x4) + 0x0603fbe4 . = ALIGN (0x4) *(.llns.text) *(.llns.text.const) - 0x0603f4a4 . = ALIGN (0x4) + 0x0603fbe4 . = ALIGN (0x4) *(.aec_code) *(.aec_const) - 0x0603f4a4 . = ALIGN (0x4) + 0x0603fbe4 . = ALIGN (0x4) *(.res_code) *(.res_const) - 0x0603f4a4 . = ALIGN (0x4) + 0x0603fbe4 . = ALIGN (0x4) *(.ns_code) *(.ns_const) *(.bark_const) - 0x0603f4a4 . = ALIGN (0x4) + 0x0603fbe4 . = ALIGN (0x4) *(.jlsp_code) - 0x0603f4a4 . = ALIGN (0x4) + 0x0603fbe4 . = ALIGN (0x4) *(.jlsp_const) - 0x0603f4a4 . = ALIGN (0x4) + 0x0603fbe4 . = ALIGN (0x4) *(.dns_16k_data) - 0x0603f4a4 . = ALIGN (0x4) + 0x0603fbe4 . = ALIGN (0x4) *(.dns_8k_data) - 0x0603f4a4 . = ALIGN (0x4) + 0x0603fbe4 . = ALIGN (0x4) *(.jlsp_dns_code) *(.jlsp_dns_const) *(.dns_param_data_wind) @@ -3362,20 +3365,20 @@ END GROUP *(.bt_audioplc_code) *(.bt_audioplc_sparse_code) *(.bt_audioplc_const) - 0x0603f4a4 . = ALIGN (0x4) + 0x0603fbe4 . = ALIGN (0x4) *(.lf_audioplc_code) .lf_audioplc_code - 0x0603f4a4 0x47a cpu\br28\tools\sdk.elf.o + 0x0603fbe4 0x47a cpu\br28\tools\sdk.elf.o *(.lf_audioplc_sparse_code) .lf_audioplc_sparse_code - 0x0603f91e 0x7c cpu\br28\tools\sdk.elf.o + 0x0604005e 0x7c cpu\br28\tools\sdk.elf.o *(.lf_audioplc_const) - *fill* 0x0603f99a 0x2 + *fill* 0x060400da 0x2 .lf_audioplc_const - 0x0603f99c 0xc cpu\br28\tools\sdk.elf.o - 0x0603f9a8 . = ALIGN (0x4) + 0x060400dc 0xc cpu\br28\tools\sdk.elf.o + 0x060400e8 . = ALIGN (0x4) *(.pcm_code) - .pcm_code 0x0603f9a8 0xa2 cpu\br28\tools\sdk.elf.o + .pcm_code 0x060400e8 0xa2 cpu\br28\tools\sdk.elf.o *(.pcm_const) *(.wtg_dec_code) *(.wtg_dec_sparse_code) @@ -3397,31 +3400,31 @@ END GROUP *(.opus_encoder_code) *(.opus_encoder_const) *(.mp3_code) - .mp3_code 0x0603fa4a 0x462 cpu\br28\tools\sdk.elf.o + .mp3_code 0x0604018a 0x462 cpu\br28\tools\sdk.elf.o *(.mp3_const) *(.mp3_dec_sparse_code) .mp3_dec_sparse_code - 0x0603feac 0x1632 cpu\br28\tools\sdk.elf.o + 0x060405ec 0x1632 cpu\br28\tools\sdk.elf.o *(.mp3_dec_sparse_const) *(.mp3_dec_code) - .mp3_dec_code 0x060414de 0x3042 cpu\br28\tools\sdk.elf.o + .mp3_dec_code 0x06041c1e 0x3042 cpu\br28\tools\sdk.elf.o *(.mp3_dec_const) .mp3_dec_const - 0x06044520 0x290c cpu\br28\tools\sdk.elf.o + 0x06044c60 0x290c cpu\br28\tools\sdk.elf.o *(.bfilt_code) *(.msbc_code) - .msbc_code 0x06046e2c 0x4b6 cpu\br28\tools\sdk.elf.o + .msbc_code 0x0604756c 0x4b6 cpu\br28\tools\sdk.elf.o *(.msbc_const) - *fill* 0x060472e2 0x2 - .msbc_const 0x060472e4 0x46 cpu\br28\tools\sdk.elf.o + *fill* 0x06047a22 0x2 + .msbc_const 0x06047a24 0x46 cpu\br28\tools\sdk.elf.o *(.mty_code) *(.mp3tsy_dec_code) *(.mp3tsy_dec_sparse_code) *(.mp3tsy_dec_const) *(.sbc_code) - .sbc_code 0x0604732a 0x4f6 cpu\br28\tools\sdk.elf.o + .sbc_code 0x06047a6a 0x4f6 cpu\br28\tools\sdk.elf.o *(.sbc_const) - .sbc_const 0x06047820 0xc cpu\br28\tools\sdk.elf.o + .sbc_const 0x06047f60 0xc cpu\br28\tools\sdk.elf.o *(.sine_code) *(.sine_const) *(.wav_code) @@ -3464,10 +3467,10 @@ END GROUP *(.flac_dec_sparse_code) *(.audio_decoder_code) .audio_decoder_code - 0x0604782c 0x2418 cpu\br28\tools\sdk.elf.o + 0x06047f6c 0x2420 cpu\br28\tools\sdk.elf.o *(.audio_decoder_const) .audio_decoder_const - 0x06049c44 0x68 cpu\br28\tools\sdk.elf.o + 0x0604a38c 0x68 cpu\br28\tools\sdk.elf.o *(.audio_track_const) *(.audio_track_code) *(.m4a_code) @@ -3488,7 +3491,7 @@ END GROUP *(.audio_encoder_code) *(.audio_encoder_const) *(.mixer_code) - .mixer_code 0x06049cac 0x5ae cpu\br28\tools\sdk.elf.o + .mixer_code 0x0604a3f4 0x5ae cpu\br28\tools\sdk.elf.o *(.mixer_const) *(.dec_server_code) *(.dec_server_const) @@ -3502,7 +3505,7 @@ END GROUP *(.wireless_sync_const) *(.sbc_eng_code) *(.sbc_eng_const) - 0x0604a25a anc_code_begin = . + 0x0604a9a2 anc_code_begin = . *(.anc_user_const) *(.anc_user_code) *(.anc_const) @@ -3513,17 +3516,17 @@ END GROUP *(.anc_box_code) *(.anc_btspp_const) *(.anc_btspp_code) - 0x0604a25a anc_code_end = . + 0x0604a9a2 anc_code_end = . 0x00000000 anc_code_size = (anc_code_end - anc_code_begin) *(.audio_codec_code) .audio_codec_code - 0x0604a25a 0x1ee cpu\br28\tools\sdk.elf.o + 0x0604a9a2 0x1ee cpu\br28\tools\sdk.elf.o *(.audio_adc_code) .audio_adc_code - 0x0604a448 0x990 cpu\br28\tools\sdk.elf.o + 0x0604ab90 0x990 cpu\br28\tools\sdk.elf.o *(.audio_adc_const) .audio_adc_const - 0x0604add8 0xc cpu\br28\tools\sdk.elf.o + 0x0604b520 0xc cpu\br28\tools\sdk.elf.o *(.audio_cfifo_code) *(.audio_cfifo_const) *(.bt_compressor_sparse_const) @@ -3540,57 +3543,57 @@ END GROUP *(.crossOver_sparse_const) *(.lib_pitchshift_code) *(.lib_pitchshift_const) - 0x0604ade4 . = ALIGN (0x4) - 0x0604ade4 _audio_decoder_begin = . - 0x0604ade4 PROVIDE (audio_decoder_begin, .) + 0x0604b52c . = ALIGN (0x4) + 0x0604b52c _audio_decoder_begin = . + 0x0604b52c PROVIDE (audio_decoder_begin, .) *(.audio_decoder) .audio_decoder - 0x0604ade4 0x154 cpu\br28\tools\sdk.elf.o - 0x0604ade4 mp3_decoder - 0x0604ae28 pcm_decoder - 0x0604ae6c cvsd_decoder - 0x0604aeb0 sbc_decoder - 0x0604aef4 msbc_decoder - 0x0604af38 _audio_decoder_end = . - 0x0604af38 PROVIDE (audio_decoder_end, .) - 0x0604af38 _audio_encoder_begin = . - 0x0604af38 PROVIDE (audio_encoder_begin, .) + 0x0604b52c 0x154 cpu\br28\tools\sdk.elf.o + 0x0604b52c mp3_decoder + 0x0604b570 pcm_decoder + 0x0604b5b4 cvsd_decoder + 0x0604b5f8 sbc_decoder + 0x0604b63c msbc_decoder + 0x0604b680 _audio_decoder_end = . + 0x0604b680 PROVIDE (audio_decoder_end, .) + 0x0604b680 _audio_encoder_begin = . + 0x0604b680 PROVIDE (audio_encoder_begin, .) *(.audio_encoder) - 0x0604af38 _audio_encoder_end = . - 0x0604af38 PROVIDE (audio_encoder_end, .) - 0x0604af38 _audio_package_begin = . + 0x0604b680 _audio_encoder_end = . + 0x0604b680 PROVIDE (audio_encoder_end, .) + 0x0604b680 _audio_package_begin = . [!provide] PROVIDE (audio_package_begin, .) *(.audio_package) - 0x0604af38 _audio_package_end = . + 0x0604b680 _audio_package_end = . [!provide] PROVIDE (audio_package_end, .) - 0x0604af38 _audio_dev_begin = . + 0x0604b680 _audio_dev_begin = . [!provide] PROVIDE (audio_dev_begin, .) *(.audio_device) - 0x0604af38 _audio_dev_end = . + 0x0604b680 _audio_dev_end = . [!provide] PROVIDE (audio_dev_end, .) - 0x0604af38 _audio_hwaccel_begin = . - 0x0604af38 PROVIDE (audio_hwaccel_begin, .) + 0x0604b680 _audio_hwaccel_begin = . + 0x0604b680 PROVIDE (audio_hwaccel_begin, .) *(.audio_hwaccel) .audio_hwaccel - 0x0604af38 0x24 cpu\br28\tools\sdk.elf.o - 0x0604af38 sbc_hwaccel - 0x0604af5c _audio_hwaccel_end = . - 0x0604af5c PROVIDE (audio_hwaccel_end, .) - 0x0604af5c . = ALIGN (0x4) - 0x0604af5c media_code_begin = . + 0x0604b680 0x24 cpu\br28\tools\sdk.elf.o + 0x0604b680 sbc_hwaccel + 0x0604b6a4 _audio_hwaccel_end = . + 0x0604b6a4 PROVIDE (audio_hwaccel_end, .) + 0x0604b6a4 . = ALIGN (0x4) + 0x0604b6a4 media_code_begin = . *(.media.*.text) .media.media_cpu.text - 0x0604af5c 0x3a8c cpu\br28\tools\sdk.elf.o + 0x0604b6a4 0x3a8c cpu\br28\tools\sdk.elf.o .media.audio_decoder.text - 0x0604e9e8 0x66 cpu\br28\tools\sdk.elf.o + 0x0604f130 0x66 cpu\br28\tools\sdk.elf.o .media.mixer.text - 0x0604ea4e 0x20 cpu\br28\tools\sdk.elf.o + 0x0604f196 0x20 cpu\br28\tools\sdk.elf.o .media.bluetooth_audio.text - 0x0604ea6e 0x29a cpu\br28\tools\sdk.elf.o + 0x0604f1b6 0x29a cpu\br28\tools\sdk.elf.o .media.audio_encoder.text - 0x0604ed08 0x2a cpu\br28\tools\sdk.elf.o - 0x0604ed34 . = ALIGN (0x4) - *fill* 0x0604ed32 0x2 + 0x0604f450 0x2a cpu\br28\tools\sdk.elf.o + 0x0604f47c . = ALIGN (0x4) + *fill* 0x0604f47a 0x2 *(.compressor_code) *(.compressor_const) *(.bt_compressor_const) @@ -3613,13 +3616,13 @@ END GROUP *(.vbss_const) *(.vbss_sparse_code) *(.vbss_sparse_const) - 0x0604ed34 . = ALIGN (0x4) + 0x0604f47c . = ALIGN (0x4) *(.pSOUND360TD_cal_sparse_code) - 0x0604ed34 . = ALIGN (0x4) + 0x0604f47c . = ALIGN (0x4) *(.g729_code) *(.g729_const) *(.cvsd_code) - .cvsd_code 0x0604ed34 0x202 cpu\br28\tools\sdk.elf.o + .cvsd_code 0x0604f47c 0x202 cpu\br28\tools\sdk.elf.o *(.cvsd_const) *(.media.audio*) *(.media.mixer*) @@ -3628,22 +3631,22 @@ END GROUP *(.lib_wtg_dec_const) *(.audio_resample_code) .audio_resample_code - 0x0604ef36 0x8a cpu\br28\tools\sdk.elf.o + 0x0604f67e 0x8a cpu\br28\tools\sdk.elf.o *(.audio_resample_const) *(.resample_fastcal_sparse_code) *(.resample_fastcal_code) *(.resample_fastcal_const) - 0x0604efc0 audio_sync_code_begin = . + 0x0604f708 audio_sync_code_begin = . *(.audio_sync_code) .audio_sync_code - 0x0604efc0 0x45c cpu\br28\tools\sdk.elf.o - 0x0604f41c audio_sync_code_end = . - 0x0604f41c . = ALIGN (0x4) - 0x0604f41c media_code_end = . - 0x0604f41c . = ALIGN (0x4) + 0x0604f708 0x45c cpu\br28\tools\sdk.elf.o + 0x0604fb64 audio_sync_code_end = . + 0x0604fb64 . = ALIGN (0x4) + 0x0604fb64 media_code_end = . + 0x0604fb64 . = ALIGN (0x4) 0x000044c0 media_code_size = (media_code_end - media_code_begin) - 0x0604f41c . = ALIGN (0x4) - 0x0604f41c media_text_end = . + 0x0604fb64 . = ALIGN (0x4) + 0x0604fb64 media_text_end = . 0x00140000 . = ORIGIN (ram0) .mmu_tlb 0x00140000 0x5000 @@ -3918,104 +3921,104 @@ END GROUP *(.jlsp_agc_data) 0x00147fe0 . = ALIGN (0x4) -.bss 0x00147fe0 0xb264 +.bss 0x00147fe0 0xb384 0x00147fe0 . = ALIGN (0x4) *(.bss) - .bss 0x00147fe0 0x85c0 cpu\br28\tools\sdk.elf.o - 0x001505a0 . = ALIGN (0x4) + .bss 0x00147fe0 0x86e0 cpu\br28\tools\sdk.elf.o + 0x001506c0 . = ALIGN (0x4) *(.volatile_ram) *(.btstack_pool) *(.mem_heap) *(.memp_memory_x) - 0x001505a0 . = ALIGN (0x4) + 0x001506c0 . = ALIGN (0x4) *(.non_volatile_ram) .non_volatile_ram - 0x001505a0 0x358 cpu\br28\tools\sdk.elf.o - 0x00150900 . = ALIGN (0x20) - *fill* 0x001508f8 0x8 + 0x001506c0 0x358 cpu\br28\tools\sdk.elf.o + 0x00150a20 . = ALIGN (0x20) + *fill* 0x00150a18 0x8 *(.usb_h_dma) *(.usb_ep0) - .usb_ep0 0x00150900 0x40 cpu\br28\tools\sdk.elf.o + .usb_ep0 0x00150a20 0x40 cpu\br28\tools\sdk.elf.o *(.usb_audio_play_dma) *(.usb_audio_rec_dma) *(.uac_rx) *(.mass_storage) *(.usb_msd_dma) - .usb_msd_dma 0x00150940 0x104 cpu\br28\tools\sdk.elf.o + .usb_msd_dma 0x00150a60 0x104 cpu\br28\tools\sdk.elf.o *(.usb_hid_dma) *(.usb_iso_dma) *(.usb_cdc_dma) *(.uac_var) *(.usb_config_var) *(.cdc_var) - 0x00150a60 . = ALIGN (0x20) - *fill* 0x00150a44 0x1c - 0x00150a60 update_bss_start = . + 0x00150b80 . = ALIGN (0x20) + *fill* 0x00150b64 0x1c + 0x00150b80 update_bss_start = . *(.update_bss) - .update_bss 0x00150a60 0x1ec cpu\br28\tools\sdk.elf.o - 0x00150c4c update_bss_end = . - 0x00150c4c btstack_bss_start = . + .update_bss 0x00150b80 0x1ec cpu\br28\tools\sdk.elf.o + 0x00150d6c update_bss_end = . + 0x00150d6c btstack_bss_start = . *(.bt_stack_bss) - .bt_stack_bss 0x00150c4c 0x11ca cpu\br28\tools\sdk.elf.o + .bt_stack_bss 0x00150d6c 0x11ca cpu\br28\tools\sdk.elf.o *(.ble_db_bss) - *fill* 0x00151e16 0x2 - .ble_db_bss 0x00151e18 0x20 cpu\br28\tools\sdk.elf.o + *fill* 0x00151f36 0x2 + .ble_db_bss 0x00151f38 0x20 cpu\br28\tools\sdk.elf.o *(.ble_sm_bss) *(.ble_att_bss) - .ble_att_bss 0x00151e38 0x40 cpu\br28\tools\sdk.elf.o + .ble_att_bss 0x00151f58 0x40 cpu\br28\tools\sdk.elf.o *(.ble_gatt_bss) - .ble_gatt_bss 0x00151e78 0x18 cpu\br28\tools\sdk.elf.o + .ble_gatt_bss 0x00151f98 0x18 cpu\br28\tools\sdk.elf.o *(.btstack_pool) - 0x00151e90 BTSTACK_LE_HOST_MESH_BSS_START = . + 0x00151fb0 BTSTACK_LE_HOST_MESH_BSS_START = . *(.ble_mesh_bss) *(.ble_mesh_tinycrypt_bss) 0x00000000 BTSTACK_LE_HOST_MESH_BSS_SIZE = ABSOLUTE ((. - BTSTACK_LE_HOST_MESH_BSS_START)) - 0x00151e90 btstack_bss_end = . - 0x00151e90 system_bss_start = . - 0x00151e90 . = ALIGN (0x4) + 0x00151fb0 btstack_bss_end = . + 0x00151fb0 system_bss_start = . + 0x00151fb0 . = ALIGN (0x4) *(.os_bss) - .os_bss 0x00151e90 0x218 cpu\br28\tools\sdk.elf.o - 0x00152098 irq_lock_cnt + .os_bss 0x00151fb0 0x218 cpu\br28\tools\sdk.elf.o + 0x001521b8 irq_lock_cnt *(.mem_heap) *(.memp_memory_x) *(.mem_bss) *(.os_port_bss) *(.uECC_bss) *(.ECDH_sample_bss) - 0x001520a8 system_bss_end = . - 0x001520a8 btctler_bss_start = . - 0x001520a8 BTCTLER_CONTROLLER_BSS_START = . + 0x001521c8 system_bss_end = . + 0x001521c8 btctler_bss_start = . + 0x001521c8 BTCTLER_CONTROLLER_BSS_START = . *(.bd_base) - .bd_base 0x001520a8 0x300 cpu\br28\tools\sdk.elf.o + .bd_base 0x001521c8 0x300 cpu\br28\tools\sdk.elf.o *(.bredr_rxtx_bulk) *(.bredr_tx_bulk) *(.bt_rf_bss) - .bt_rf_bss 0x001523a8 0x33 cpu\br28\tools\sdk.elf.o + .bt_rf_bss 0x001524c8 0x33 cpu\br28\tools\sdk.elf.o *(.hci_controller_bss) - *fill* 0x001523db 0x1 + *fill* 0x001524fb 0x1 .hci_controller_bss - 0x001523dc 0x38 cpu\br28\tools\sdk.elf.o + 0x001524fc 0x38 cpu\br28\tools\sdk.elf.o *(.hci_interface_bss) *(.device_manager_bss) *(.vendor_manager_bss) 0x0000036c BTCTLER_CONTROLLER_BSS_SIZE = ABSOLUTE ((. - BTCTLER_CONTROLLER_BSS_START)) - 0x00152414 BTCTLER_LE_CONTROLLER_BSS_START = . + 0x00152534 BTCTLER_LE_CONTROLLER_BSS_START = . *(.ble_hci_bss) - .ble_hci_bss 0x00152414 0x9c cpu\br28\tools\sdk.elf.o + .ble_hci_bss 0x00152534 0x9c cpu\br28\tools\sdk.elf.o *(.ble_ll_bss) - .ble_ll_bss 0x001524b0 0x28b cpu\br28\tools\sdk.elf.o + .ble_ll_bss 0x001525d0 0x28b cpu\br28\tools\sdk.elf.o *(.ble_rf_bss) - *fill* 0x0015273b 0x1 - .ble_rf_bss 0x0015273c 0x16 cpu\br28\tools\sdk.elf.o + *fill* 0x0015285b 0x1 + .ble_rf_bss 0x0015285c 0x16 cpu\br28\tools\sdk.elf.o 0x0000033e BTCTLER_LE_CONTROLLER_BSS_SIZE = ABSOLUTE ((. - BTCTLER_LE_CONTROLLER_BSS_START)) - 0x00152752 BTCTLER_CL_BSS_START = . + 0x00152872 BTCTLER_CL_BSS_START = . *(.classic_rf_bss) - *fill* 0x00152752 0x2 + *fill* 0x00152872 0x2 .classic_rf_bss - 0x00152754 0xac cpu\br28\tools\sdk.elf.o + 0x00152874 0xac cpu\br28\tools\sdk.elf.o *(.classic_lmp_bss) .classic_lmp_bss - 0x00152800 0x1d4 cpu\br28\tools\sdk.elf.o + 0x00152920 0x1d4 cpu\br28\tools\sdk.elf.o *(.classic_lmp_auth_bss) *(.classic_lmp_bigint_bss) *(.classic_lmp_crypt_bss) @@ -4025,30 +4028,30 @@ END GROUP *(.classic_bb_bss) *(.classic_hci_bss) 0x00000282 BTCTLER_CL_BSS_SIZE = ABSOLUTE ((. - BTCTLER_CL_BSS_START)) - 0x001529d4 btctler_bss_end = . - 0x001529d4 driver_bss_start = . - 0x001529d4 CLOCK_BSS_START = . + 0x00152af4 btctler_bss_end = . + 0x00152af4 driver_bss_start = . + 0x00152af4 CLOCK_BSS_START = . *(.clock_bss) - .clock_bss 0x001529d4 0x59 cpu\br28\tools\sdk.elf.o + .clock_bss 0x00152af4 0x59 cpu\br28\tools\sdk.elf.o 0x00000059 CLOCK_BSS_SIZE = ABSOLUTE ((. - CLOCK_BSS_START)) *(.debug_bss) *(.uart_bss) *(.sd_var) *(.power_driver.data.bss) - *fill* 0x00152a2d 0x3 + *fill* 0x00152b4d 0x3 .power_driver.data.bss - 0x00152a30 0x7e2 cpu\br28\tools\sdk.elf.o + 0x00152b50 0x7e2 cpu\br28\tools\sdk.elf.o *(.power_reset.data.bss) *(.power_wakeup.data.bss) - *fill* 0x00153212 0x2 + *fill* 0x00153332 0x2 .power_wakeup.data.bss - 0x00153214 0x2c cpu\br28\tools\sdk.elf.o - 0x00153240 driver_bss_end = . - 0x00153240 . = ALIGN (0x4) - 0x00153240 audio_sync_bss_begin = . + 0x00153334 0x2c cpu\br28\tools\sdk.elf.o + 0x00153360 driver_bss_end = . + 0x00153360 . = ALIGN (0x4) + 0x00153360 audio_sync_bss_begin = . *(.audio_sync_bss) - 0x00153240 audio_sync_bss_end = . - 0x00153240 . = ALIGN (0x4) + 0x00153360 audio_sync_bss_end = . + 0x00153360 . = ALIGN (0x4) *(.cvsd_bss) *(.aac_bss) *(.ldac_decoder_bss) @@ -4066,7 +4069,7 @@ END GROUP *(.anc_btspp_bss) *(.audio_adc_bss) .audio_adc_bss - 0x00153240 0x4 cpu\br28\tools\sdk.elf.o + 0x00153360 0x4 cpu\br28\tools\sdk.elf.o *(.audio_cfifo_bss) *(.audio_dec_bss) *(.audio_buf) @@ -4081,112 +4084,111 @@ END GROUP *(.jlsp_wn_bss) *(.jlsp_tri_bss) *(.jlsp_agc_bss) - 0x00153244 . = ALIGN (0x4) + 0x00153364 . = ALIGN (0x4) *(.pSOUND360TD_cal_bss) -.data_code 0x00153260 0x59e0 - 0x00153260 data_code_pc_limit_begin = . +.data_code 0x00153380 0x59e0 + 0x00153380 data_code_pc_limit_begin = . *(.flushinv_icache) *(.cache) *(.os_critical_code) .os_critical_code - 0x00153260 0x692 cpu\br28\tools\sdk.elf.o - 0x00153260 jiffies_half_msec - 0x001532b8 jiffies_msec - 0x001532c0 vmalloc_ - 0x00153430 vfree_ - 0x001535dc vfree_v2 - 0x001536bc vmalloc_v2 - 0x0015388c vcopy_ + 0x00153380 0x692 cpu\br28\tools\sdk.elf.o + 0x00153380 jiffies_half_msec + 0x001533d8 jiffies_msec + 0x001533e0 vmalloc_ + 0x00153550 vfree_ + 0x001536fc vfree_v2 + 0x001537dc vmalloc_v2 + 0x001539ac vcopy_ *(.volatile_ram_code) .volatile_ram_code - 0x001538f2 0x1674 cpu\br28\tools\sdk.elf.o - 0x00153a44 sfc_suspend - 0x00153f9e sfc_resume - 0x00153ffe read_flash_id - 0x00154198 norflash_erase - 0x00154232 flushinv_dcache_api - 0x00154274 sfc1_flash_addr2cpu_addr - 0x00154474 exception_analyze - 0x0015457e norflash_get_uuid - 0x001546ba sfc1_resume - 0x001546bc sfc1_suspend - 0x0015472a spi_for_maskrom_init - 0x0015475e sfc1_cpu_addr2flash_addr - 0x001548c4 cpu1_power_off_resume - 0x001549d2 hw_mmu_disable - *fill* 0x00154f66 0x2 + 0x00153a12 0x1674 cpu\br28\tools\sdk.elf.o + 0x00153b64 sfc_suspend + 0x001540be sfc_resume + 0x0015411e read_flash_id + 0x001542b8 norflash_erase + 0x00154352 flushinv_dcache_api + 0x00154394 sfc1_flash_addr2cpu_addr + 0x00154594 exception_analyze + 0x0015469e norflash_get_uuid + 0x001547da sfc1_resume + 0x001547dc sfc1_suspend + 0x0015484a spi_for_maskrom_init + 0x0015487e sfc1_cpu_addr2flash_addr + 0x001549e4 cpu1_power_off_resume + 0x00154af2 hw_mmu_disable + *fill* 0x00155086 0x2 .volatile_ram_code - 0x00154f68 0x10e cpu/br28/liba/cpu.a(startup.S.o) - 0x00154f88 cpu1_start - 0x00154f9c cpu1_power_off_resume_S - 0x00154fa8 __cpu_irq_disabled - 0x00154fcc __BT_UPDATA_JUMP - 0x00155062 exception_irq_handler + 0x00155088 0x10e cpu/br28/liba/cpu.a(startup.S.o) + 0x001550a8 cpu1_start + 0x001550bc cpu1_power_off_resume_S + 0x001550c8 __cpu_irq_disabled + 0x001550ec __BT_UPDATA_JUMP + 0x00155182 exception_irq_handler *(.chargebox_code) *(.fat_data_code) *(.fat_data_code_ex) *(.ui_ram) *(.math_fast_funtion_code) - 0x00155078 . = ALIGN (0x4) - *fill* 0x00155076 0x2 + 0x00155198 . = ALIGN (0x4) + *fill* 0x00155196 0x2 *(.pSOUND360TD_cal_const) *(.pSOUND360TD_cal_code) - 0x00155078 . = ALIGN (0x4) + 0x00155198 . = ALIGN (0x4) *(.SpatialAudio.text.const) *(.SpatialAudio.text) *(.SpatialAudio.text.cache.L1) - 0x00155078 . = ALIGN (0x4) - 0x00155078 _SPI_CODE_START = . + 0x00155198 . = ALIGN (0x4) + 0x00155198 _SPI_CODE_START = . *(.spi_code) - 0x00155078 . = ALIGN (0x4) - 0x00155078 _SPI_CODE_END = . - 0x00155078 . = ALIGN (0x4) + 0x00155198 . = ALIGN (0x4) + 0x00155198 _SPI_CODE_END = . + 0x00155198 . = ALIGN (0x4) *(.os_code) - .os_code 0x00155078 0x1796 cpu\br28\tools\sdk.elf.o - 0x001565dc maskrom_init - 0x00156810 . = ALIGN (0x4) - *fill* 0x0015680e 0x2 + .os_code 0x00155198 0x1794 cpu\br28\tools\sdk.elf.o + 0x001566fa maskrom_init + 0x0015692c . = ALIGN (0x4) *(.lmp_irq_code) - .lmp_irq_code 0x00156810 0x76 cpu\br28\tools\sdk.elf.o + .lmp_irq_code 0x0015692c 0x76 cpu\br28\tools\sdk.elf.o *(.link_bulk_code) *(.frame_irq_code) .frame_irq_code - 0x00156886 0x1f2 cpu\br28\tools\sdk.elf.o - 0x00156a78 . = ALIGN (0x4) + 0x001569a2 0x1f2 cpu\br28\tools\sdk.elf.o + 0x00156b94 . = ALIGN (0x4) *(.link_task_const) *(.link_task_code) .link_task_code - 0x00156a78 0x66e cpu\br28\tools\sdk.elf.o - 0x001570e8 . = ALIGN (0x4) - *fill* 0x001570e6 0x2 + 0x00156b94 0x66e cpu\br28\tools\sdk.elf.o + 0x00157204 . = ALIGN (0x4) + *fill* 0x00157202 0x2 *(.classic_irq_const) *(.classic_irq_code) .classic_irq_code - 0x001570e8 0x3a8 cpu\br28\tools\sdk.elf.o - 0x00157490 . = ALIGN (0x4) + 0x00157204 0x3a8 cpu\br28\tools\sdk.elf.o + 0x001575ac . = ALIGN (0x4) *(.tws_irq_code) - 0x00157490 . = ALIGN (0x4) - 0x00157490 tws_sync_call_begin = . + 0x001575ac . = ALIGN (0x4) + 0x001575ac tws_sync_call_begin = . *(.tws_sync_call) .tws_sync_call - 0x00157490 0xc cpu\br28\tools\sdk.elf.o - 0x0015749c tws_sync_call_end = . - 0x0015749c . = ALIGN (0x4) - 0x0015749c tws_func_stub_begin = . + 0x001575ac 0xc cpu\br28\tools\sdk.elf.o + 0x001575b8 tws_sync_call_end = . + 0x001575b8 . = ALIGN (0x4) + 0x001575b8 tws_func_stub_begin = . *(.tws_func_stub) .tws_func_stub - 0x0015749c 0x30 cpu\br28\tools\sdk.elf.o - 0x001574cc tws_func_stub_end = . + 0x001575b8 0x30 cpu\br28\tools\sdk.elf.o + 0x001575e8 tws_func_stub_end = . *(.tws_media_sync_code) .tws_media_sync_code - 0x001574cc 0x9e cpu\br28\tools\sdk.elf.o + 0x001575e8 0x9e cpu\br28\tools\sdk.elf.o *(.tws_media_sync_const) *(.tws_data_forward_code) *(.tws_data_forward_const) - 0x0015756c . = ALIGN (0x4) - *fill* 0x0015756a 0x2 - 0x0015756c tws_sync_channel_begin = . + 0x00157688 . = ALIGN (0x4) + *fill* 0x00157686 0x2 + 0x00157688 tws_sync_channel_begin = . *(.tws_sync_channel.0) *(.tws_sync_channel.1) *(.tws_sync_channel.2) @@ -4201,32 +4203,32 @@ END GROUP *(.tws_sync_channel.11) *(.tws_sync_channel.12) *(.tws_sync_channel.13) - 0x0015756c tws_sync_channel_end = . - 0x0015756c btctler_code_end = . - 0x0015756c . = ALIGN (0x4) - 0x0015756c driver_data_code_start = . - 0x0015756c CLOCK_CACHE_L1_CODE_START = . + 0x00157688 tws_sync_channel_end = . + 0x00157688 btctler_code_end = . + 0x00157688 . = ALIGN (0x4) + 0x00157688 driver_data_code_start = . + 0x00157688 CLOCK_CACHE_L1_CODE_START = . *(.clock.text.cache.L1) 0x00000000 CLOCK_CACHE_L1_SIZE = ABSOLUTE ((. - CLOCK_CACHE_L1_CODE_START)) *(.vm.text.cache.L1) *(.power_driver.text.cache.L1) - *fill* 0x0015756c 0x14 + *fill* 0x00157688 0x18 .power_driver.text.cache.L1 - 0x00157580 0x16c0 cpu\br28\tools\sdk.elf.o - 0x00157a00 spi_port_sel + 0x001576a0 0x16c0 cpu\br28\tools\sdk.elf.o + 0x00157b20 spi_port_sel *(.timer.text.cache.L1) *(.gpio.text.cache.L1) *(.iic_hw.text.cache.L1) - 0x00158c40 driver_data_code_end = . - 0x00158c40 . = ALIGN (0x4) + 0x00158d60 driver_data_code_end = . + 0x00158d60 . = ALIGN (0x4) *(.media.aec.text) -.moveable_slot 0x00158c40 0x0 +.moveable_slot 0x00158d60 0x0 *(movable.slot.*) - 0x00158c40 __report_overlay_begin = . + 0x00158d60 __report_overlay_begin = . -.overlay_aec 0x00158c40 0x0 load address 0x00200000 - 0x00158c40 aec_code_begin = . +.overlay_aec 0x00158d60 0x0 load address 0x00200000 + 0x00158d60 aec_code_begin = . *(.text._*) *(.data._*) *(.aec_code) @@ -4242,7 +4244,7 @@ END GROUP *(.dms_code) *(.dms_const) *(.dms_sparse_code) - 0x00158c40 aec_code_end = . + 0x00158d60 aec_code_end = . 0x00000000 aec_code_size = (aec_code_end - aec_code_begin) *(.msbc_enc) *(.cvsd_codec) @@ -4273,11 +4275,11 @@ END GROUP [!provide] PROVIDE (__load_start_overlay_aec, LOADADDR (.overlay_aec)) [!provide] PROVIDE (__load_stop_overlay_aec, (LOADADDR (.overlay_aec) + SIZEOF (.overlay_aec))) -.overlay_aac 0x00158c40 0x0 load address 0x00200000 +.overlay_aac 0x00158d60 0x0 load address 0x00200000 [!provide] PROVIDE (__load_start_overlay_aac, LOADADDR (.overlay_aac)) [!provide] PROVIDE (__load_stop_overlay_aac, (LOADADDR (.overlay_aac) + SIZEOF (.overlay_aac))) -.overlay_mp3 0x00158c40 0x0 load address 0x00200000 +.overlay_mp3 0x00158d60 0x0 load address 0x00200000 *(.mp3_mem) *(.mp3_ctrl_mem) *(.mp3pick_mem) @@ -4286,7 +4288,7 @@ END GROUP [!provide] PROVIDE (__load_start_overlay_mp3, LOADADDR (.overlay_mp3)) [!provide] PROVIDE (__load_stop_overlay_mp3, (LOADADDR (.overlay_mp3) + SIZEOF (.overlay_mp3))) -.overlay_wma 0x00158c40 0x0 load address 0x00200000 +.overlay_wma 0x00158d60 0x0 load address 0x00200000 *(.wma_mem) *(.wma_ctrl_mem) *(.wmapick_mem) @@ -4294,48 +4296,48 @@ END GROUP [!provide] PROVIDE (__load_start_overlay_wma, LOADADDR (.overlay_wma)) [!provide] PROVIDE (__load_stop_overlay_wma, (LOADADDR (.overlay_wma) + SIZEOF (.overlay_wma))) -.overlay_wav 0x00158c40 0x0 load address 0x00200000 +.overlay_wav 0x00158d60 0x0 load address 0x00200000 *(.wav_mem) *(.wav_ctrl_mem) [!provide] PROVIDE (__load_start_overlay_wav, LOADADDR (.overlay_wav)) [!provide] PROVIDE (__load_stop_overlay_wav, (LOADADDR (.overlay_wav) + SIZEOF (.overlay_wav))) -.overlay_ape 0x00158c40 0x0 load address 0x00200000 +.overlay_ape 0x00158d60 0x0 load address 0x00200000 *(.ape_mem) *(.ape_ctrl_mem) [!provide] PROVIDE (__load_start_overlay_ape, LOADADDR (.overlay_ape)) [!provide] PROVIDE (__load_stop_overlay_ape, (LOADADDR (.overlay_ape) + SIZEOF (.overlay_ape))) -.overlay_flac 0x00158c40 0x0 load address 0x00200000 +.overlay_flac 0x00158d60 0x0 load address 0x00200000 *(.flac_mem) *(.flac_ctrl_mem) [!provide] PROVIDE (__load_start_overlay_flac, LOADADDR (.overlay_flac)) [!provide] PROVIDE (__load_stop_overlay_flac, (LOADADDR (.overlay_flac) + SIZEOF (.overlay_flac))) -.overlay_m4a 0x00158c40 0x0 load address 0x00200000 +.overlay_m4a 0x00158d60 0x0 load address 0x00200000 *(.m4a_mem) *(.m4a_ctrl_mem) [!provide] PROVIDE (__load_start_overlay_m4a, LOADADDR (.overlay_m4a)) [!provide] PROVIDE (__load_stop_overlay_m4a, (LOADADDR (.overlay_m4a) + SIZEOF (.overlay_m4a))) -.overlay_amr 0x00158c40 0x0 load address 0x00200000 +.overlay_amr 0x00158d60 0x0 load address 0x00200000 *(.amr_mem) *(.amr_ctrl_mem) [!provide] PROVIDE (__load_start_overlay_amr, LOADADDR (.overlay_amr)) [!provide] PROVIDE (__load_stop_overlay_amr, (LOADADDR (.overlay_amr) + SIZEOF (.overlay_amr))) -.overlay_dts 0x00158c40 0x0 load address 0x00200000 +.overlay_dts 0x00158d60 0x0 load address 0x00200000 *(.dts_mem) *(.dts_ctrl_mem) [!provide] PROVIDE (__load_start_overlay_dts, LOADADDR (.overlay_dts)) [!provide] PROVIDE (__load_stop_overlay_dts, (LOADADDR (.overlay_dts) + SIZEOF (.overlay_dts))) -.overlay_fm 0x00158c40 0x0 load address 0x00200000 +.overlay_fm 0x00158d60 0x0 load address 0x00200000 *(.fm_mem) [!provide] PROVIDE (__load_start_overlay_fm, LOADADDR (.overlay_fm)) [!provide] PROVIDE (__load_stop_overlay_fm, (LOADADDR (.overlay_fm) + SIZEOF (.overlay_fm))) -.overlay_pc 0x00158c40 0x0 load address 0x00200000 +.overlay_pc 0x00158d60 0x0 load address 0x00200000 *(.usb_audio_play_dma) *(.usb_audio_rec_dma) *(.uac_rx) @@ -4350,9 +4352,9 @@ END GROUP *(.cdc_var) [!provide] PROVIDE (__load_start_overlay_pc, LOADADDR (.overlay_pc)) [!provide] PROVIDE (__load_stop_overlay_pc, (LOADADDR (.overlay_pc) + SIZEOF (.overlay_pc))) - 0x00158c40 data_code_pc_limit_end = . - 0x00158c40 __report_overlay_end = . - 0x00158c40 _HEAP_BEGIN = . + 0x00158d60 data_code_pc_limit_end = . + 0x00158d60 __report_overlay_end = . + 0x00158d60 _HEAP_BEGIN = . 0x0019fb80 _HEAP_END = RAM0_END 0x02000000 . = ORIGIN (psr_ram) @@ -4367,51 +4369,51 @@ END GROUP 0x00000000 BTSTACK_LE_HOST_MESH_FLASH_TOTAL = BTSTACK_LE_HOST_MESH_CODE_SIZE 0x0000aa76 BTSTACK_CODE_SIZE = ((btstack_code_end - btstack_code_start) + (btstack_data_end - btstack_data_start)) 0x00000410 BTCTLER_LE_RAM_TOTAL = (BTCTLER_LE_CONTROLLER_DATA_SIZE + BTCTLER_LE_CONTROLLER_BSS_SIZE) - 0x00007168 BTCTLER_LE_CODE_TOTAL = BTCTLER_LE_CONTROLLER_CODE_SIZE + 0x00007160 BTCTLER_LE_CODE_TOTAL = BTCTLER_LE_CONTROLLER_CODE_SIZE 0x0000033a BTCTLER_CL_RAM_TOTAL = (BTCTLER_CL_DATA_SIZE + BTCTLER_CL_BSS_SIZE) 0x0000147c BTCTLER_CL_CODE_TOTAL = BTCTLER_CL_CODE_SIZE 0x000006e2 BTCTLER_COMMON_RAM_TOTAL = (BTCTLER_CONTROLLER_BSS_SIZE + BTCTLER_CONTROLLER_DATA_SIZE) 0x00002760 BTCTLER_COMMON_CODE_TOTAL = BTCTLER_CONTROLLER_CODE_SIZE 0x00000e2c BTCTLER_RAM_TOTAL = ((btctler_data_end - btctler_data_start) + (btctler_bss_end - btctler_bss_start)) - 0xfa1276bc BTCTLER_CODE_TOTAL = (btctler_code_end - btctler_code_start) + 0xfa1270a8 BTCTLER_CODE_TOTAL = (btctler_code_end - btctler_code_start) 0x00000908 DRIVER_RAM_TOTAL = ((driver_data_end - driver_data_start) + (driver_bss_end - driver_bss_start)) - 0x00004760 DRIVER_CODE_TOTAL = (driver_code_end - driver_code_start) - 0x000016d4 DRIVER_DATA_CODE_TOTAL = (driver_data_code_end - driver_data_code_start) + 0x00004778 DRIVER_CODE_TOTAL = (driver_code_end - driver_code_start) + 0x000016d8 DRIVER_DATA_CODE_TOTAL = (driver_data_code_end - driver_data_code_start) 0x06000100 text_begin = ADDR (.text) - 0x0004f31c text_size = SIZEOF (.text) - 0x0604f41c text_end = (text_begin + text_size) + 0x0004fa64 text_size = SIZEOF (.text) + 0x0604fb64 text_end = (text_begin + text_size) 0x00147fe0 bss_begin = ADDR (.bss) - 0x0000b264 bss_size = SIZEOF (.bss) - 0x00153244 bss_end = (bss_begin + bss_size) + 0x0000b384 bss_size = SIZEOF (.bss) + 0x00153364 bss_end = (bss_begin + bss_size) 0x00147040 data_addr = ADDR (.data) - 0x0604f41c data_begin = (text_begin + text_size) + 0x0604fb64 data_begin = (text_begin + text_size) 0x00000fa0 data_size = SIZEOF (.data) - 0x00158c40 moveable_slot_addr = ADDR (.moveable_slot) - 0x060503bc moveable_slot_begin = (data_begin + data_size) + 0x00158d60 moveable_slot_addr = ADDR (.moveable_slot) + 0x06050b04 moveable_slot_begin = (data_begin + data_size) 0x00000000 moveable_slot_size = SIZEOF (.moveable_slot) - 0x00153260 data_code_addr = ADDR (.data_code) - 0x060503bc data_code_begin = (moveable_slot_begin + moveable_slot_size) + 0x00153380 data_code_addr = ADDR (.data_code) + 0x06050b04 data_code_begin = (moveable_slot_begin + moveable_slot_size) 0x000059e0 data_code_size = SIZEOF (.data_code) - 0x00158c40 aec_addr = ADDR (.overlay_aec) - 0x06055d9c aec_begin = (data_code_begin + data_code_size) + 0x00158d60 aec_addr = ADDR (.overlay_aec) + 0x060564e4 aec_begin = (data_code_begin + data_code_size) 0x00000000 aec_size = SIZEOF (.overlay_aec) - 0x00158c40 aac_addr = ADDR (.overlay_aac) - 0x06055d9c aac_begin = (aec_begin + aec_size) + 0x00158d60 aac_addr = ADDR (.overlay_aac) + 0x060564e4 aac_begin = (aec_begin + aec_size) 0x00000000 aac_size = SIZEOF (.overlay_aac) 0x02000000 psr_data_code_addr = ADDR (.psr_data_code) - 0x06055d9c psr_data_code_begin = (aac_begin + aac_size) + 0x060564e4 psr_data_code_begin = (aac_begin + aac_size) 0x00000000 psr_data_code_size = SIZEOF (.psr_data_code) 0x00000001 ASSERT ((_HEAP_BEGIN > bss_begin), _HEAP_BEGIN < bss_begin) 0x00000001 ASSERT ((_HEAP_BEGIN > data_addr), _HEAP_BEGIN < data_addr) 0x00000001 ASSERT ((_HEAP_BEGIN > data_code_addr), _HEAP_BEGIN < data_code_addr) - 0x00158c40 PROVIDE (HEAP_BEGIN, _HEAP_BEGIN) + 0x00158d60 PROVIDE (HEAP_BEGIN, _HEAP_BEGIN) 0x0019fb80 PROVIDE (HEAP_END, _HEAP_END) - 0x00046f40 _MALLOC_SIZE = (_HEAP_END - _HEAP_BEGIN) - 0x00046f40 PROVIDE (MALLOC_SIZE, (_HEAP_END - _HEAP_BEGIN)) + 0x00046e20 _MALLOC_SIZE = (_HEAP_END - _HEAP_BEGIN) + 0x00046e20 PROVIDE (MALLOC_SIZE, (_HEAP_END - _HEAP_BEGIN)) 0x00000001 ASSERT ((MALLOC_SIZE >= 0x8000), heap space too small !) 0x06000100 report_text_beign = ADDR (.text) - 0x0004f31c report_text_size = SIZEOF (.text) - 0x0604f41c report_text_end = (report_text_beign + report_text_size) + 0x0004fa64 report_text_size = SIZEOF (.text) + 0x0604fb64 report_text_end = (report_text_beign + report_text_size) 0x00140000 report_mmu_tlb_begin = ADDR (.mmu_tlb) 0x00005000 report_mmu_tlb_size = SIZEOF (.mmu_tlb) 0x00145000 report_mmu_tlb_end = (report_mmu_tlb_begin + report_mmu_tlb_size) @@ -4425,16 +4427,16 @@ END GROUP 0x00000fa0 report_data_size = SIZEOF (.data) 0x00147fe0 report_data_end = (report_data_begin + report_data_size) 0x00147fe0 report_bss_begin = ADDR (.bss) - 0x0000b264 report_bss_size = SIZEOF (.bss) - 0x00153244 report_bss_end = (report_bss_begin + report_bss_size) - 0x00153260 report_data_code_begin = ADDR (.data_code) + 0x0000b384 report_bss_size = SIZEOF (.bss) + 0x00153364 report_bss_end = (report_bss_begin + report_bss_size) + 0x00153380 report_data_code_begin = ADDR (.data_code) 0x000059e0 report_data_code_size = SIZEOF (.data_code) - 0x00158c40 report_data_code_end = (report_data_code_begin + report_data_code_size) - 0x00158c40 report_overlay_begin = __report_overlay_begin + 0x00158d60 report_data_code_end = (report_data_code_begin + report_data_code_size) + 0x00158d60 report_overlay_begin = __report_overlay_begin 0x00000000 report_overlay_size = (__report_overlay_end - __report_overlay_begin) - 0x00158c40 report_overlay_end = __report_overlay_end - 0x00158c40 report_heap_beign = _HEAP_BEGIN - 0x00046f40 report_heap_size = (_HEAP_END - _HEAP_BEGIN) + 0x00158d60 report_overlay_end = __report_overlay_end + 0x00158d60 report_heap_beign = _HEAP_BEGIN + 0x00046e20 report_heap_size = (_HEAP_END - _HEAP_BEGIN) 0x0019fb80 report_heap_end = _HEAP_END 0x0009fb80 BR28_PHY_RAM_SIZE = PHY_RAM_SIZE 0x0005fb64 BR28_SDK_RAM_SIZE = (((((((report_mmu_tlb_size + report_boot_info_size) + report_irq_stack_size) + report_data_size) + report_bss_size) + report_overlay_size) + report_data_code_size) + report_heap_size) @@ -4444,46 +4446,46 @@ LOAD C:\JL\pi32\pi32v2-lib\r3-large\libm.a LOAD C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a OUTPUT(cpu\br28\tools\sdk.elf elf32-pi32v2) -.debug_str 0x00000000 0x5dd44 - .debug_str 0x00000000 0x5dd44 cpu\br28\tools\sdk.elf.o - 0x641c2 (size before relaxing) +.debug_str 0x00000000 0x5deb7 + .debug_str 0x00000000 0x5deb7 cpu\br28\tools\sdk.elf.o + 0x64344 (size before relaxing) -.debug_loc 0x00000000 0x2f25b - .debug_loc 0x00000000 0x2f25b cpu\br28\tools\sdk.elf.o +.debug_loc 0x00000000 0x2f370 + .debug_loc 0x00000000 0x2f370 cpu\br28\tools\sdk.elf.o .debug_abbrev 0x00000000 0x1131 .debug_abbrev 0x00000000 0x110b cpu\br28\tools\sdk.elf.o .debug_abbrev 0x0000110b 0x26 cpu/br28/liba/cpu.a(startup.S.o) -.debug_info 0x00000000 0xf78a0 - .debug_info 0x00000000 0xf76ac cpu\br28\tools\sdk.elf.o - .debug_info 0x000f76ac 0x1f4 cpu/br28/liba/cpu.a(startup.S.o) +.debug_info 0x00000000 0xf7740 + .debug_info 0x00000000 0xf754c cpu\br28\tools\sdk.elf.o + .debug_info 0x000f754c 0x1f4 cpu/br28/liba/cpu.a(startup.S.o) -.debug_ranges 0x00000000 0x6810 - .debug_ranges 0x00000000 0x67e8 cpu\br28\tools\sdk.elf.o - .debug_ranges 0x000067e8 0x28 cpu/br28/liba/cpu.a(startup.S.o) +.debug_ranges 0x00000000 0x68a8 + .debug_ranges 0x00000000 0x6880 cpu\br28\tools\sdk.elf.o + .debug_ranges 0x00006880 0x28 cpu/br28/liba/cpu.a(startup.S.o) .debug_macinfo 0x00000000 0x1 .debug_macinfo 0x00000000 0x1 cpu\br28\tools\sdk.elf.o .debug_pubnames - 0x00000000 0x2882f + 0x00000000 0x28a63 .debug_pubnames - 0x00000000 0x2882f cpu\br28\tools\sdk.elf.o + 0x00000000 0x28a63 cpu\br28\tools\sdk.elf.o .debug_pubtypes - 0x00000000 0x199ab + 0x00000000 0x199c0 .debug_pubtypes - 0x00000000 0x199ab cpu\br28\tools\sdk.elf.o + 0x00000000 0x199c0 cpu\br28\tools\sdk.elf.o -.debug_frame 0x00000000 0xf7d0 - .debug_frame 0x00000000 0xf7d0 cpu\br28\tools\sdk.elf.o +.debug_frame 0x00000000 0xf880 + .debug_frame 0x00000000 0xf880 cpu\br28\tools\sdk.elf.o -.debug_line 0x00000000 0x641fe - .debug_line 0x00000000 0x640a5 cpu\br28\tools\sdk.elf.o - .debug_line 0x000640a5 0x30 obj/Release/apps/earphone/sdk_version.z.o - .debug_line 0x000640d5 0x129 cpu/br28/liba/cpu.a(startup.S.o) +.debug_line 0x00000000 0x643aa + .debug_line 0x00000000 0x64251 cpu\br28\tools\sdk.elf.o + .debug_line 0x00064251 0x30 obj/Release/apps/earphone/sdk_version.z.o + .debug_line 0x00064281 0x129 cpu/br28/liba/cpu.a(startup.S.o) .debug_aranges 0x00000000 0x28 .debug_aranges diff --git a/include_lib/system/syscfg_id.h b/include_lib/system/syscfg_id.h index 5fba4f4..9bdd3db 100644 --- a/include_lib/system/syscfg_id.h +++ b/include_lib/system/syscfg_id.h @@ -143,6 +143,7 @@ u8 *syscfg_ptr_read(u16 item_id, u16 *len); #define CFG_USER_PAIR_INFO 2 #define CFG_USER_TIM_FLAG 3 +#define CFG_USER_PROD_INFO 28 /* ProdtCode + productCode */ diff --git a/obj/Release/apps/common/audio/audio_noise_gate.o b/obj/Release/apps/common/audio/audio_noise_gate.o index e5c06a2..f147693 100644 Binary files a/obj/Release/apps/common/audio/audio_noise_gate.o and b/obj/Release/apps/common/audio/audio_noise_gate.o differ diff --git a/obj/Release/apps/common/audio/sine_make.o b/obj/Release/apps/common/audio/sine_make.o index c04d44f..a5c6629 100644 Binary files a/obj/Release/apps/common/audio/sine_make.o and b/obj/Release/apps/common/audio/sine_make.o differ diff --git a/obj/Release/apps/common/device/gx8002_npu/gx8002_upgrade/spp_upgrade/gx_fifo.o b/obj/Release/apps/common/device/gx8002_npu/gx8002_upgrade/spp_upgrade/gx_fifo.o index 192e6a0..de53519 100644 Binary files a/obj/Release/apps/common/device/gx8002_npu/gx8002_upgrade/spp_upgrade/gx_fifo.o and b/obj/Release/apps/common/device/gx8002_npu/gx8002_upgrade/spp_upgrade/gx_fifo.o differ diff --git a/obj/Release/apps/common/device/usb/device/task_pc.o b/obj/Release/apps/common/device/usb/device/task_pc.o index eae1ac3..e6eef4e 100644 Binary files a/obj/Release/apps/common/device/usb/device/task_pc.o and b/obj/Release/apps/common/device/usb/device/task_pc.o differ diff --git a/obj/Release/apps/common/fat_nor/cfg_private.o b/obj/Release/apps/common/fat_nor/cfg_private.o index 5c811b2..fc78586 100644 Binary files a/obj/Release/apps/common/fat_nor/cfg_private.o and b/obj/Release/apps/common/fat_nor/cfg_private.o differ diff --git a/obj/Release/apps/common/file_operate/file_bs_deal.o b/obj/Release/apps/common/file_operate/file_bs_deal.o index c7fcfb7..32d8cad 100644 Binary files a/obj/Release/apps/common/file_operate/file_bs_deal.o and b/obj/Release/apps/common/file_operate/file_bs_deal.o differ diff --git a/obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.o b/obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.o index 280d4e0..813dd0b 100644 Binary files a/obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.o and b/obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.o differ diff --git a/obj/Release/apps/earphone/app_main.o b/obj/Release/apps/earphone/app_main.o index 04ed9f7..536dc40 100644 Binary files a/obj/Release/apps/earphone/app_main.o and b/obj/Release/apps/earphone/app_main.o differ diff --git a/obj/Release/apps/earphone/log_config/app_config.o b/obj/Release/apps/earphone/log_config/app_config.o index a120186..e24cf6f 100644 Binary files a/obj/Release/apps/earphone/log_config/app_config.o and b/obj/Release/apps/earphone/log_config/app_config.o differ diff --git a/obj/Release/apps/earphone/version.o b/obj/Release/apps/earphone/version.o index 88ab2a5..0395340 100644 Binary files a/obj/Release/apps/earphone/version.o and b/obj/Release/apps/earphone/version.o differ diff --git a/obj/Release/apps/usr_le_code/bleproto_packer.o b/obj/Release/apps/usr_le_code/bleproto_packer.o index e05959c..7b40e3a 100644 Binary files a/obj/Release/apps/usr_le_code/bleproto_packer.o and b/obj/Release/apps/usr_le_code/bleproto_packer.o differ diff --git a/obj/Release/apps/usr_le_code/usr_le_adv.o b/obj/Release/apps/usr_le_code/usr_le_adv.o index 80abb44..b97c479 100644 Binary files a/obj/Release/apps/usr_le_code/usr_le_adv.o and b/obj/Release/apps/usr_le_code/usr_le_adv.o differ diff --git a/obj/Release/apps/usr_le_code/usr_usb_jb.o b/obj/Release/apps/usr_le_code/usr_usb_jb.o new file mode 100644 index 0000000..9e639b8 Binary files /dev/null and b/obj/Release/apps/usr_le_code/usr_usb_jb.o differ diff --git a/obj/Release/cpu/br28/app_audio.o b/obj/Release/cpu/br28/app_audio.o index a43012b..300ad1b 100644 Binary files a/obj/Release/cpu/br28/app_audio.o and b/obj/Release/cpu/br28/app_audio.o differ diff --git a/obj/Release/cpu/br28/audio_link.o b/obj/Release/cpu/br28/audio_link.o index a97d681..eaa7c5d 100644 Binary files a/obj/Release/cpu/br28/audio_link.o and b/obj/Release/cpu/br28/audio_link.o differ diff --git a/obj/Release/cpu/br28/hw_fft.o b/obj/Release/cpu/br28/hw_fft.o index 0ce8659..f9ebd33 100644 Binary files a/obj/Release/cpu/br28/hw_fft.o and b/obj/Release/cpu/br28/hw_fft.o differ diff --git a/obj/Release/cpu/br28/lp_touch_key_alog.o b/obj/Release/cpu/br28/lp_touch_key_alog.o index caaf20c..61079ff 100644 Binary files a/obj/Release/cpu/br28/lp_touch_key_alog.o and b/obj/Release/cpu/br28/lp_touch_key_alog.o differ diff --git a/obj/Release/cpu/br28/pdm_link.o b/obj/Release/cpu/br28/pdm_link.o index 6911e5e..41a55e4 100644 Binary files a/obj/Release/cpu/br28/pdm_link.o and b/obj/Release/cpu/br28/pdm_link.o differ diff --git a/obj/Release/cpu/br28/plcnt.o b/obj/Release/cpu/br28/plcnt.o index 1eeb65d..d53f70c 100644 Binary files a/obj/Release/cpu/br28/plcnt.o and b/obj/Release/cpu/br28/plcnt.o differ diff --git a/obj/Release/cpu/br28/smart_voice/kws_event.o b/obj/Release/cpu/br28/smart_voice/kws_event.o index 2732ff3..e74090e 100644 Binary files a/obj/Release/cpu/br28/smart_voice/kws_event.o and b/obj/Release/cpu/br28/smart_voice/kws_event.o differ diff --git a/obj/Release/cpu/br28/smart_voice/smart_voice_core.o b/obj/Release/cpu/br28/smart_voice/smart_voice_core.o index 4811cad..41e13e0 100644 Binary files a/obj/Release/cpu/br28/smart_voice/smart_voice_core.o and b/obj/Release/cpu/br28/smart_voice/smart_voice_core.o differ diff --git a/obj/Release/cpu/br28/smart_voice/user_asr.o b/obj/Release/cpu/br28/smart_voice/user_asr.o index 8110bba..2bb9584 100644 Binary files a/obj/Release/cpu/br28/smart_voice/user_asr.o and b/obj/Release/cpu/br28/smart_voice/user_asr.o differ diff --git a/obj/Release/cpu/br28/smart_voice/vad_clock_trim.o b/obj/Release/cpu/br28/smart_voice/vad_clock_trim.o index 0c8010e..74cb1c6 100644 Binary files a/obj/Release/cpu/br28/smart_voice/vad_clock_trim.o and b/obj/Release/cpu/br28/smart_voice/vad_clock_trim.o differ diff --git a/obj/Release/cpu/br28/smart_voice/vad_mic.o b/obj/Release/cpu/br28/smart_voice/vad_mic.o index 48b8cd2..38a7698 100644 Binary files a/obj/Release/cpu/br28/smart_voice/vad_mic.o and b/obj/Release/cpu/br28/smart_voice/vad_mic.o differ