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