diff --git a/AC701N.depend b/AC701N.depend index cae6060..f397bea 100644 --- a/AC701N.depend +++ b/AC701N.depend @@ -136048,7 +136048,7 @@ "ble_proto.h" -1784804508 source:d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\apps\usr_le_code\bleproto.c +1785211820 source:d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\apps\usr_le_code\bleproto.c "bleproto.h" "ble_proto.h" @@ -136074,7 +136074,7 @@ "usr_usb_jb.h" "debug.h" -1785142543 source:d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\apps\usr_le_code\usr_le_recieve.c +1785221986 source:d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\apps\usr_le_code\usr_le_recieve.c "app_config.h" "asm/pwm_led.h" "tone_player.h" @@ -136091,6 +136091,7 @@ "vm.h" "bleproto.h" "bleproto_api.h" + "usr_usb_jb.h" "usb/device/cdc.h" "debug.h" @@ -137190,14 +137191,15 @@ "app_config.h" "timer.h" -1784880583 d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\apps\usr_le_code\usr_usb_jb.h +1785222089 d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\apps\usr_le_code\usr_usb_jb.h -1785135673 source:d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\apps\usr_le_code\usr_usb_jb.c +1785222977 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" + "bleproto_api.h" "debug.h" "usb/device/cdc.h" diff --git a/AC701N.layout b/AC701N.layout index 3c8f5cb..44914c2 100644 --- a/AC701N.layout +++ b/AC701N.layout @@ -2,1154 +2,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -1157,24 +32,69 @@ - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1182,34 +102,79 @@ - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1217,9 +182,504 @@ - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1232,79 +692,14 @@ - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -1312,19 +707,624 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/usr_le_code/bleproto.c b/apps/usr_le_code/bleproto.c index fdef147..09a51e5 100644 --- a/apps/usr_le_code/bleproto.c +++ b/apps/usr_le_code/bleproto.c @@ -304,6 +304,10 @@ int bleproto_appdata_encode(uint8_t * txbuf, rc = bleproto_encbin_otadata_rsp(&desc->datast.otadata_rsp, appdata.data); break; + case E_BLEPROTO_SERVICE_ID_REPORTCMD_V2: + case E_BLEPROTO_SERVICE_ID_RUNCMD_V2: + rc = ble_proto_pack(&desc->datast.runcmd_v2_rsp, appdata.data, sizeof(appdata.data)); + break; default: /* unkown serviceid */ return (-1); diff --git a/apps/usr_le_code/usr_le_recieve.c b/apps/usr_le_code/usr_le_recieve.c index 14afa28..7bdc5e4 100644 --- a/apps/usr_le_code/usr_le_recieve.c +++ b/apps/usr_le_code/usr_le_recieve.c @@ -15,6 +15,7 @@ #include "vm.h" #include "bleproto.h" #include "bleproto_api.h" +#include "usr_usb_jb.h" #if TCFG_USB_SLAVE_CDC_ENABLE #include "usb/device/cdc.h" #endif @@ -129,6 +130,10 @@ void usr_set_device_default() void usr_data_ana(bleproto_appdata_desc_t *desc) { bleproto_appdata_desc_t encode_desc = {0}; + + /* 记录本次 BLE 收到的 msgid,USB 侧回包时å¤ç”¨ */ + usr_ble_rx_msgid_save(desc->header.msgid); + if (desc->header.msgtype /*desc.header.msgtype*/ == BLEPROTO_APPDATA_MSGTYPE_REQ) { switch (desc->header.serviceid) @@ -454,19 +459,117 @@ void usr_run_cmd_code(bleproto_runcmd_req_t *runcmd_par, u8 usr_msg_id) switch (runcmd_par->ycmd.cmd_id) { + case 202: + printf("runcmd_par->ycmd.arg_int32 0 = %d\n", runcmd_par->ycmd.arg_int32[0]); + rsp->ycmd.cmd_id = 110; + rsp->ycmd.arg_int32_count = 2; + rsp->ycmd.arg_string_count = 0; + rsp->ycmd.arg_bytes_count = 0; + /* + | 索引 | 类型 | æè¿° | å–值 | + | ---- | ----- | ---------- | ---------------- | + | 0 | int32 | 开关机控制 | 0:关机;1:开机 | + */ + rsp->ycmd.arg_int32[0] = 202; + rsp->ycmd.arg_int32[1] = 0; + rsp->ycmd.t = usr_var.usr_cureent_utc; + break; + case 203: + /* + | 索引 | 类型 | æè¿° | å–值 | + | ---- | ----- | ------------------ | ----------------------------------------------------------------- | + | 0 | int32 | è¿åŠ¨æ¨¡å¼ | 0:关闭内置模å¼ï¼›1-鸡血,2-佛系 | + | 1 | int32 | åº•åº§è½¬åŠ¨æ¨¡å¼ | 0:关闭;1:平稳;2:狂转 | + | 2 | int32 | é€—çŒ«æ£’æ‘‡åŠ¨æ¨¡å¼ | 0:关闭;1:自动; 2:转圈; 3:抖动; | + | 3 | int32 | é€—çŒ«æ£’æ‰‹åŠ¨å‚æ•° | 逗猫棒摇动模å¼ä¸º0时有效, 0:无效;1:手动正转一圈 ï¼›2:手动正转一圈 | + */ + + rsp->ycmd.cmd_id = 110; + rsp->ycmd.arg_int32_count = 3; + rsp->ycmd.arg_string_count = 0; + rsp->ycmd.arg_bytes_count = 0; + rsp->ycmd.arg_int32[0] = 203; + rsp->ycmd.arg_int32[1] = 0; + rsp->ycmd.arg_int32[2] = 0; + rsp->ycmd.t = usr_var.usr_cureent_utc; + break; + case 204: + rsp->ycmd.cmd_id = 110; + rsp->ycmd.arg_int32_count = 2; + rsp->ycmd.arg_string_count = 0; + rsp->ycmd.arg_bytes_count = 0; + rsp->ycmd.arg_int32[0] = 204; + rsp->ycmd.arg_int32[1] = 0; + rsp->ycmd.t = usr_var.usr_cureent_utc; + break; + case 205: + rsp->ycmd.cmd_id = 110; + rsp->ycmd.arg_int32_count = 2; + rsp->ycmd.arg_string_count = 0; + rsp->ycmd.arg_bytes_count = 0; + rsp->ycmd.arg_int32[0] = 205; + rsp->ycmd.arg_int32[1] = 0; + rsp->ycmd.t = usr_var.usr_cureent_utc; + break; + case 206: /// éœ‡åŠ¨å¼€æœºå‚æ•°é…ç½® + /* + | 索引 | 类型 | æè¿° | å–值 | + | ---- | ------ | ------------------------------------------------------------ | ----------------------------- | + | 0 | int32 | 震动开机开关 | -1:忽略, 0:关闭;1ï¼šå¼€å¯ | + | 1 | int32 | 勿扰模å¼å¼€å…³ | -1:忽略, 0:关闭;1ï¼šå¼€å¯ | + | 0 | string | 周计划 + 开始时间点 + ç»“æŸæ—¶é—´ç‚¹
周计划:dddddd, + 从左到å³è¡¨ç¤º7个,分别表示周一到周日,1表示有效,0表示无效
+ 时间点:hhmm, hhè¡¨ç¤ºå°æ—¶ï¼Œmm表示分钟
+ 例如
0 + 0000001+1828+1930 表示æ¯å‘¨æ—¥é‡å¤+18:28开始+19:30结æŸ
+ 1000001+0928+1930 表示æ¯å‘¨ä¸€å’Œå‘¨æ—¥é‡å¤+09:28开始+19:30结æŸ
+ 1100000+1328+1930 表示æ¯å‘¨ä¸€å’Œå‘¨äºŒé‡å¤+13:28开始+19:30结æŸ
ddddddd+hhmm+hhmm | + */ + rsp->ycmd.cmd_id = 110; + rsp->ycmd.arg_int32_count = 2; + rsp->ycmd.arg_bytes_count = 0; + rsp->ycmd.arg_int32[0] = 206; + rsp->ycmd.arg_int32[1] = 0; + rsp->ycmd.t = usr_var.usr_cureent_utc; + break; + case 207: /// 周计划查询 + rsp->ycmd.cmd_id = 110; + rsp->ycmd.arg_int32_count = 4; + rsp->ycmd.arg_bytes_count = 0; + rsp->ycmd.arg_string_count = 0; + rsp->ycmd.arg_int32[0] = 207; + rsp->ycmd.arg_int32[1] = 0; + rsp->ycmd.arg_int32[2] = 0; + rsp->ycmd.arg_int32[3] = 0; + rsp->ycmd.t = usr_var.usr_cureent_utc; + break; case 600: /* | 索引 | 类型 | æè¿° | å–值 | | ---- | ----- | ---------------- | ------------------------------------------------- | | 0 | int32 | cmdid | 600 | | 1 | int32 | 返回值 | 0: 设备接å—命令æˆåŠŸ; éžé›¶: å‚è§å…·ä½“çš„å‘½ä»¤é”™è¯¯ä»£ç  | + | 2 | int32 | 当å‰ç”µé‡ | [1, 100]:百分比;0:ä¸ä½¿ç”¨ç”µæ± ä¾›ç”µ | + | 3 | int32 | 当å‰ç”µé‡æ˜¯å¦æ­£å¸¸ | 0:正常;1:电é‡è¿‡ä½Ž | + | 4 | int32 | å……ç”µçŠ¶æ€ | 0: 䏿”¯æŒå……电; 1:充电 2:未充电 | + | 5 | int32 | å¼€æœºçŠ¶æ€ | 0:关闭;1ï¼šå¼€å¯ | + | 6 | int32 | è¿åŠ¨æ¨¡å¼ | 0:关闭;1:鸡血;2:佛系 | + | 7 | int32 | åº•åº§è½¬åŠ¨æ¨¡å¼ | 0:关闭;1:平稳;2:狂转 | + | 8 | int32 | é€—çŒ«æ£’æ‘‡åŠ¨æ¨¡å¼ | 0:手动;1:自动;2:转圈;3:抖动 | */ rsp->ycmd.cmd_id = 110; rsp->ycmd.arg_int32_count = 9; rsp->ycmd.arg_string_count = 0; rsp->ycmd.arg_bytes_count = 0; rsp->ycmd.arg_int32[0] = 600; - rsp->ycmd.arg_int32[1] = 0; // 0:命令接收æˆåŠŸ + rsp->ycmd.arg_int32[1] = 0; // 0:命令接收æˆåŠŸ + rsp->ycmd.arg_int32[2] = 100; // 当å‰ç”µé‡ + rsp->ycmd.arg_int32[3] = 0; // 当å‰ç”µé‡æ˜¯å¦æ­£å¸¸ + rsp->ycmd.arg_int32[4] = 2; // å……ç”µçŠ¶æ€ + rsp->ycmd.arg_int32[5] = 1; // å¼€æœºçŠ¶æ€ + rsp->ycmd.arg_int32[6] = 0; // è¿åŠ¨æ¨¡å¼ + rsp->ycmd.arg_int32[7] = 0; // åº•åº§è½¬åŠ¨æ¨¡å¼ + rsp->ycmd.arg_int32[8] = 0; // é€—çŒ«æ£’æ‘‡åŠ¨æ¨¡å¼ memcpy(rsp->ycmd.arg_int32 + 2, 0, 7); rsp->ycmd.t = usr_var.usr_cureent_utc; // UTC时间戳; break; diff --git a/apps/usr_le_code/usr_usb_jb.c b/apps/usr_le_code/usr_usb_jb.c index 68a0054..2863c72 100644 --- a/apps/usr_le_code/usr_usb_jb.c +++ b/apps/usr_le_code/usr_usb_jb.c @@ -3,8 +3,9 @@ * @brief USB CDC è§å®å¸§è§£æžï¼šæ ¡éªŒåŽå†™å…¥äº§å“ç å¹¶é‡å¹¿æ’­ * @author cyWu <1917507415@qq.com> * @date 2026.07.24 - * @version V1.0.1 + * @version V1.0.2 * @history + * - V1.0.2, 2026.07.28, cyWu, éžäº§å“ç å‘½ä»¤æ•´å¸§é€ä¼  BLE REPORTCMD_V2 * - V1.0.1, 2026.07.24, cyWu, CDC ä¸­æ–­å†…ç¦æ­¢ syscfg_write,改延时到任务上下文 * - V1.0.0, 2026.07.24, cyWu, 首次å‘布 ******************************************************************************/ @@ -13,6 +14,7 @@ #include "app_config.h" #include "vm.h" #include "usr_usb_jb.h" +#include "bleproto_api.h" #define LOG_TAG_CONST APP #define LOG_TAG "[USB_JB]" @@ -35,12 +37,17 @@ #define MAX_PACKAGE_LEN 128 #define JB_RB_CAPACITY 256 #define USR_PROD_MAGIC 0x5A +#define USR_JB_BLE_CMD_REPORT 100 /* 0x07/0x34/0x38 → 主动上报类 */ +#define USR_JB_BLE_CMD_ACK 110 /* 0x04/0x06/0x31/0x37 → 应答类 */ +#define USR_JB_BLE_TX_SZ 384 #ifndef CFG_USER_PROD_INFO #define CFG_USER_PROD_INFO 28 #endif extern void usr_ble_adv_init(void); +extern void usr_ble_send_data(u8 *data, u16 len); +extern u16 usr_get_conn_service(void); /*============================================================================*/ /* 类型 */ @@ -77,6 +84,118 @@ 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 uint8_t s_ble_txbuf[USR_JB_BLE_TX_SZ]; +static uint8_t s_last_ble_msgid; /* 最近一次 BLE RX çš„ msgid */ + +void usr_ble_rx_msgid_save(uint8_t msgid) +{ + s_last_ble_msgid = msgid & 0x0F; + printf("usr_ble rx msgid save=%u\n", s_last_ble_msgid); +} + +uint8_t usr_ble_rx_msgid_get(void) +{ + return s_last_ble_msgid; +} + +/** + * @brief 按 USB JB 命令映射 ble_proto cmd / gateway_int + * @param jb_cmd USB 帧 CMD(frame[4]) + * @param pkt å¾…å¡«å……çš„ ble_proto 包 + * @return 0 å¯é€ä¼ , -1 䏿”¯æŒçš„命令 + */ +static int usr_jb_map_ble_pkt(uint8_t jb_cmd, ble_proto_packet_t *pkt) +{ + if (!pkt) { + return -1; + } + + memset(pkt, 0, sizeof(*pkt)); + + switch (jb_cmd) { + case 0x07: /* REPORT */ + case 0x34: /* OTA_COMPLETE */ + case 0x38: /* OTA_STOP_MCU */ + pkt->cmd = USR_JB_BLE_CMD_REPORT; + pkt->gateway_int_cnt = 0; + break; + + case 0x04: /* CONTROL_ACK */ + case 0x06: /* READ_ACK */ + case 0x31: /* OTA_NOTIFY_ACK */ + case 0x37: /* OTA_STOP_BLE_ACK */ + pkt->cmd = USR_JB_BLE_CMD_ACK; + pkt->gateway_int_cnt = 2; + pkt->gateway_int[0] = 0; + pkt->gateway_int[1] = 0; + break; + + default: + return -1; + } + + return 0; +} + +/** + * @brief 将完整 JB 帧å°è£…为 REPORTCMD_V2 åŽç» BLE å‘出 + * @param frame 完整 55 AA 帧 + * @param len 帧长度 + */ +static void usr_jb_forward_to_ble(const uint8_t *frame, uint16_t len) +{ + bleproto_appdata_desc_t encode_desc = {0}; + ble_proto_packet_t *pkt; + uint8_t jb_cmd; + int elen; + + if (!frame || len < 7 || len > MAX_PACKAGE_LEN) { + return; + } + + if (usr_get_conn_service() == 0) { + printf("usr_jb ble forward skip: not connected\n"); + return; + } + + jb_cmd = frame[4]; + pkt = &encode_desc.datast.reportcmd_v2_req; + if (usr_jb_map_ble_pkt(jb_cmd, pkt) != 0) { + printf("usr_jb ble forward ignore jb_cmd=0x%02x\n", jb_cmd); + return; + } + + encode_desc.header.version = 0; + encode_desc.header.datafmt = BLEPROTO_APPDATA_DATAFMT_JSON; + /* 100 上报用 REQ,110 应答用 RSP */ + encode_desc.header.msgtype = (pkt->cmd == USR_JB_BLE_CMD_ACK) + ? BLEPROTO_APPDATA_MSGTYPE_RSP + : BLEPROTO_APPDATA_MSGTYPE_REQ; + encode_desc.header.msgid = usr_ble_rx_msgid_get(); + encode_desc.header.encrypt = 0; + + encode_desc.header.serviceid = (pkt->cmd == USR_JB_BLE_CMD_ACK) + ? E_BLEPROTO_SERVICE_ID_RUNCMD_V2 + : E_BLEPROTO_SERVICE_ID_REPORTCMD_V2; + + pkt->reserved = 0; + pkt->device_int_len = 0; + pkt->device_str_len = 0; + pkt->device_bytes_len = len; + pkt->bytes_data = frame; + + elen = bleproto_appdata_encode(s_ble_txbuf, sizeof(s_ble_txbuf), + sizeof(s_ble_txbuf), &encode_desc); + printf("usr_jb ble forward jb_cmd=0x%02x ble_cmd=%u msgtype=%u msgid=%u gw_cnt=%u elen=%d\n", + jb_cmd, pkt->cmd, encode_desc.header.msgtype, + encode_desc.header.msgid, pkt->gateway_int_cnt, elen); + if (elen > 0) { + usr_ble_send_data(s_ble_txbuf, (u16)elen); + printf_buf(s_ble_txbuf, elen); + } else { + printf("usr_jb ble encode fail\n"); + } +} /*============================================================================*/ /* 环形缓冲 / 校验 */ @@ -339,24 +458,25 @@ static void usr_jb_process_timeout(void *priv) 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 (cmd == USR_JB_CMD_SET_PRODCODE) { + 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); + usr_jb_send_ack(cmd, sn, 0x01); #endif + continue; + } + + /* 缓存åŽç»Ÿä¸€è½ç›˜ï¼Œé¿å…åŒä¸€å‘¨æœŸå¤šæ¬¡å†™ flash */ + s_pending_cmd = cmd; + s_pending_sn = sn; + s_pending_save = 1; continue; } - /* 缓存åŽç»Ÿä¸€è½ç›˜ï¼Œé¿å…åŒä¸€å‘¨æœŸå¤šæ¬¡å†™ flash */ - s_pending_cmd = cmd; - s_pending_sn = sn; - s_pending_save = 1; + /* 其它命令:整帧é€ä¼ åˆ° BLE(按 JB cmd 映射 ble_proto cmd) */ + usr_jb_forward_to_ble(pkt, pkt_len); } while (1); if (!s_pending_save) { diff --git a/apps/usr_le_code/usr_usb_jb.h b/apps/usr_le_code/usr_usb_jb.h index ac1d90a..3f3337d 100644 --- a/apps/usr_le_code/usr_usb_jb.h +++ b/apps/usr_le_code/usr_usb_jb.h @@ -39,6 +39,19 @@ void usr_prodcode_init(void); */ void usr_prodcode_get(uint8_t *prodcode, uint8_t *pcode); +/** + * @brief 记录最近一次 BLE 收到的 msgid(供 USB 回包å¤ç”¨ï¼‰ + * @param msgid BLE 包头 msgid(4bit) + * @return void + */ +void usr_ble_rx_msgid_save(uint8_t msgid); + +/** + * @brief èŽ·å–æœ€è¿‘一次 BLE 收到的 msgid + * @return msgid + */ +uint8_t usr_ble_rx_msgid_get(void); + /** * @brief USB CDC 喂数:仅入环并挂定时器(å¯åœ¨ä¸­æ–­è°ƒç”¨ï¼‰ * @note å¸§è§£æž / syscfg_write / ACK / é‡å¹¿æ’­åœ¨å®šæ—¶å™¨ä»»åŠ¡ä¸­æ‰§è¡Œ diff --git a/cpu/br28/tools/app.bin b/cpu/br28/tools/app.bin index bc7d048..bfa6ac4 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 9e8fd09..1e734c1 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 a9d5c01..543d156 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 92ee156..cd6a162 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 138e6bc..619848d 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 fe08784..329cbc7 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 7af7b3d..45e6956 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 66eca3b..07c44df 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 05073f0..f772d5a 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 81b28d1..8dd58e9 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 81b28d1..8dd58e9 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 b14a412..32c45aa 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.resolution.txt b/cpu/br28/tools/sdk.elf.resolution.txt index 117cf39..b1e7b89 100644 --- a/cpu/br28/tools/sdk.elf.resolution.txt +++ b/cpu/br28/tools/sdk.elf.resolution.txt @@ -3332,6 +3332,7 @@ obj/Release/apps/usr_le_code/usr_le_recieve.o -r=obj/Release/apps/usr_le_code/usr_le_recieve.o,usr_data_ana,pl -r=obj/Release/apps/usr_le_code/usr_le_recieve.o,usr_send_ble_sta,pl -r=obj/Release/apps/usr_le_code/usr_le_recieve.o,usr_set_device_default,pl +-r=obj/Release/apps/usr_le_code/usr_le_recieve.o,usr_ble_rx_msgid_save,l -r=obj/Release/apps/usr_le_code/usr_le_recieve.o,bleproto_appdata_encode,l -r=obj/Release/apps/usr_le_code/usr_le_recieve.o,printf,l -r=obj/Release/apps/usr_le_code/usr_le_recieve.o,usr_ble_send_data,l @@ -3365,15 +3366,20 @@ obj/Release/apps/usr_le_code/usr_le_recieve.o -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_ble_rx_msgid_save,pl +-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_ble_rx_msgid_get,pl -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,usr_get_conn_service,l +-r=obj/Release/apps/usr_le_code/usr_usb_jb.o,bleproto_appdata_encode,l +-r=obj/Release/apps/usr_le_code/usr_usb_jb.o,usr_ble_send_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 diff --git a/cpu/br28/tools/sdk.map b/cpu/br28/tools/sdk.map index 1b97c3b..e5bc1a8 100644 --- a/cpu/br28/tools/sdk.map +++ b/cpu/br28/tools/sdk.map @@ -2690,425 +2690,424 @@ END GROUP 0x0000000a EQ_SECTION_NUM = 0xa 0x06000100 . = ORIGIN (code0) -.text 0x06000100 0x4fb1c +.text 0x06000100 0x4fe9c [!provide] PROVIDE (text_rodata_begin, .) *(.startup.text) .startup.text 0x06000100 0xaa cpu/br28/liba/cpu.a(startup.S.o) 0x06000100 _start *(.text) - .text 0x060001aa 0x13fe8 cpu\br28\tools\sdk.elf.o - 0x060099b2 update_result_get - 0x06009a7e __errno - .text 0x06014192 0x10c C:\JL\pi32\pi32v2-lib\r3-large\libc.a(lib_a-strtol.o) - 0x06014192 _strtol_r - 0x06014284 strtol - .text 0x0601429e 0x1c C:\JL\pi32\pi32v2-lib\r3-large\libc.a(lib_a-strtoull.o) - 0x0601429e strtoull - .text 0x060142ba 0x14a C:\JL\pi32\pi32v2-lib\r3-large\libc.a(lib_a-strtoull_r.o) - 0x060142ba _strtoull_r - .text 0x06014404 0x346 C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(divdf3.o) - 0x0601443a __divdf3 - .text 0x0601474a 0x4c C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(floatsidf.o) - 0x0601474a __floatsidf - .text 0x06014796 0x2fa C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(muldf3.o) - 0x060147cc __muldf3 - .text 0x06014a90 0xc C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(subdf3.o) - 0x06014a90 __subdf3 - .text 0x06014a9c 0x12 C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(udivdi3.o) - 0x06014a9c __udivdi3 - .text 0x06014aae 0x16 C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(umoddi3.o) - 0x06014aae __umoddi3 - .text 0x06014ac4 0x7a C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(extendsfdf2.o) - 0x06014ac4 __extendsfdf2 - .text 0x06014b3e 0x3c C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(fixunsdfsi.o) - 0x06014b3e __fixunsdfsi - .text 0x06014b7a 0x34 C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(floatunsidf.o) - 0x06014b7a __floatunsidf - 0x06014bb0 . = ALIGN (0x4) - *fill* 0x06014bae 0x2 - 0x06014bb0 update_target_begin = . + .text 0x060001aa 0x1426e cpu\br28\tools\sdk.elf.o + 0x06009aea update_result_get + 0x06009bb6 __errno + .text 0x06014418 0x10c C:\JL\pi32\pi32v2-lib\r3-large\libc.a(lib_a-strtol.o) + 0x06014418 _strtol_r + 0x0601450a strtol + .text 0x06014524 0x1c C:\JL\pi32\pi32v2-lib\r3-large\libc.a(lib_a-strtoull.o) + 0x06014524 strtoull + .text 0x06014540 0x14a C:\JL\pi32\pi32v2-lib\r3-large\libc.a(lib_a-strtoull_r.o) + 0x06014540 _strtoull_r + .text 0x0601468a 0x346 C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(divdf3.o) + 0x060146c0 __divdf3 + .text 0x060149d0 0x4c C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(floatsidf.o) + 0x060149d0 __floatsidf + .text 0x06014a1c 0x2fa C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(muldf3.o) + 0x06014a52 __muldf3 + .text 0x06014d16 0xc C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(subdf3.o) + 0x06014d16 __subdf3 + .text 0x06014d22 0x12 C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(udivdi3.o) + 0x06014d22 __udivdi3 + .text 0x06014d34 0x16 C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(umoddi3.o) + 0x06014d34 __umoddi3 + .text 0x06014d4a 0x7a C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(extendsfdf2.o) + 0x06014d4a __extendsfdf2 + .text 0x06014dc4 0x3c C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(fixunsdfsi.o) + 0x06014dc4 __fixunsdfsi + .text 0x06014e00 0x34 C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(floatunsidf.o) + 0x06014e00 __floatunsidf + 0x06014e34 . = ALIGN (0x4) + 0x06014e34 update_target_begin = . [!provide] PROVIDE (update_target_begin, .) *(.update_target) .update_target - 0x06014bb0 0x20 cpu\br28\tools\sdk.elf.o - 0x06014bb0 iis_update_target - 0x06014bb8 vad_update_target - 0x06014bc0 power_update_target - 0x06014bc8 ble_update_target - 0x06014bd0 update_target_end = . + 0x06014e34 0x20 cpu\br28\tools\sdk.elf.o + 0x06014e34 iis_update_target + 0x06014e3c vad_update_target + 0x06014e44 power_update_target + 0x06014e4c ble_update_target + 0x06014e54 update_target_end = . [!provide] PROVIDE (update_target_end, .) - 0x06014bd0 . = ALIGN (0x4) + 0x06014e54 . = ALIGN (0x4) *(.LOG_TAG_CONST*) *(.rodata*) .rodata.str1.1 - 0x06014bd0 0x11a6 cpu\br28\tools\sdk.elf.o + 0x06014e54 0x11a6 cpu\br28\tools\sdk.elf.o 0x11d8 (size before relaxing) - *fill* 0x06015d76 0xa - .rodata 0x06015d80 0x8b70 cpu\br28\tools\sdk.elf.o + *fill* 0x06015ffa 0x6 + .rodata 0x06016000 0x8c20 cpu\br28\tools\sdk.elf.o .rodata.str1.16 - 0x0601e8f0 0xf40 cpu\br28\tools\sdk.elf.o - 0xf32 (size before relaxing) - .rodata.cst16 0x0601f830 0x10 cpu\br28\tools\sdk.elf.o + 0x0601ec20 0xf90 cpu\br28\tools\sdk.elf.o + 0xf82 (size before relaxing) + .rodata.cst16 0x0601fbb0 0x10 cpu\br28\tools\sdk.elf.o 0x20 (size before relaxing) - .rodata.cst8 0x0601f840 0x8 cpu\br28\tools\sdk.elf.o - .rodata.cst4 0x0601f848 0x4 cpu\br28\tools\sdk.elf.o - .rodata 0x0601f84c 0x281 C:\JL\pi32\pi32v2-lib\r3-large\libc.a(lib_a-ctype_.o) - 0x0601f9cc _ctype_ + .rodata.cst8 0x0601fbc0 0x8 cpu\br28\tools\sdk.elf.o + .rodata.cst4 0x0601fbc8 0x4 cpu\br28\tools\sdk.elf.o + .rodata 0x0601fbcc 0x281 C:\JL\pi32\pi32v2-lib\r3-large\libc.a(lib_a-ctype_.o) + 0x0601fd4c _ctype_ .rodata.str1.1 - 0x0601facd 0x2 C:\JL\pi32\pi32v2-lib\r3-large\libc.a(lib_a-impure.o) - 0x0601fad0 . = ALIGN (0x4) - *fill* 0x0601facf 0x1 + 0x0601fe4d 0x2 C:\JL\pi32\pi32v2-lib\r3-large\libc.a(lib_a-impure.o) + 0x0601fe50 . = ALIGN (0x4) + *fill* 0x0601fe4f 0x1 [!provide] PROVIDE (text_rodata_end, .) - 0x0601fad0 clock_critical_handler_begin = . + 0x0601fe50 clock_critical_handler_begin = . *(.clock_critical_txt) .clock_critical_txt - 0x0601fad0 0x38 cpu\br28\tools\sdk.elf.o - 0x0601fad0 clock_chargestore - 0x0601fad8 clock_mcpwm - 0x0601fae0 clock_uart - 0x0601fae8 clock_timer - 0x0601faf0 clock_lrc - 0x0601faf8 clock_rch - 0x0601fb00 clock_port - 0x0601fb08 clock_critical_handler_end = . - 0x0601fb08 chargestore_handler_begin = . + 0x0601fe50 0x38 cpu\br28\tools\sdk.elf.o + 0x0601fe50 clock_chargestore + 0x0601fe58 clock_mcpwm + 0x0601fe60 clock_uart + 0x0601fe68 clock_timer + 0x0601fe70 clock_lrc + 0x0601fe78 clock_rch + 0x0601fe80 clock_port + 0x0601fe88 clock_critical_handler_end = . + 0x0601fe88 chargestore_handler_begin = . *(.chargestore_callback_txt) .chargestore_callback_txt - 0x0601fb08 0x4 cpu\br28\tools\sdk.elf.o - 0x0601fb08 chargestore_testbox - 0x0601fb0c chargestore_handler_end = . + 0x0601fe88 0x4 cpu\br28\tools\sdk.elf.o + 0x0601fe88 chargestore_testbox + 0x0601fe8c chargestore_handler_end = . *(.opcore_table_maskrom) *(.bfilt_table_maskroom) *(.opcore_maskrom) *(.bfilt_code) *(.bfilt_const) - 0x0601fb0c . = ALIGN (0x4) - 0x0601fb0c lcd_interface_begin = . + 0x0601fe8c . = ALIGN (0x4) + 0x0601fe8c lcd_interface_begin = . *(.lcd_if_info) - 0x0601fb0c lcd_interface_end = . - 0x0601fb0c ui_style_begin = . + 0x0601fe8c lcd_interface_end = . + 0x0601fe8c ui_style_begin = . *(.ui_style) - 0x0601fb0c ui_style_end = . - 0x0601fb0c elm_event_handler_begin_JL = . + 0x0601fe8c ui_style_end = . + 0x0601fe8c elm_event_handler_begin_JL = . *(.elm_event_handler_JL) - 0x0601fb0c elm_event_handler_end_JL = . - 0x0601fb0c elm_event_handler_begin_UPGRADE = . + 0x0601fe8c elm_event_handler_end_JL = . + 0x0601fe8c elm_event_handler_begin_UPGRADE = . *(.elm_event_handler_UPGRADE) - 0x0601fb0c elm_event_handler_end_UPGRADE = . - 0x0601fb0c elm_event_handler_begin_DIAL = . + 0x0601fe8c elm_event_handler_end_UPGRADE = . + 0x0601fe8c elm_event_handler_begin_DIAL = . *(.elm_event_handler_DIAL) - 0x0601fb0c elm_event_handler_end_DIAL = . - 0x0601fb0c control_event_handler_begin = . + 0x0601fe8c elm_event_handler_end_DIAL = . + 0x0601fe8c control_event_handler_begin = . *(.control_event_handler) - 0x0601fb0c control_event_handler_end = . - 0x0601fb0c control_ops_begin = . + 0x0601fe8c control_event_handler_end = . + 0x0601fe8c control_ops_begin = . *(.control_ops) - 0x0601fb0c control_ops_end = . - 0x0601fb0c battery_notify_begin = . + 0x0601fe8c control_ops_end = . + 0x0601fe8c battery_notify_begin = . *(.battery_notify) - 0x0601fb0c battery_notify_end = . - 0x0601fb0c . = ALIGN (0x4) - 0x0601fb0c __VERSION_BEGIN = . + 0x0601fe8c battery_notify_end = . + 0x0601fe8c . = ALIGN (0x4) + 0x0601fe8c __VERSION_BEGIN = . *(.sys.version) - .sys.version 0x0601fb0c 0x26 obj/Release/apps/earphone/sdk_version.z.o - 0x0601fb32 __VERSION_END = . + .sys.version 0x0601fe8c 0x26 obj/Release/apps/earphone/sdk_version.z.o + 0x0601feb2 __VERSION_END = . *(.noop_version) - 0x0601fb34 . = ALIGN (0x4) - *fill* 0x0601fb32 0x2 - 0x0601fb34 . = ALIGN (0x4) - 0x0601fb34 tool_interface_begin = . + 0x0601feb4 . = ALIGN (0x4) + *fill* 0x0601feb2 0x2 + 0x0601feb4 . = ALIGN (0x4) + 0x0601feb4 tool_interface_begin = . *(.tool_interface) - 0x0601fb34 tool_interface_end = . - 0x0601fb34 . = ALIGN (0x4) - 0x0601fb34 cmd_interface_begin = . + 0x0601feb4 tool_interface_end = . + 0x0601feb4 . = ALIGN (0x4) + 0x0601feb4 cmd_interface_begin = . *(.eff_cmd) - 0x0601fb34 cmd_interface_end = . - 0x0601fb34 . = ALIGN (0x4) - 0x0601fb40 . = ALIGN (0x20) - *fill* 0x0601fb34 0xc - 0x0601fb40 m_code_addr = . + 0x0601feb4 cmd_interface_end = . + 0x0601feb4 . = ALIGN (0x4) + 0x0601fec0 . = ALIGN (0x20) + *fill* 0x0601feb4 0xc + 0x0601fec0 m_code_addr = . *(.m.code*) *(.movable.code*) 0x00000000 m_code_size = ABSOLUTE ((. - m_code_addr)) - 0x0601fb40 . = ALIGN (0x20) - 0x0601fb40 gsensor_dev_begin = . + 0x0601fec0 . = ALIGN (0x20) + 0x0601fec0 gsensor_dev_begin = . *(.gsensor_dev) - 0x0601fb40 gsensor_dev_end = . - 0x0601fb40 fm_dev_begin = . + 0x0601fec0 gsensor_dev_end = . + 0x0601fec0 fm_dev_begin = . *(.fm_dev) - 0x0601fb40 fm_dev_end = . - 0x0601fb40 fm_emitter_dev_begin = . + 0x0601fec0 fm_dev_end = . + 0x0601fec0 fm_emitter_dev_begin = . *(.fm_emitter_dev) - 0x0601fb40 fm_emitter_dev_end = . - 0x0601fb40 storage_device_begin = . + 0x0601fec0 fm_emitter_dev_end = . + 0x0601fec0 storage_device_begin = . *(.storage_device) - 0x0601fb40 storage_device_end = . - 0x0601fb40 imusensor_dev_begin = . + 0x0601fec0 storage_device_end = . + 0x0601fec0 imusensor_dev_begin = . *(.imusensor_dev) - 0x0601fb40 imusensor_dev_end = . - 0x0601fb40 aac_dec_code_begin = . + 0x0601fec0 imusensor_dev_end = . + 0x0601fec0 aac_dec_code_begin = . *(.bt_aac_dec_code) *(.bt_aac_dec_sparse_code) - 0x0601fb40 aac_dec_code_end = . + 0x0601fec0 aac_dec_code_end = . 0x00000000 aac_dec_code_size = (aac_dec_code_end - aac_dec_code_begin) - 0x0601fb40 . = ALIGN (0x4) - 0x0601fb40 bt_aac_dec_const_begin = . + 0x0601fec0 . = ALIGN (0x4) + 0x0601fec0 bt_aac_dec_const_begin = . *(.bt_aac_dec_const) *(.bt_aac_dec_sparse_const) - 0x0601fb40 bt_aac_dec_const_end = . + 0x0601fec0 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) - 0x0601fb40 . = ALIGN (0x4) + 0x0601fec0 . = ALIGN (0x4) *(.aac_mem) *(.aac_ctrl_mem) - 0x0601fb40 . = ALIGN (0x20) - 0x0601fb40 update_code_start = . + 0x0601fec0 . = ALIGN (0x20) + 0x0601fec0 update_code_start = . *(.bt_updata_ram_code) *(.update_const) - .update_const 0x0601fb40 0xba cpu\br28\tools\sdk.elf.o + .update_const 0x0601fec0 0xba cpu\br28\tools\sdk.elf.o *(.update_code) - .update_code 0x0601fbfa 0x1a18 cpu\br28\tools\sdk.elf.o - 0x06021612 update_code_end = . - 0x06021612 btstack_code_start = . - 0x06021614 . = ALIGN (0x4) - *fill* 0x06021612 0x2 - 0x06021614 a2dp_source_media_codec_begin = . + .update_code 0x0601ff7a 0x1a18 cpu\br28\tools\sdk.elf.o + 0x06021992 update_code_end = . + 0x06021992 btstack_code_start = . + 0x06021994 . = ALIGN (0x4) + *fill* 0x06021992 0x2 + 0x06021994 a2dp_source_media_codec_begin = . *(.a2dp_source_media_codec) .a2dp_source_media_codec - 0x06021614 0x30 cpu\br28\tools\sdk.elf.o - 0x06021614 a2dp_source_lc3_codec - 0x0602162c a2dp_source_sbc_codec - 0x06021644 a2dp_source_media_codec_end = . - 0x06021644 a2dp_sink_media_probe_begin = . + 0x06021994 0x30 cpu\br28\tools\sdk.elf.o + 0x06021994 a2dp_source_lc3_codec + 0x060219ac a2dp_source_sbc_codec + 0x060219c4 a2dp_source_media_codec_end = . + 0x060219c4 a2dp_sink_media_probe_begin = . *(.a2dp_sink_media_probe) - 0x06021644 a2dp_sink_media_probe_end = . - 0x06021644 a2dp_sink_media_codec_begin = . + 0x060219c4 a2dp_sink_media_probe_end = . + 0x060219c4 a2dp_sink_media_codec_begin = . *(.a2dp_sink_media_codec) .a2dp_sink_media_codec - 0x06021644 0x48 cpu\br28\tools\sdk.elf.o - 0x06021644 a2dp_1sbc_codec_private - 0x0602165c a2dp_2aac_sink_codec - 0x06021674 a2dp_4ldac_sink_codec - 0x0602168c a2dp_sink_media_codec_end = . - 0x0602168c a2dp_event_handler_begin = . + 0x060219c4 0x48 cpu\br28\tools\sdk.elf.o + 0x060219c4 a2dp_1sbc_codec_private + 0x060219dc a2dp_2aac_sink_codec + 0x060219f4 a2dp_4ldac_sink_codec + 0x06021a0c a2dp_sink_media_codec_end = . + 0x06021a0c a2dp_event_handler_begin = . *(.a2dp_event_handler) .a2dp_event_handler - 0x0602168c 0x70 cpu\br28\tools\sdk.elf.o - 0x0602168c a2dp_sink_event_handler - 0x060216a8 a2dp_source_event_handler - 0x060216c4 acp_a2dp_event_handler - 0x060216e0 acp_a2dp_src_event_handler - 0x060216fc a2dp_event_handler_end = . - 0x060216fc sdp_record_item_begin = . + 0x06021a0c 0x70 cpu\br28\tools\sdk.elf.o + 0x06021a0c a2dp_sink_event_handler + 0x06021a28 a2dp_source_event_handler + 0x06021a44 acp_a2dp_event_handler + 0x06021a60 acp_a2dp_src_event_handler + 0x06021a7c a2dp_event_handler_end = . + 0x06021a7c sdp_record_item_begin = . *(.sdp_record_item) - 0x060216fc sdp_record_item_end = . - 0x060216fc bt_sleep_begin = . + 0x06021a7c sdp_record_item_end = . + 0x06021a7c bt_sleep_begin = . *(.bt_sleep) - .bt_sleep 0x060216fc 0x6c cpu\br28\tools\sdk.elf.o - 0x060216fc bt_suspend_a2dp_resumea2dp_release - 0x06021708 bt_suspend_avctp_resumeavctp_release - 0x06021714 bt_suspend_hfp_resumehfp_release - 0x06021720 bt_suspend_user_cmd_loop_resumeuser_cmd_loop_release - 0x0602172c bt_suspend_hid_resumehid_release - 0x06021738 bt_suspend_spp_resumespp_release - 0x06021744 bt_suspend_spp_up_resumespp_up_release - 0x06021750 bt_suspend_iap_resumeiap_release - 0x0602175c bt_suspend_sdp_resumesdp_release - 0x06021768 bt_sleep_end = . + .bt_sleep 0x06021a7c 0x6c cpu\br28\tools\sdk.elf.o + 0x06021a7c bt_suspend_a2dp_resumea2dp_release + 0x06021a88 bt_suspend_avctp_resumeavctp_release + 0x06021a94 bt_suspend_hfp_resumehfp_release + 0x06021aa0 bt_suspend_user_cmd_loop_resumeuser_cmd_loop_release + 0x06021aac bt_suspend_hid_resumehid_release + 0x06021ab8 bt_suspend_spp_resumespp_release + 0x06021ac4 bt_suspend_spp_up_resumespp_up_release + 0x06021ad0 bt_suspend_iap_resumeiap_release + 0x06021adc bt_suspend_sdp_resumesdp_release + 0x06021ae8 bt_sleep_end = . *(.bt_stack_const) .bt_stack_const - 0x06021768 0x174 cpu\br28\tools\sdk.elf.o + 0x06021ae8 0x174 cpu\br28\tools\sdk.elf.o *(.bt_stack_code) .bt_stack_code - 0x060218dc 0x7c38 cpu\br28\tools\sdk.elf.o + 0x06021c5c 0x7c38 cpu\br28\tools\sdk.elf.o *(.ble_db_const) *(.ble_db_code) - .ble_db_code 0x06029514 0x18e cpu\br28\tools\sdk.elf.o + .ble_db_code 0x06029894 0x18e cpu\br28\tools\sdk.elf.o *(.ble_sm_const) - *fill* 0x060296a2 0x2 - .ble_sm_const 0x060296a4 0x73 cpu\br28\tools\sdk.elf.o + *fill* 0x06029a22 0x2 + .ble_sm_const 0x06029a24 0x73 cpu\br28\tools\sdk.elf.o *(.ble_sm_code) - *fill* 0x06029717 0x1 - .ble_sm_code 0x06029718 0x20e0 cpu\br28\tools\sdk.elf.o + *fill* 0x06029a97 0x1 + .ble_sm_code 0x06029a98 0x20e0 cpu\br28\tools\sdk.elf.o *(.ble_att_const) .ble_att_const - 0x0602b7f8 0x17 cpu\br28\tools\sdk.elf.o + 0x0602bb78 0x17 cpu\br28\tools\sdk.elf.o *(.ble_att_code) - *fill* 0x0602b80f 0x1 - .ble_att_code 0x0602b810 0x754 cpu\br28\tools\sdk.elf.o + *fill* 0x0602bb8f 0x1 + .ble_att_code 0x0602bb90 0x754 cpu\br28\tools\sdk.elf.o *(.ble_gatt_const) *(.ble_gatt_code) .ble_gatt_code - 0x0602bf64 0xa0 cpu\br28\tools\sdk.elf.o - 0x0602c004 BTSTACK_LE_HOST_MESH_CODE_START = . + 0x0602c2e4 0xa0 cpu\br28\tools\sdk.elf.o + 0x0602c384 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)) - 0x0602c004 btstack_code_end = . - 0x0602c004 . = ALIGN (0x4) - 0x0602c004 . = ALIGN (0x4) - 0x0602c004 system_text_start = . - 0x0602c004 _device_node_begin = . - 0x0602c004 PROVIDE (device_node_begin, .) + 0x0602c384 btstack_code_end = . + 0x0602c384 . = ALIGN (0x4) + 0x0602c384 . = ALIGN (0x4) + 0x0602c384 system_text_start = . + 0x0602c384 _device_node_begin = . + 0x0602c384 PROVIDE (device_node_begin, .) *(.device) - .device 0x0602c004 0x18 cpu\br28\tools\sdk.elf.o - 0x0602c004 device_table - 0x0602c01c _device_node_end = . - 0x0602c01c PROVIDE (device_node_end, .) - 0x0602c01c config_target_begin = . + .device 0x0602c384 0x18 cpu\br28\tools\sdk.elf.o + 0x0602c384 device_table + 0x0602c39c _device_node_end = . + 0x0602c39c PROVIDE (device_node_end, .) + 0x0602c39c config_target_begin = . [!provide] PROVIDE (config_target_begin, .) *(.config_target) .config_target - 0x0602c01c 0x8 cpu\br28\tools\sdk.elf.o - 0x0602c01c eq_config_target - 0x0602c024 config_target_end = . + 0x0602c39c 0x8 cpu\br28\tools\sdk.elf.o + 0x0602c39c eq_config_target + 0x0602c3a4 config_target_end = . [!provide] PROVIDE (config_target_end, .) - 0x0602c024 system_code_begin = . + 0x0602c3a4 system_code_begin = . *(.system.*.text) .system.cpu.text - 0x0602c024 0x918 cpu\br28\tools\sdk.elf.o + 0x0602c3a4 0x918 cpu\br28\tools\sdk.elf.o .system.lbuf.text - 0x0602c93c 0x388 cpu\br28\tools\sdk.elf.o + 0x0602ccbc 0x388 cpu\br28\tools\sdk.elf.o .system.printf.text - 0x0602ccc4 0x600 cpu\br28\tools\sdk.elf.o + 0x0602d044 0x600 cpu\br28\tools\sdk.elf.o .system.cbuf.text - 0x0602d2c4 0x1e6 cpu\br28\tools\sdk.elf.o + 0x0602d644 0x1e6 cpu\br28\tools\sdk.elf.o .system.event.text - 0x0602d4aa 0x4ba cpu\br28\tools\sdk.elf.o + 0x0602d82a 0x4ba cpu\br28\tools\sdk.elf.o .system.timer.text - 0x0602d964 0x78c cpu\br28\tools\sdk.elf.o + 0x0602dce4 0x78c cpu\br28\tools\sdk.elf.o .system.device.text - 0x0602e0f0 0xf8 cpu\br28\tools\sdk.elf.o + 0x0602e470 0xf8 cpu\br28\tools\sdk.elf.o .system.fs.text - 0x0602e1e8 0xe42 cpu\br28\tools\sdk.elf.o + 0x0602e568 0xe42 cpu\br28\tools\sdk.elf.o .system.ascii.text - 0x0602f02a 0x8c cpu\br28\tools\sdk.elf.o + 0x0602f3aa 0x8c cpu\br28\tools\sdk.elf.o .system.cfg_tool.text - 0x0602f0b6 0x786 cpu\br28\tools\sdk.elf.o + 0x0602f436 0x786 cpu\br28\tools\sdk.elf.o .system.app_core.text - 0x0602f83c 0x2f2 cpu\br28\tools\sdk.elf.o + 0x0602fbbc 0x2f2 cpu\br28\tools\sdk.elf.o .system.init.text - 0x0602fb2e 0x9de cpu\br28\tools\sdk.elf.o - 0x0602fb38 boot_info_init - 0x0602fb62 cpu1_main - 0x0602fbc4 main + 0x0602feae 0x9de cpu\br28\tools\sdk.elf.o + 0x0602feb8 boot_info_init + 0x0602fee2 cpu1_main + 0x0602ff44 main .system.task.text - 0x0603050c 0x5e cpu\br28\tools\sdk.elf.o - 0x0603056a system_code_end = . - 0x0603056c . = ALIGN (0x4) - *fill* 0x0603056a 0x2 + 0x0603088c 0x5e cpu\br28\tools\sdk.elf.o + 0x060308ea system_code_end = . + 0x060308ec . = ALIGN (0x4) + *fill* 0x060308ea 0x2 0x00004546 system_code_size = (system_code_end - system_code_begin) - 0x0603056c vfs_ops_begin = . + 0x060308ec vfs_ops_begin = . *(.vfs_operations) .vfs_operations - 0x0603056c 0x74 cpu\br28\tools\sdk.elf.o - 0x0603056c sdfile_vfs_ops - 0x060305e0 vfs_ops_end = . - 0x060305e0 _lib_version_begin = . + 0x060308ec 0x74 cpu\br28\tools\sdk.elf.o + 0x060308ec sdfile_vfs_ops + 0x06030960 vfs_ops_end = . + 0x06030960 _lib_version_begin = . [!provide] PROVIDE (lib_version_begin, .) *(.lib_version) - .lib_version 0x060305e0 0xc cpu\br28\tools\sdk.elf.o - 0x060305e0 __version_sdfile - 0x060305e4 __version_fs - 0x060305e8 __version_fatfs - 0x060305ec _lib_version_end = . + .lib_version 0x06030960 0xc cpu\br28\tools\sdk.elf.o + 0x06030960 __version_sdfile + 0x06030964 __version_fs + 0x06030968 __version_fatfs + 0x0603096c _lib_version_end = . [!provide] PROVIDE (lib_version_end, .) - 0x060305ec _initcall_begin = . - 0x060305ec PROVIDE (initcall_begin, .) + 0x0603096c _initcall_begin = . + 0x0603096c PROVIDE (initcall_begin, .) *(.initcall) - .initcall 0x060305ec 0x14 cpu\br28\tools\sdk.elf.o - 0x060305ec __initcall_audio_online_debug_open - 0x060305f0 __initcall_trim_timer_add - 0x060305f4 __initcall_app_update_init - 0x060305f8 __initcall_tone_table_init - 0x060305fc __initcall_audio_vbass_init - 0x06030600 _initcall_end = . - 0x06030600 PROVIDE (initcall_end, .) - 0x06030600 _early_initcall_begin = . - 0x06030600 PROVIDE (early_initcall_begin, .) + .initcall 0x0603096c 0x14 cpu\br28\tools\sdk.elf.o + 0x0603096c __initcall_audio_online_debug_open + 0x06030970 __initcall_trim_timer_add + 0x06030974 __initcall_app_update_init + 0x06030978 __initcall_tone_table_init + 0x0603097c __initcall_audio_vbass_init + 0x06030980 _initcall_end = . + 0x06030980 PROVIDE (initcall_end, .) + 0x06030980 _early_initcall_begin = . + 0x06030980 PROVIDE (early_initcall_begin, .) *(.early.initcall) .early.initcall - 0x06030600 0x8 cpu\br28\tools\sdk.elf.o - 0x06030600 __initcall_sys_event_init - 0x06030604 __initcall_sdfile_init - 0x06030608 _early_initcall_end = . - 0x06030608 PROVIDE (early_initcall_end, .) - 0x06030608 _late_initcall_begin = . - 0x06030608 PROVIDE (late_initcall_begin, .) + 0x06030980 0x8 cpu\br28\tools\sdk.elf.o + 0x06030980 __initcall_sys_event_init + 0x06030984 __initcall_sdfile_init + 0x06030988 _early_initcall_end = . + 0x06030988 PROVIDE (early_initcall_end, .) + 0x06030988 _late_initcall_begin = . + 0x06030988 PROVIDE (late_initcall_begin, .) *(.late.initcall) .late.initcall - 0x06030608 0x8 cpu\br28\tools\sdk.elf.o - 0x06030608 __initcall_check_otp_data - 0x0603060c __initcall_sdk_meky_check - 0x06030610 _late_initcall_end = . - 0x06030610 PROVIDE (late_initcall_end, .) - 0x06030610 _platform_initcall_begin = . - 0x06030610 PROVIDE (platform_initcall_begin, .) + 0x06030988 0x8 cpu\br28\tools\sdk.elf.o + 0x06030988 __initcall_check_otp_data + 0x0603098c __initcall_sdk_meky_check + 0x06030990 _late_initcall_end = . + 0x06030990 PROVIDE (late_initcall_end, .) + 0x06030990 _platform_initcall_begin = . + 0x06030990 PROVIDE (platform_initcall_begin, .) *(.platform.initcall) .platform.initcall - 0x06030610 0x4 cpu\br28\tools\sdk.elf.o - 0x06030610 __initcall_syscfg_tools_init - 0x06030614 _platform_initcall_end = . - 0x06030614 PROVIDE (platform_initcall_end, .) - 0x06030614 _module_initcall_begin = . - 0x06030614 PROVIDE (module_initcall_begin, .) + 0x06030990 0x4 cpu\br28\tools\sdk.elf.o + 0x06030990 __initcall_syscfg_tools_init + 0x06030994 _platform_initcall_end = . + 0x06030994 PROVIDE (platform_initcall_end, .) + 0x06030994 _module_initcall_begin = . + 0x06030994 PROVIDE (module_initcall_begin, .) *(.module.initcall) - 0x06030614 _module_initcall_end = . - 0x06030614 PROVIDE (module_initcall_end, .) - 0x06030614 _sys_event_handler_begin = . - 0x06030614 PROVIDE (sys_event_handler_begin, .) + 0x06030994 _module_initcall_end = . + 0x06030994 PROVIDE (module_initcall_end, .) + 0x06030994 _sys_event_handler_begin = . + 0x06030994 PROVIDE (sys_event_handler_begin, .) *(.sys_event.4.handler) .sys_event.4.handler - 0x06030614 0x8 cpu\br28\tools\sdk.elf.o - 0x06030614 __event_handler_bt_tws_event_handler + 0x06030994 0x8 cpu\br28\tools\sdk.elf.o + 0x06030994 __event_handler_bt_tws_event_handler *(.sys_event.3.handler) *(.sys_event.2.handler) *(.sys_event.1.handler) *(.sys_event.0.handler) - 0x0603061c _sys_event_handler_end = . - 0x0603061c PROVIDE (sys_event_handler_end, .) - 0x0603061c _syscfg_arg_begin = . + 0x0603099c _sys_event_handler_end = . + 0x0603099c PROVIDE (sys_event_handler_end, .) + 0x0603099c _syscfg_arg_begin = . [!provide] PROVIDE (syscfg_arg_begin, .) *(.syscfg.arg) - 0x0603061c _syscfg_arg_end = . + 0x0603099c _syscfg_arg_end = . [!provide] PROVIDE (syscfg_arg_end, .) - 0x0603061c _syscfg_handler_begin = . + 0x0603099c _syscfg_handler_begin = . [!provide] PROVIDE (syscfg_handler_begin, .) *(.syscfg.handler) - 0x0603061c _syscfg_handler_end = . + 0x0603099c _syscfg_handler_end = . [!provide] PROVIDE (syscfg_handler_end, .) - 0x0603061c _syscfg_ops_begin = . - 0x0603061c PROVIDE (syscfg_ops_begin, .) + 0x0603099c _syscfg_ops_begin = . + 0x0603099c PROVIDE (syscfg_ops_begin, .) *(.syscfg.2.ops) - .syscfg.2.ops 0x0603061c 0x1c cpu\br28\tools\sdk.elf.o - 0x0603061c cfg_btif + .syscfg.2.ops 0x0603099c 0x1c cpu\br28\tools\sdk.elf.o + 0x0603099c cfg_btif *(.syscfg.1.ops) - .syscfg.1.ops 0x06030638 0x1c cpu\br28\tools\sdk.elf.o - 0x06030638 cfg_vm + .syscfg.1.ops 0x060309b8 0x1c cpu\br28\tools\sdk.elf.o + 0x060309b8 cfg_vm *(.syscfg.0.ops) - .syscfg.0.ops 0x06030654 0x1c cpu\br28\tools\sdk.elf.o - 0x06030654 cfg_bin - 0x06030670 _syscfg_ops_end = . - 0x06030670 PROVIDE (syscfg_ops_end, .) - 0x06030670 _server_info_begin = . + .syscfg.0.ops 0x060309d4 0x1c cpu\br28\tools\sdk.elf.o + 0x060309d4 cfg_bin + 0x060309f0 _syscfg_ops_end = . + 0x060309f0 PROVIDE (syscfg_ops_end, .) + 0x060309f0 _server_info_begin = . [!provide] PROVIDE (server_info_begin, .) *(.server_info) - 0x06030670 _server_info_end = . + 0x060309f0 _server_info_end = . [!provide] PROVIDE (server_info_end, .) - 0x06030670 _bus_device_begin = . + 0x060309f0 _bus_device_begin = . [!provide] PROVIDE (bus_device_begin, .) *(.bus_device) - 0x06030670 _bus_device_end = . + 0x060309f0 _bus_device_end = . [!provide] PROVIDE (bus_device_end, .) - 0x06030670 _sys_power_hal_ops_begin = . + 0x060309f0 _sys_power_hal_ops_begin = . [!provide] PROVIDE (sys_power_hal_ops_begin, .) *(.sys_power_hal_ops) - 0x06030670 _sys_power_hal_ops_end = . + 0x060309f0 _sys_power_hal_ops_end = . [!provide] PROVIDE (sys_power_hal_ops_end, .) - 0x06030670 crypto_begin = . + 0x060309f0 crypto_begin = . *(.crypto_ecdh_code) *(.crypto_ecdh_const) *(.crypto_bigint_code) @@ -3125,63 +3124,63 @@ END GROUP *(.hash_sample_const) *(.aes_cmac_sample_code) *(.aes_cmac_sample_const) - 0x06030670 crypto_end = . + 0x060309f0 crypto_end = . 0x00000000 crypto_size = (. - crypto_begin) *(.mem_code) *(.mem_const) *(.os_port_code) *(.os_port_const) *(.os_const) - .os_const 0x06030670 0x18 cpu\br28\tools\sdk.elf.o + .os_const 0x060309f0 0x18 cpu\br28\tools\sdk.elf.o *(.math_fast_funtion_code) .math_fast_funtion_code - 0x06030688 0x1c cpu\br28\tools\sdk.elf.o - 0x060306a4 __movable_function_start = . + 0x06030a08 0x1c cpu\br28\tools\sdk.elf.o + 0x06030a24 __movable_function_start = . *(movable.text.*) *(movable.stub.*) *(movable.region.*) - 0x060306a4 __movable_function_end = . + 0x06030a24 __movable_function_end = . 0x00000000 __movable_function_size = (__movable_function_end - __movable_function_start) - 0x060306a4 system_text_end = . + 0x06030a24 system_text_end = . 0x000046a0 system_code_total_size = (system_text_end - system_text_start) - 0x060306a4 btctler_code_start = . - 0x060306a4 BTCTLER_CONTROLLER_CODE_START = . + 0x06030a24 btctler_code_start = . + 0x06030a24 BTCTLER_CONTROLLER_CODE_START = . *(.bt_rf_const) - .bt_rf_const 0x060306a4 0x5f4 cpu\br28\tools\sdk.elf.o + .bt_rf_const 0x06030a24 0x5f4 cpu\br28\tools\sdk.elf.o *(.bt_rf_code) - .bt_rf_code 0x06030c98 0x1b02 cpu\br28\tools\sdk.elf.o + .bt_rf_code 0x06031018 0x1b02 cpu\br28\tools\sdk.elf.o *(.vendor_manager_const) *(.vendor_manager_code) *(.device_manager_const) *(.device_manager_code) *(.hci_controller_const) - *fill* 0x0603279a 0x2 + *fill* 0x06032b1a 0x2 .hci_controller_const - 0x0603279c 0x28 cpu\br28\tools\sdk.elf.o + 0x06032b1c 0x28 cpu\br28\tools\sdk.elf.o *(.hci_controller_code) .hci_controller_code - 0x060327c4 0x640 cpu\br28\tools\sdk.elf.o + 0x06032b44 0x640 cpu\br28\tools\sdk.elf.o *(.hci_interface_const) *(.hci_interface_code) 0x00002760 BTCTLER_CONTROLLER_CODE_SIZE = ABSOLUTE ((. - BTCTLER_CONTROLLER_CODE_START)) - 0x06032e04 BTCTLER_LE_CONTROLLER_CODE_START = . + 0x06033184 BTCTLER_LE_CONTROLLER_CODE_START = . *(.ble_rf_const) - .ble_rf_const 0x06032e04 0x28 cpu\br28\tools\sdk.elf.o + .ble_rf_const 0x06033184 0x28 cpu\br28\tools\sdk.elf.o *(.ble_rf_code) - .ble_rf_code 0x06032e2c 0x3cee cpu\br28\tools\sdk.elf.o + .ble_rf_code 0x060331ac 0x3cee cpu\br28\tools\sdk.elf.o *(.ble_ll_const) - *fill* 0x06036b1a 0x2 - .ble_ll_const 0x06036b1c 0xb4 cpu\br28\tools\sdk.elf.o + *fill* 0x06036e9a 0x2 + .ble_ll_const 0x06036e9c 0xb4 cpu\br28\tools\sdk.elf.o *(.ble_ll_code) - .ble_ll_code 0x06036bd0 0x2aa8 cpu\br28\tools\sdk.elf.o + .ble_ll_code 0x06036f50 0x2aa6 cpu\br28\tools\sdk.elf.o *(.ble_hci_const) .ble_hci_const - 0x06039678 0x19 cpu\br28\tools\sdk.elf.o + 0x060399f6 0x19 cpu\br28\tools\sdk.elf.o *(.ble_hci_code) - *fill* 0x06039691 0x1 - .ble_hci_code 0x06039692 0x8da cpu\br28\tools\sdk.elf.o - 0x00007168 BTCTLER_LE_CONTROLLER_CODE_SIZE = ABSOLUTE ((. - BTCTLER_LE_CONTROLLER_CODE_START)) - 0x06039f6c BTCTLER_CL_CODE_START = . + *fill* 0x06039a0f 0x1 + .ble_hci_code 0x06039a10 0x8da cpu\br28\tools\sdk.elf.o + 0x00007166 BTCTLER_LE_CONTROLLER_CODE_SIZE = ABSOLUTE ((. - BTCTLER_LE_CONTROLLER_CODE_START)) + 0x0603a2ea BTCTLER_CL_CODE_START = . *(.bredr_irq) *(.bredr_irq_code) *(.bredr_irq_const) @@ -3190,44 +3189,45 @@ END GROUP *(.classic_lmp_const) *(.classic_lmp_auth_const) .classic_lmp_auth_const - 0x06039f6c 0x310 cpu\br28\tools\sdk.elf.o + 0x0603a2ea 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 - 0x0603a27c 0x780 cpu\br28\tools\sdk.elf.o + 0x0603a5fa 0x780 cpu\br28\tools\sdk.elf.o *(.classic_lmp_auth_code) .classic_lmp_auth_code - 0x0603a9fc 0x488 cpu\br28\tools\sdk.elf.o + 0x0603ad7a 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 - 0x0603ae84 0x60 cpu\br28\tools\sdk.elf.o + 0x0603b202 0x60 cpu\br28\tools\sdk.elf.o *(.classic_rf_code) .classic_rf_code - 0x0603aee4 0x504 cpu\br28\tools\sdk.elf.o + 0x0603b262 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 - 0x0603b3e8 0x150 cpu\br28\tools\sdk.elf.o + 0x0603b766 0x150 cpu\br28\tools\sdk.elf.o *(.classic_tws_code.esco) - 0x0603b538 . = ALIGN (0x4) - 0x0603b538 driver_code_start = . + 0x0603b8b8 . = ALIGN (0x4) + *fill* 0x0603b8b6 0x2 + 0x0603b8b8 driver_code_start = . *(.fm_code) - 0x0603b538 CLOCK_CODE_START = . + 0x0603b8b8 CLOCK_CODE_START = . *(.clock_code) - .clock_code 0x0603b538 0x11bc cpu\br28\tools\sdk.elf.o - 0x0603c08c boot_clk_init + .clock_code 0x0603b8b8 0x11bc cpu\br28\tools\sdk.elf.o + 0x0603c40c boot_clk_init *(.clock_const) - .clock_const 0x0603c6f4 0x30 cpu\br28\tools\sdk.elf.o + .clock_const 0x0603ca74 0x30 cpu\br28\tools\sdk.elf.o 0x000011ec CLOCK_CODE_SIZE = ABSOLUTE ((. - CLOCK_CODE_START)) *(.debug_code) *(.debug_const) @@ -3235,79 +3235,79 @@ END GROUP *(.uart_const) *(.power_driver.text) .power_driver.text - 0x0603c724 0x220e cpu\br28\tools\sdk.elf.o + 0x0603caa4 0x220e cpu\br28\tools\sdk.elf.o *(.power_driver.text.const) - *fill* 0x0603e932 0xe + *fill* 0x0603ecb2 0xe .power_driver.text.const - 0x0603e940 0x7fd cpu\br28\tools\sdk.elf.o + 0x0603ecc0 0x7fd cpu\br28\tools\sdk.elf.o *(.power_reset.text) - *fill* 0x0603f13d 0x1 + *fill* 0x0603f4bd 0x1 .power_reset.text - 0x0603f13e 0x330 cpu\br28\tools\sdk.elf.o + 0x0603f4be 0x330 cpu\br28\tools\sdk.elf.o *(.power_reset.text.const) .power_reset.text.const - 0x0603f46e 0x80 cpu\br28\tools\sdk.elf.o + 0x0603f7ee 0x80 cpu\br28\tools\sdk.elf.o *(.power_wakeup.text) .power_wakeup.text - 0x0603f4ee 0x5f2 cpu\br28\tools\sdk.elf.o + 0x0603f86e 0x5f2 cpu\br28\tools\sdk.elf.o *(.power_wakeup.text.const) .power_wakeup.text.const - 0x0603fae0 0xad cpu\br28\tools\sdk.elf.o - 0x0603fb90 . = ALIGN (0x4) - *fill* 0x0603fb8d 0x3 - 0x0603fb90 lp_target_begin = . + 0x0603fe60 0xad cpu\br28\tools\sdk.elf.o + 0x0603ff10 . = ALIGN (0x4) + *fill* 0x0603ff0d 0x3 + 0x0603ff10 lp_target_begin = . [!provide] PROVIDE (lp_target_begin, .) *(.lp_target) - .lp_target 0x0603fb90 0xc0 cpu\br28\tools\sdk.elf.o - 0x0603fb90 bt_test_lp_target - 0x0603fb9c key_lp_target - 0x0603fba8 plll_trim_lp_target - 0x0603fbb4 ota_lp_target - 0x0603fbc0 dual_ota_lp_target - 0x0603fbcc pc_lp_target - 0x0603fbd8 audio_dec_init_lp_target - 0x0603fbe4 bt_dec_lp_target - 0x0603fbf0 aispeech_asr_core_lp_target - 0x0603fbfc audio_tone_lp_target - 0x0603fc08 tone_dec_lp_target - 0x0603fc14 usb_dev_lp_target - 0x0603fc20 usr_systimer_lp_target - 0x0603fc2c btstack_lowpower_target - 0x0603fc38 audio_dac_lp_target - 0x0603fc44 eq_online_lp_target - 0x0603fc50 lp_target_end = . + .lp_target 0x0603ff10 0xc0 cpu\br28\tools\sdk.elf.o + 0x0603ff10 bt_test_lp_target + 0x0603ff1c key_lp_target + 0x0603ff28 plll_trim_lp_target + 0x0603ff34 ota_lp_target + 0x0603ff40 dual_ota_lp_target + 0x0603ff4c pc_lp_target + 0x0603ff58 audio_dec_init_lp_target + 0x0603ff64 bt_dec_lp_target + 0x0603ff70 aispeech_asr_core_lp_target + 0x0603ff7c audio_tone_lp_target + 0x0603ff88 tone_dec_lp_target + 0x0603ff94 usb_dev_lp_target + 0x0603ffa0 usr_systimer_lp_target + 0x0603ffac btstack_lowpower_target + 0x0603ffb8 audio_dac_lp_target + 0x0603ffc4 eq_online_lp_target + 0x0603ffd0 lp_target_end = . [!provide] PROVIDE (lp_target_end, .) - 0x0603fc50 . = ALIGN (0x4) - 0x0603fc50 lp_request_begin = . + 0x0603ffd0 . = ALIGN (0x4) + 0x0603ffd0 lp_request_begin = . [!provide] PROVIDE (lp_request_begin, .) *(.lp_request) - 0x0603fc50 lp_request_end = . + 0x0603ffd0 lp_request_end = . [!provide] PROVIDE (lp_request_end, .) - 0x0603fc50 . = ALIGN (0x4) - 0x0603fc50 deepsleep_target_begin = . + 0x0603ffd0 . = ALIGN (0x4) + 0x0603ffd0 deepsleep_target_begin = . [!provide] PROVIDE (deepsleep_target_begin, .) *(.deepsleep_target) .deepsleep_target - 0x0603fc50 0x54 cpu\br28\tools\sdk.elf.o - 0x0603fc50 uart - 0x0603fc5c clock_sfc - 0x0603fc68 tmr - 0x0603fc74 vm_sfc - 0x0603fc80 lrct - 0x0603fc8c periph - 0x0603fc98 bt - 0x0603fca4 deepsleep_target_end = . + 0x0603ffd0 0x54 cpu\br28\tools\sdk.elf.o + 0x0603ffd0 uart + 0x0603ffdc clock_sfc + 0x0603ffe8 tmr + 0x0603fff4 vm_sfc + 0x06040000 lrct + 0x0604000c periph + 0x06040018 bt + 0x06040024 deepsleep_target_end = . [!provide] PROVIDE (deepsleep_target_end, .) - 0x0603fca4 . = ALIGN (0x4) - 0x0603fca4 p2m_msg_handler_begin = . + 0x06040024 . = ALIGN (0x4) + 0x06040024 p2m_msg_handler_begin = . [!provide] PROVIDE (p2m_msg_handler_begin, .) *(.p2m_msg_handler) - 0x0603fca4 PROVIDE (p2m_msg_handler_end, .) - 0x0603fca4 p2m_msg_handler_end = . - 0x0603fca4 driver_code_end = . - 0x0603fca4 . = ALIGN (0x4) - 0x0603fca4 media_text_start = . - 0x0603fca4 . = ALIGN (0x4) + 0x06040024 PROVIDE (p2m_msg_handler_end, .) + 0x06040024 p2m_msg_handler_end = . + 0x06040024 driver_code_end = . + 0x06040024 . = ALIGN (0x4) + 0x06040024 media_text_start = . + 0x06040024 . = ALIGN (0x4) *(.stream_code) *(.howlings_phf_code) *(.notchhowling_sparse_code) @@ -3315,28 +3315,28 @@ END GROUP *(.howlings_phf_sparse_code) *(.notchhowling_const) *(.howlings_phf_const) - 0x0603fca4 . = ALIGN (0x4) + 0x06040024 . = ALIGN (0x4) *(.llns.text) *(.llns.text.const) - 0x0603fca4 . = ALIGN (0x4) + 0x06040024 . = ALIGN (0x4) *(.aec_code) *(.aec_const) - 0x0603fca4 . = ALIGN (0x4) + 0x06040024 . = ALIGN (0x4) *(.res_code) *(.res_const) - 0x0603fca4 . = ALIGN (0x4) + 0x06040024 . = ALIGN (0x4) *(.ns_code) *(.ns_const) *(.bark_const) - 0x0603fca4 . = ALIGN (0x4) + 0x06040024 . = ALIGN (0x4) *(.jlsp_code) - 0x0603fca4 . = ALIGN (0x4) + 0x06040024 . = ALIGN (0x4) *(.jlsp_const) - 0x0603fca4 . = ALIGN (0x4) + 0x06040024 . = ALIGN (0x4) *(.dns_16k_data) - 0x0603fca4 . = ALIGN (0x4) + 0x06040024 . = ALIGN (0x4) *(.dns_8k_data) - 0x0603fca4 . = ALIGN (0x4) + 0x06040024 . = ALIGN (0x4) *(.jlsp_dns_code) *(.jlsp_dns_const) *(.dns_param_data_wind) @@ -3365,20 +3365,20 @@ END GROUP *(.bt_audioplc_code) *(.bt_audioplc_sparse_code) *(.bt_audioplc_const) - 0x0603fca4 . = ALIGN (0x4) + 0x06040024 . = ALIGN (0x4) *(.lf_audioplc_code) .lf_audioplc_code - 0x0603fca4 0x47a cpu\br28\tools\sdk.elf.o + 0x06040024 0x47a cpu\br28\tools\sdk.elf.o *(.lf_audioplc_sparse_code) .lf_audioplc_sparse_code - 0x0604011e 0x7c cpu\br28\tools\sdk.elf.o + 0x0604049e 0x7c cpu\br28\tools\sdk.elf.o *(.lf_audioplc_const) - *fill* 0x0604019a 0x2 + *fill* 0x0604051a 0x2 .lf_audioplc_const - 0x0604019c 0xc cpu\br28\tools\sdk.elf.o - 0x060401a8 . = ALIGN (0x4) + 0x0604051c 0xc cpu\br28\tools\sdk.elf.o + 0x06040528 . = ALIGN (0x4) *(.pcm_code) - .pcm_code 0x060401a8 0xa2 cpu\br28\tools\sdk.elf.o + .pcm_code 0x06040528 0xa2 cpu\br28\tools\sdk.elf.o *(.pcm_const) *(.wtg_dec_code) *(.wtg_dec_sparse_code) @@ -3400,31 +3400,31 @@ END GROUP *(.opus_encoder_code) *(.opus_encoder_const) *(.mp3_code) - .mp3_code 0x0604024a 0x462 cpu\br28\tools\sdk.elf.o + .mp3_code 0x060405ca 0x462 cpu\br28\tools\sdk.elf.o *(.mp3_const) *(.mp3_dec_sparse_code) .mp3_dec_sparse_code - 0x060406ac 0x1632 cpu\br28\tools\sdk.elf.o + 0x06040a2c 0x1632 cpu\br28\tools\sdk.elf.o *(.mp3_dec_sparse_const) *(.mp3_dec_code) - .mp3_dec_code 0x06041cde 0x3042 cpu\br28\tools\sdk.elf.o + .mp3_dec_code 0x0604205e 0x3042 cpu\br28\tools\sdk.elf.o *(.mp3_dec_const) .mp3_dec_const - 0x06044d20 0x290c cpu\br28\tools\sdk.elf.o + 0x060450a0 0x290c cpu\br28\tools\sdk.elf.o *(.bfilt_code) *(.msbc_code) - .msbc_code 0x0604762c 0x4b6 cpu\br28\tools\sdk.elf.o + .msbc_code 0x060479ac 0x4b6 cpu\br28\tools\sdk.elf.o *(.msbc_const) - *fill* 0x06047ae2 0x2 - .msbc_const 0x06047ae4 0x46 cpu\br28\tools\sdk.elf.o + *fill* 0x06047e62 0x2 + .msbc_const 0x06047e64 0x46 cpu\br28\tools\sdk.elf.o *(.mty_code) *(.mp3tsy_dec_code) *(.mp3tsy_dec_sparse_code) *(.mp3tsy_dec_const) *(.sbc_code) - .sbc_code 0x06047b2a 0x4f6 cpu\br28\tools\sdk.elf.o + .sbc_code 0x06047eaa 0x4f6 cpu\br28\tools\sdk.elf.o *(.sbc_const) - .sbc_const 0x06048020 0xc cpu\br28\tools\sdk.elf.o + .sbc_const 0x060483a0 0xc cpu\br28\tools\sdk.elf.o *(.sine_code) *(.sine_const) *(.wav_code) @@ -3467,10 +3467,10 @@ END GROUP *(.flac_dec_sparse_code) *(.audio_decoder_code) .audio_decoder_code - 0x0604802c 0x2420 cpu\br28\tools\sdk.elf.o + 0x060483ac 0x2420 cpu\br28\tools\sdk.elf.o *(.audio_decoder_const) .audio_decoder_const - 0x0604a44c 0x68 cpu\br28\tools\sdk.elf.o + 0x0604a7cc 0x68 cpu\br28\tools\sdk.elf.o *(.audio_track_const) *(.audio_track_code) *(.m4a_code) @@ -3491,7 +3491,7 @@ END GROUP *(.audio_encoder_code) *(.audio_encoder_const) *(.mixer_code) - .mixer_code 0x0604a4b4 0x5ae cpu\br28\tools\sdk.elf.o + .mixer_code 0x0604a834 0x5ae cpu\br28\tools\sdk.elf.o *(.mixer_const) *(.dec_server_code) *(.dec_server_const) @@ -3505,7 +3505,7 @@ END GROUP *(.wireless_sync_const) *(.sbc_eng_code) *(.sbc_eng_const) - 0x0604aa62 anc_code_begin = . + 0x0604ade2 anc_code_begin = . *(.anc_user_const) *(.anc_user_code) *(.anc_const) @@ -3516,17 +3516,17 @@ END GROUP *(.anc_box_code) *(.anc_btspp_const) *(.anc_btspp_code) - 0x0604aa62 anc_code_end = . + 0x0604ade2 anc_code_end = . 0x00000000 anc_code_size = (anc_code_end - anc_code_begin) *(.audio_codec_code) .audio_codec_code - 0x0604aa62 0x1ee cpu\br28\tools\sdk.elf.o + 0x0604ade2 0x1ee cpu\br28\tools\sdk.elf.o *(.audio_adc_code) .audio_adc_code - 0x0604ac50 0x990 cpu\br28\tools\sdk.elf.o + 0x0604afd0 0x990 cpu\br28\tools\sdk.elf.o *(.audio_adc_const) .audio_adc_const - 0x0604b5e0 0xc cpu\br28\tools\sdk.elf.o + 0x0604b960 0xc cpu\br28\tools\sdk.elf.o *(.audio_cfifo_code) *(.audio_cfifo_const) *(.bt_compressor_sparse_const) @@ -3543,56 +3543,56 @@ END GROUP *(.crossOver_sparse_const) *(.lib_pitchshift_code) *(.lib_pitchshift_const) - 0x0604b5ec . = ALIGN (0x4) - 0x0604b5ec _audio_decoder_begin = . - 0x0604b5ec PROVIDE (audio_decoder_begin, .) + 0x0604b96c . = ALIGN (0x4) + 0x0604b96c _audio_decoder_begin = . + 0x0604b96c PROVIDE (audio_decoder_begin, .) *(.audio_decoder) .audio_decoder - 0x0604b5ec 0x154 cpu\br28\tools\sdk.elf.o - 0x0604b5ec mp3_decoder - 0x0604b630 pcm_decoder - 0x0604b674 cvsd_decoder - 0x0604b6b8 sbc_decoder - 0x0604b6fc msbc_decoder - 0x0604b740 _audio_decoder_end = . - 0x0604b740 PROVIDE (audio_decoder_end, .) - 0x0604b740 _audio_encoder_begin = . - 0x0604b740 PROVIDE (audio_encoder_begin, .) + 0x0604b96c 0x154 cpu\br28\tools\sdk.elf.o + 0x0604b96c mp3_decoder + 0x0604b9b0 pcm_decoder + 0x0604b9f4 cvsd_decoder + 0x0604ba38 sbc_decoder + 0x0604ba7c msbc_decoder + 0x0604bac0 _audio_decoder_end = . + 0x0604bac0 PROVIDE (audio_decoder_end, .) + 0x0604bac0 _audio_encoder_begin = . + 0x0604bac0 PROVIDE (audio_encoder_begin, .) *(.audio_encoder) - 0x0604b740 _audio_encoder_end = . - 0x0604b740 PROVIDE (audio_encoder_end, .) - 0x0604b740 _audio_package_begin = . + 0x0604bac0 _audio_encoder_end = . + 0x0604bac0 PROVIDE (audio_encoder_end, .) + 0x0604bac0 _audio_package_begin = . [!provide] PROVIDE (audio_package_begin, .) *(.audio_package) - 0x0604b740 _audio_package_end = . + 0x0604bac0 _audio_package_end = . [!provide] PROVIDE (audio_package_end, .) - 0x0604b740 _audio_dev_begin = . + 0x0604bac0 _audio_dev_begin = . [!provide] PROVIDE (audio_dev_begin, .) *(.audio_device) - 0x0604b740 _audio_dev_end = . + 0x0604bac0 _audio_dev_end = . [!provide] PROVIDE (audio_dev_end, .) - 0x0604b740 _audio_hwaccel_begin = . - 0x0604b740 PROVIDE (audio_hwaccel_begin, .) + 0x0604bac0 _audio_hwaccel_begin = . + 0x0604bac0 PROVIDE (audio_hwaccel_begin, .) *(.audio_hwaccel) .audio_hwaccel - 0x0604b740 0x24 cpu\br28\tools\sdk.elf.o - 0x0604b740 sbc_hwaccel - 0x0604b764 _audio_hwaccel_end = . - 0x0604b764 PROVIDE (audio_hwaccel_end, .) - 0x0604b764 . = ALIGN (0x4) - 0x0604b764 media_code_begin = . + 0x0604bac0 0x24 cpu\br28\tools\sdk.elf.o + 0x0604bac0 sbc_hwaccel + 0x0604bae4 _audio_hwaccel_end = . + 0x0604bae4 PROVIDE (audio_hwaccel_end, .) + 0x0604bae4 . = ALIGN (0x4) + 0x0604bae4 media_code_begin = . *(.media.*.text) .media.media_cpu.text - 0x0604b764 0x3a86 cpu\br28\tools\sdk.elf.o + 0x0604bae4 0x3a86 cpu\br28\tools\sdk.elf.o .media.audio_decoder.text - 0x0604f1ea 0x66 cpu\br28\tools\sdk.elf.o + 0x0604f56a 0x66 cpu\br28\tools\sdk.elf.o .media.mixer.text - 0x0604f250 0x20 cpu\br28\tools\sdk.elf.o + 0x0604f5d0 0x20 cpu\br28\tools\sdk.elf.o .media.bluetooth_audio.text - 0x0604f270 0x29a cpu\br28\tools\sdk.elf.o + 0x0604f5f0 0x29a cpu\br28\tools\sdk.elf.o .media.audio_encoder.text - 0x0604f50a 0x2a cpu\br28\tools\sdk.elf.o - 0x0604f534 . = ALIGN (0x4) + 0x0604f88a 0x2a cpu\br28\tools\sdk.elf.o + 0x0604f8b4 . = ALIGN (0x4) *(.compressor_code) *(.compressor_const) *(.bt_compressor_const) @@ -3615,13 +3615,13 @@ END GROUP *(.vbss_const) *(.vbss_sparse_code) *(.vbss_sparse_const) - 0x0604f534 . = ALIGN (0x4) + 0x0604f8b4 . = ALIGN (0x4) *(.pSOUND360TD_cal_sparse_code) - 0x0604f534 . = ALIGN (0x4) + 0x0604f8b4 . = ALIGN (0x4) *(.g729_code) *(.g729_const) *(.cvsd_code) - .cvsd_code 0x0604f534 0x202 cpu\br28\tools\sdk.elf.o + .cvsd_code 0x0604f8b4 0x202 cpu\br28\tools\sdk.elf.o *(.cvsd_const) *(.media.audio*) *(.media.mixer*) @@ -3630,22 +3630,22 @@ END GROUP *(.lib_wtg_dec_const) *(.audio_resample_code) .audio_resample_code - 0x0604f736 0x8a cpu\br28\tools\sdk.elf.o + 0x0604fab6 0x8a cpu\br28\tools\sdk.elf.o *(.audio_resample_const) *(.resample_fastcal_sparse_code) *(.resample_fastcal_code) *(.resample_fastcal_const) - 0x0604f7c0 audio_sync_code_begin = . + 0x0604fb40 audio_sync_code_begin = . *(.audio_sync_code) .audio_sync_code - 0x0604f7c0 0x45c cpu\br28\tools\sdk.elf.o - 0x0604fc1c audio_sync_code_end = . - 0x0604fc1c . = ALIGN (0x4) - 0x0604fc1c media_code_end = . - 0x0604fc1c . = ALIGN (0x4) + 0x0604fb40 0x45c cpu\br28\tools\sdk.elf.o + 0x0604ff9c audio_sync_code_end = . + 0x0604ff9c . = ALIGN (0x4) + 0x0604ff9c media_code_end = . + 0x0604ff9c . = ALIGN (0x4) 0x000044b8 media_code_size = (media_code_end - media_code_begin) - 0x0604fc1c . = ALIGN (0x4) - 0x0604fc1c media_text_end = . + 0x0604ff9c . = ALIGN (0x4) + 0x0604ff9c media_text_end = . 0x00140000 . = ORIGIN (ram0) .mmu_tlb 0x00140000 0x5000 @@ -3920,104 +3920,104 @@ END GROUP *(.jlsp_agc_data) 0x00147fe0 . = ALIGN (0x4) -.bss 0x00147fe0 0xb384 +.bss 0x00147fe0 0xb504 0x00147fe0 . = ALIGN (0x4) *(.bss) - .bss 0x00147fe0 0x86e0 cpu\br28\tools\sdk.elf.o - 0x001506c0 . = ALIGN (0x4) + .bss 0x00147fe0 0x8860 cpu\br28\tools\sdk.elf.o + 0x00150840 . = ALIGN (0x4) *(.volatile_ram) *(.btstack_pool) *(.mem_heap) *(.memp_memory_x) - 0x001506c0 . = ALIGN (0x4) + 0x00150840 . = ALIGN (0x4) *(.non_volatile_ram) .non_volatile_ram - 0x001506c0 0x358 cpu\br28\tools\sdk.elf.o - 0x00150a20 . = ALIGN (0x20) - *fill* 0x00150a18 0x8 + 0x00150840 0x358 cpu\br28\tools\sdk.elf.o + 0x00150ba0 . = ALIGN (0x20) + *fill* 0x00150b98 0x8 *(.usb_h_dma) *(.usb_ep0) - .usb_ep0 0x00150a20 0x40 cpu\br28\tools\sdk.elf.o + .usb_ep0 0x00150ba0 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 0x00150a60 0x104 cpu\br28\tools\sdk.elf.o + .usb_msd_dma 0x00150be0 0x104 cpu\br28\tools\sdk.elf.o *(.usb_hid_dma) *(.usb_iso_dma) *(.usb_cdc_dma) *(.uac_var) *(.usb_config_var) *(.cdc_var) - 0x00150b80 . = ALIGN (0x20) - *fill* 0x00150b64 0x1c - 0x00150b80 update_bss_start = . + 0x00150d00 . = ALIGN (0x20) + *fill* 0x00150ce4 0x1c + 0x00150d00 update_bss_start = . *(.update_bss) - .update_bss 0x00150b80 0x1ec cpu\br28\tools\sdk.elf.o - 0x00150d6c update_bss_end = . - 0x00150d6c btstack_bss_start = . + .update_bss 0x00150d00 0x1ec cpu\br28\tools\sdk.elf.o + 0x00150eec update_bss_end = . + 0x00150eec btstack_bss_start = . *(.bt_stack_bss) - .bt_stack_bss 0x00150d6c 0x11ca cpu\br28\tools\sdk.elf.o + .bt_stack_bss 0x00150eec 0x11ca cpu\br28\tools\sdk.elf.o *(.ble_db_bss) - *fill* 0x00151f36 0x2 - .ble_db_bss 0x00151f38 0x20 cpu\br28\tools\sdk.elf.o + *fill* 0x001520b6 0x2 + .ble_db_bss 0x001520b8 0x20 cpu\br28\tools\sdk.elf.o *(.ble_sm_bss) *(.ble_att_bss) - .ble_att_bss 0x00151f58 0x40 cpu\br28\tools\sdk.elf.o + .ble_att_bss 0x001520d8 0x40 cpu\br28\tools\sdk.elf.o *(.ble_gatt_bss) - .ble_gatt_bss 0x00151f98 0x18 cpu\br28\tools\sdk.elf.o + .ble_gatt_bss 0x00152118 0x18 cpu\br28\tools\sdk.elf.o *(.btstack_pool) - 0x00151fb0 BTSTACK_LE_HOST_MESH_BSS_START = . + 0x00152130 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)) - 0x00151fb0 btstack_bss_end = . - 0x00151fb0 system_bss_start = . - 0x00151fb0 . = ALIGN (0x4) + 0x00152130 btstack_bss_end = . + 0x00152130 system_bss_start = . + 0x00152130 . = ALIGN (0x4) *(.os_bss) - .os_bss 0x00151fb0 0x218 cpu\br28\tools\sdk.elf.o - 0x001521b8 irq_lock_cnt + .os_bss 0x00152130 0x218 cpu\br28\tools\sdk.elf.o + 0x00152338 irq_lock_cnt *(.mem_heap) *(.memp_memory_x) *(.mem_bss) *(.os_port_bss) *(.uECC_bss) *(.ECDH_sample_bss) - 0x001521c8 system_bss_end = . - 0x001521c8 btctler_bss_start = . - 0x001521c8 BTCTLER_CONTROLLER_BSS_START = . + 0x00152348 system_bss_end = . + 0x00152348 btctler_bss_start = . + 0x00152348 BTCTLER_CONTROLLER_BSS_START = . *(.bd_base) - .bd_base 0x001521c8 0x300 cpu\br28\tools\sdk.elf.o + .bd_base 0x00152348 0x300 cpu\br28\tools\sdk.elf.o *(.bredr_rxtx_bulk) *(.bredr_tx_bulk) *(.bt_rf_bss) - .bt_rf_bss 0x001524c8 0x33 cpu\br28\tools\sdk.elf.o + .bt_rf_bss 0x00152648 0x33 cpu\br28\tools\sdk.elf.o *(.hci_controller_bss) - *fill* 0x001524fb 0x1 + *fill* 0x0015267b 0x1 .hci_controller_bss - 0x001524fc 0x38 cpu\br28\tools\sdk.elf.o + 0x0015267c 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)) - 0x00152534 BTCTLER_LE_CONTROLLER_BSS_START = . + 0x001526b4 BTCTLER_LE_CONTROLLER_BSS_START = . *(.ble_hci_bss) - .ble_hci_bss 0x00152534 0x9c cpu\br28\tools\sdk.elf.o + .ble_hci_bss 0x001526b4 0x9c cpu\br28\tools\sdk.elf.o *(.ble_ll_bss) - .ble_ll_bss 0x001525d0 0x28b cpu\br28\tools\sdk.elf.o + .ble_ll_bss 0x00152750 0x28b cpu\br28\tools\sdk.elf.o *(.ble_rf_bss) - *fill* 0x0015285b 0x1 - .ble_rf_bss 0x0015285c 0x16 cpu\br28\tools\sdk.elf.o + *fill* 0x001529db 0x1 + .ble_rf_bss 0x001529dc 0x16 cpu\br28\tools\sdk.elf.o 0x0000033e BTCTLER_LE_CONTROLLER_BSS_SIZE = ABSOLUTE ((. - BTCTLER_LE_CONTROLLER_BSS_START)) - 0x00152872 BTCTLER_CL_BSS_START = . + 0x001529f2 BTCTLER_CL_BSS_START = . *(.classic_rf_bss) - *fill* 0x00152872 0x2 + *fill* 0x001529f2 0x2 .classic_rf_bss - 0x00152874 0xac cpu\br28\tools\sdk.elf.o + 0x001529f4 0xac cpu\br28\tools\sdk.elf.o *(.classic_lmp_bss) .classic_lmp_bss - 0x00152920 0x1d4 cpu\br28\tools\sdk.elf.o + 0x00152aa0 0x1d4 cpu\br28\tools\sdk.elf.o *(.classic_lmp_auth_bss) *(.classic_lmp_bigint_bss) *(.classic_lmp_crypt_bss) @@ -4027,30 +4027,30 @@ END GROUP *(.classic_bb_bss) *(.classic_hci_bss) 0x00000282 BTCTLER_CL_BSS_SIZE = ABSOLUTE ((. - BTCTLER_CL_BSS_START)) - 0x00152af4 btctler_bss_end = . - 0x00152af4 driver_bss_start = . - 0x00152af4 CLOCK_BSS_START = . + 0x00152c74 btctler_bss_end = . + 0x00152c74 driver_bss_start = . + 0x00152c74 CLOCK_BSS_START = . *(.clock_bss) - .clock_bss 0x00152af4 0x59 cpu\br28\tools\sdk.elf.o + .clock_bss 0x00152c74 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* 0x00152b4d 0x3 + *fill* 0x00152ccd 0x3 .power_driver.data.bss - 0x00152b50 0x7e2 cpu\br28\tools\sdk.elf.o + 0x00152cd0 0x7e2 cpu\br28\tools\sdk.elf.o *(.power_reset.data.bss) *(.power_wakeup.data.bss) - *fill* 0x00153332 0x2 + *fill* 0x001534b2 0x2 .power_wakeup.data.bss - 0x00153334 0x2c cpu\br28\tools\sdk.elf.o - 0x00153360 driver_bss_end = . - 0x00153360 . = ALIGN (0x4) - 0x00153360 audio_sync_bss_begin = . + 0x001534b4 0x2c cpu\br28\tools\sdk.elf.o + 0x001534e0 driver_bss_end = . + 0x001534e0 . = ALIGN (0x4) + 0x001534e0 audio_sync_bss_begin = . *(.audio_sync_bss) - 0x00153360 audio_sync_bss_end = . - 0x00153360 . = ALIGN (0x4) + 0x001534e0 audio_sync_bss_end = . + 0x001534e0 . = ALIGN (0x4) *(.cvsd_bss) *(.aac_bss) *(.ldac_decoder_bss) @@ -4068,7 +4068,7 @@ END GROUP *(.anc_btspp_bss) *(.audio_adc_bss) .audio_adc_bss - 0x00153360 0x4 cpu\br28\tools\sdk.elf.o + 0x001534e0 0x4 cpu\br28\tools\sdk.elf.o *(.audio_cfifo_bss) *(.audio_dec_bss) *(.audio_buf) @@ -4083,111 +4083,111 @@ END GROUP *(.jlsp_wn_bss) *(.jlsp_tri_bss) *(.jlsp_agc_bss) - 0x00153364 . = ALIGN (0x4) + 0x001534e4 . = ALIGN (0x4) *(.pSOUND360TD_cal_bss) -.data_code 0x00153380 0x59e0 - 0x00153380 data_code_pc_limit_begin = . +.data_code 0x00153500 0x59e0 + 0x00153500 data_code_pc_limit_begin = . *(.flushinv_icache) *(.cache) *(.os_critical_code) .os_critical_code - 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_ + 0x00153500 0x692 cpu\br28\tools\sdk.elf.o + 0x00153500 jiffies_half_msec + 0x00153558 jiffies_msec + 0x00153560 vmalloc_ + 0x001536d0 vfree_ + 0x0015387c vfree_v2 + 0x0015395c vmalloc_v2 + 0x00153b2c vcopy_ *(.volatile_ram_code) .volatile_ram_code - 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 + 0x00153b92 0x1674 cpu\br28\tools\sdk.elf.o + 0x00153ce4 sfc_suspend + 0x0015423e sfc_resume + 0x0015429e read_flash_id + 0x00154438 norflash_erase + 0x001544d2 flushinv_dcache_api + 0x00154514 sfc1_flash_addr2cpu_addr + 0x00154714 exception_analyze + 0x0015481e norflash_get_uuid + 0x0015495a sfc1_resume + 0x0015495c sfc1_suspend + 0x001549ca spi_for_maskrom_init + 0x001549fe sfc1_cpu_addr2flash_addr + 0x00154b64 cpu1_power_off_resume + 0x00154c72 hw_mmu_disable + *fill* 0x00155206 0x2 .volatile_ram_code - 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 + 0x00155208 0x10e cpu/br28/liba/cpu.a(startup.S.o) + 0x00155228 cpu1_start + 0x0015523c cpu1_power_off_resume_S + 0x00155248 __cpu_irq_disabled + 0x0015526c __BT_UPDATA_JUMP + 0x00155302 exception_irq_handler *(.chargebox_code) *(.fat_data_code) *(.fat_data_code_ex) *(.ui_ram) *(.math_fast_funtion_code) - 0x00155198 . = ALIGN (0x4) - *fill* 0x00155196 0x2 + 0x00155318 . = ALIGN (0x4) + *fill* 0x00155316 0x2 *(.pSOUND360TD_cal_const) *(.pSOUND360TD_cal_code) - 0x00155198 . = ALIGN (0x4) + 0x00155318 . = ALIGN (0x4) *(.SpatialAudio.text.const) *(.SpatialAudio.text) *(.SpatialAudio.text.cache.L1) - 0x00155198 . = ALIGN (0x4) - 0x00155198 _SPI_CODE_START = . + 0x00155318 . = ALIGN (0x4) + 0x00155318 _SPI_CODE_START = . *(.spi_code) - 0x00155198 . = ALIGN (0x4) - 0x00155198 _SPI_CODE_END = . - 0x00155198 . = ALIGN (0x4) + 0x00155318 . = ALIGN (0x4) + 0x00155318 _SPI_CODE_END = . + 0x00155318 . = ALIGN (0x4) *(.os_code) - .os_code 0x00155198 0x1794 cpu\br28\tools\sdk.elf.o - 0x001566fa maskrom_init - 0x0015692c . = ALIGN (0x4) + .os_code 0x00155318 0x1794 cpu\br28\tools\sdk.elf.o + 0x0015687a maskrom_init + 0x00156aac . = ALIGN (0x4) *(.lmp_irq_code) - .lmp_irq_code 0x0015692c 0x76 cpu\br28\tools\sdk.elf.o + .lmp_irq_code 0x00156aac 0x76 cpu\br28\tools\sdk.elf.o *(.link_bulk_code) *(.frame_irq_code) .frame_irq_code - 0x001569a2 0x1f2 cpu\br28\tools\sdk.elf.o - 0x00156b94 . = ALIGN (0x4) + 0x00156b22 0x1f2 cpu\br28\tools\sdk.elf.o + 0x00156d14 . = ALIGN (0x4) *(.link_task_const) *(.link_task_code) .link_task_code - 0x00156b94 0x66e cpu\br28\tools\sdk.elf.o - 0x00157204 . = ALIGN (0x4) - *fill* 0x00157202 0x2 + 0x00156d14 0x66e cpu\br28\tools\sdk.elf.o + 0x00157384 . = ALIGN (0x4) + *fill* 0x00157382 0x2 *(.classic_irq_const) *(.classic_irq_code) .classic_irq_code - 0x00157204 0x3a8 cpu\br28\tools\sdk.elf.o - 0x001575ac . = ALIGN (0x4) + 0x00157384 0x3a8 cpu\br28\tools\sdk.elf.o + 0x0015772c . = ALIGN (0x4) *(.tws_irq_code) - 0x001575ac . = ALIGN (0x4) - 0x001575ac tws_sync_call_begin = . + 0x0015772c . = ALIGN (0x4) + 0x0015772c tws_sync_call_begin = . *(.tws_sync_call) .tws_sync_call - 0x001575ac 0xc cpu\br28\tools\sdk.elf.o - 0x001575b8 tws_sync_call_end = . - 0x001575b8 . = ALIGN (0x4) - 0x001575b8 tws_func_stub_begin = . + 0x0015772c 0xc cpu\br28\tools\sdk.elf.o + 0x00157738 tws_sync_call_end = . + 0x00157738 . = ALIGN (0x4) + 0x00157738 tws_func_stub_begin = . *(.tws_func_stub) .tws_func_stub - 0x001575b8 0x30 cpu\br28\tools\sdk.elf.o - 0x001575e8 tws_func_stub_end = . + 0x00157738 0x30 cpu\br28\tools\sdk.elf.o + 0x00157768 tws_func_stub_end = . *(.tws_media_sync_code) .tws_media_sync_code - 0x001575e8 0x9e cpu\br28\tools\sdk.elf.o + 0x00157768 0x9e cpu\br28\tools\sdk.elf.o *(.tws_media_sync_const) *(.tws_data_forward_code) *(.tws_data_forward_const) - 0x00157688 . = ALIGN (0x4) - *fill* 0x00157686 0x2 - 0x00157688 tws_sync_channel_begin = . + 0x00157808 . = ALIGN (0x4) + *fill* 0x00157806 0x2 + 0x00157808 tws_sync_channel_begin = . *(.tws_sync_channel.0) *(.tws_sync_channel.1) *(.tws_sync_channel.2) @@ -4202,32 +4202,32 @@ END GROUP *(.tws_sync_channel.11) *(.tws_sync_channel.12) *(.tws_sync_channel.13) - 0x00157688 tws_sync_channel_end = . - 0x00157688 btctler_code_end = . - 0x00157688 . = ALIGN (0x4) - 0x00157688 driver_data_code_start = . - 0x00157688 CLOCK_CACHE_L1_CODE_START = . + 0x00157808 tws_sync_channel_end = . + 0x00157808 btctler_code_end = . + 0x00157808 . = ALIGN (0x4) + 0x00157808 driver_data_code_start = . + 0x00157808 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* 0x00157688 0x18 + *fill* 0x00157808 0x18 .power_driver.text.cache.L1 - 0x001576a0 0x16c0 cpu\br28\tools\sdk.elf.o - 0x00157b20 spi_port_sel + 0x00157820 0x16c0 cpu\br28\tools\sdk.elf.o + 0x00157ca0 spi_port_sel *(.timer.text.cache.L1) *(.gpio.text.cache.L1) *(.iic_hw.text.cache.L1) - 0x00158d60 driver_data_code_end = . - 0x00158d60 . = ALIGN (0x4) + 0x00158ee0 driver_data_code_end = . + 0x00158ee0 . = ALIGN (0x4) *(.media.aec.text) -.moveable_slot 0x00158d60 0x0 +.moveable_slot 0x00158ee0 0x0 *(movable.slot.*) - 0x00158d60 __report_overlay_begin = . + 0x00158ee0 __report_overlay_begin = . -.overlay_aec 0x00158d60 0x0 load address 0x00200000 - 0x00158d60 aec_code_begin = . +.overlay_aec 0x00158ee0 0x0 load address 0x00200000 + 0x00158ee0 aec_code_begin = . *(.text._*) *(.data._*) *(.aec_code) @@ -4243,7 +4243,7 @@ END GROUP *(.dms_code) *(.dms_const) *(.dms_sparse_code) - 0x00158d60 aec_code_end = . + 0x00158ee0 aec_code_end = . 0x00000000 aec_code_size = (aec_code_end - aec_code_begin) *(.msbc_enc) *(.cvsd_codec) @@ -4274,11 +4274,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 0x00158d60 0x0 load address 0x00200000 +.overlay_aac 0x00158ee0 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 0x00158d60 0x0 load address 0x00200000 +.overlay_mp3 0x00158ee0 0x0 load address 0x00200000 *(.mp3_mem) *(.mp3_ctrl_mem) *(.mp3pick_mem) @@ -4287,7 +4287,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 0x00158d60 0x0 load address 0x00200000 +.overlay_wma 0x00158ee0 0x0 load address 0x00200000 *(.wma_mem) *(.wma_ctrl_mem) *(.wmapick_mem) @@ -4295,48 +4295,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 0x00158d60 0x0 load address 0x00200000 +.overlay_wav 0x00158ee0 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 0x00158d60 0x0 load address 0x00200000 +.overlay_ape 0x00158ee0 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 0x00158d60 0x0 load address 0x00200000 +.overlay_flac 0x00158ee0 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 0x00158d60 0x0 load address 0x00200000 +.overlay_m4a 0x00158ee0 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 0x00158d60 0x0 load address 0x00200000 +.overlay_amr 0x00158ee0 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 0x00158d60 0x0 load address 0x00200000 +.overlay_dts 0x00158ee0 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 0x00158d60 0x0 load address 0x00200000 +.overlay_fm 0x00158ee0 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 0x00158d60 0x0 load address 0x00200000 +.overlay_pc 0x00158ee0 0x0 load address 0x00200000 *(.usb_audio_play_dma) *(.usb_audio_rec_dma) *(.uac_rx) @@ -4351,9 +4351,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))) - 0x00158d60 data_code_pc_limit_end = . - 0x00158d60 __report_overlay_end = . - 0x00158d60 _HEAP_BEGIN = . + 0x00158ee0 data_code_pc_limit_end = . + 0x00158ee0 __report_overlay_end = . + 0x00158ee0 _HEAP_BEGIN = . 0x0019fb80 _HEAP_END = RAM0_END 0x02000000 . = ORIGIN (psr_ram) @@ -4368,51 +4368,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 + 0x00007166 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)) - 0xfa126fe4 BTCTLER_CODE_TOTAL = (btctler_code_end - btctler_code_start) + 0xfa126de4 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)) 0x0000476c 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) - 0x0004fb1c text_size = SIZEOF (.text) - 0x0604fc1c text_end = (text_begin + text_size) + 0x0004fe9c text_size = SIZEOF (.text) + 0x0604ff9c text_end = (text_begin + text_size) 0x00147fe0 bss_begin = ADDR (.bss) - 0x0000b384 bss_size = SIZEOF (.bss) - 0x00153364 bss_end = (bss_begin + bss_size) + 0x0000b504 bss_size = SIZEOF (.bss) + 0x001534e4 bss_end = (bss_begin + bss_size) 0x00147040 data_addr = ADDR (.data) - 0x0604fc1c data_begin = (text_begin + text_size) + 0x0604ff9c data_begin = (text_begin + text_size) 0x00000fa0 data_size = SIZEOF (.data) - 0x00158d60 moveable_slot_addr = ADDR (.moveable_slot) - 0x06050bbc moveable_slot_begin = (data_begin + data_size) + 0x00158ee0 moveable_slot_addr = ADDR (.moveable_slot) + 0x06050f3c moveable_slot_begin = (data_begin + data_size) 0x00000000 moveable_slot_size = SIZEOF (.moveable_slot) - 0x00153380 data_code_addr = ADDR (.data_code) - 0x06050bbc data_code_begin = (moveable_slot_begin + moveable_slot_size) + 0x00153500 data_code_addr = ADDR (.data_code) + 0x06050f3c data_code_begin = (moveable_slot_begin + moveable_slot_size) 0x000059e0 data_code_size = SIZEOF (.data_code) - 0x00158d60 aec_addr = ADDR (.overlay_aec) - 0x0605659c aec_begin = (data_code_begin + data_code_size) + 0x00158ee0 aec_addr = ADDR (.overlay_aec) + 0x0605691c aec_begin = (data_code_begin + data_code_size) 0x00000000 aec_size = SIZEOF (.overlay_aec) - 0x00158d60 aac_addr = ADDR (.overlay_aac) - 0x0605659c aac_begin = (aec_begin + aec_size) + 0x00158ee0 aac_addr = ADDR (.overlay_aac) + 0x0605691c aac_begin = (aec_begin + aec_size) 0x00000000 aac_size = SIZEOF (.overlay_aac) 0x02000000 psr_data_code_addr = ADDR (.psr_data_code) - 0x0605659c psr_data_code_begin = (aac_begin + aac_size) + 0x0605691c 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) - 0x00158d60 PROVIDE (HEAP_BEGIN, _HEAP_BEGIN) + 0x00158ee0 PROVIDE (HEAP_BEGIN, _HEAP_BEGIN) 0x0019fb80 PROVIDE (HEAP_END, _HEAP_END) - 0x00046e20 _MALLOC_SIZE = (_HEAP_END - _HEAP_BEGIN) - 0x00046e20 PROVIDE (MALLOC_SIZE, (_HEAP_END - _HEAP_BEGIN)) + 0x00046ca0 _MALLOC_SIZE = (_HEAP_END - _HEAP_BEGIN) + 0x00046ca0 PROVIDE (MALLOC_SIZE, (_HEAP_END - _HEAP_BEGIN)) 0x00000001 ASSERT ((MALLOC_SIZE >= 0x8000), heap space too small !) 0x06000100 report_text_beign = ADDR (.text) - 0x0004fb1c report_text_size = SIZEOF (.text) - 0x0604fc1c report_text_end = (report_text_beign + report_text_size) + 0x0004fe9c report_text_size = SIZEOF (.text) + 0x0604ff9c 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) @@ -4426,16 +4426,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) - 0x0000b384 report_bss_size = SIZEOF (.bss) - 0x00153364 report_bss_end = (report_bss_begin + report_bss_size) - 0x00153380 report_data_code_begin = ADDR (.data_code) + 0x0000b504 report_bss_size = SIZEOF (.bss) + 0x001534e4 report_bss_end = (report_bss_begin + report_bss_size) + 0x00153500 report_data_code_begin = ADDR (.data_code) 0x000059e0 report_data_code_size = SIZEOF (.data_code) - 0x00158d60 report_data_code_end = (report_data_code_begin + report_data_code_size) - 0x00158d60 report_overlay_begin = __report_overlay_begin + 0x00158ee0 report_data_code_end = (report_data_code_begin + report_data_code_size) + 0x00158ee0 report_overlay_begin = __report_overlay_begin 0x00000000 report_overlay_size = (__report_overlay_end - __report_overlay_begin) - 0x00158d60 report_overlay_end = __report_overlay_end - 0x00158d60 report_heap_beign = _HEAP_BEGIN - 0x00046e20 report_heap_size = (_HEAP_END - _HEAP_BEGIN) + 0x00158ee0 report_overlay_end = __report_overlay_end + 0x00158ee0 report_heap_beign = _HEAP_BEGIN + 0x00046ca0 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) @@ -4445,46 +4445,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 0x5ded7 - .debug_str 0x00000000 0x5ded7 cpu\br28\tools\sdk.elf.o - 0x6436b (size before relaxing) +.debug_str 0x00000000 0x5df3c + .debug_str 0x00000000 0x5df3c cpu\br28\tools\sdk.elf.o + 0x643e8 (size before relaxing) -.debug_loc 0x00000000 0x2f3e8 - .debug_loc 0x00000000 0x2f3e8 cpu\br28\tools\sdk.elf.o +.debug_loc 0x00000000 0x2f45c + .debug_loc 0x00000000 0x2f45c 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 0xf77ab - .debug_info 0x00000000 0xf75b7 cpu\br28\tools\sdk.elf.o - .debug_info 0x000f75b7 0x1f4 cpu/br28/liba/cpu.a(startup.S.o) +.debug_info 0x00000000 0xf7eb0 + .debug_info 0x00000000 0xf7cbc cpu\br28\tools\sdk.elf.o + .debug_info 0x000f7cbc 0x1f4 cpu/br28/liba/cpu.a(startup.S.o) -.debug_ranges 0x00000000 0x6890 - .debug_ranges 0x00000000 0x6868 cpu\br28\tools\sdk.elf.o - .debug_ranges 0x00006868 0x28 cpu/br28/liba/cpu.a(startup.S.o) +.debug_ranges 0x00000000 0x68e8 + .debug_ranges 0x00000000 0x68c0 cpu\br28\tools\sdk.elf.o + .debug_ranges 0x000068c0 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 0x28a78 + 0x00000000 0x28b01 .debug_pubnames - 0x00000000 0x28a78 cpu\br28\tools\sdk.elf.o + 0x00000000 0x28b01 cpu\br28\tools\sdk.elf.o .debug_pubtypes - 0x00000000 0x199c0 + 0x00000000 0x19ddd .debug_pubtypes - 0x00000000 0x199c0 cpu\br28\tools\sdk.elf.o + 0x00000000 0x19ddd cpu\br28\tools\sdk.elf.o -.debug_frame 0x00000000 0xf8a4 - .debug_frame 0x00000000 0xf8a4 cpu\br28\tools\sdk.elf.o +.debug_frame 0x00000000 0xf8c4 + .debug_frame 0x00000000 0xf8c4 cpu\br28\tools\sdk.elf.o -.debug_line 0x00000000 0x644ef - .debug_line 0x00000000 0x64396 cpu\br28\tools\sdk.elf.o - .debug_line 0x00064396 0x30 obj/Release/apps/earphone/sdk_version.z.o - .debug_line 0x000643c6 0x129 cpu/br28/liba/cpu.a(startup.S.o) +.debug_line 0x00000000 0x646e4 + .debug_line 0x00000000 0x6458b cpu\br28\tools\sdk.elf.o + .debug_line 0x0006458b 0x30 obj/Release/apps/earphone/sdk_version.z.o + .debug_line 0x000645bb 0x129 cpu/br28/liba/cpu.a(startup.S.o) .debug_aranges 0x00000000 0x28 .debug_aranges diff --git a/obj/Release/apps/usr_le_code/bleproto.o b/obj/Release/apps/usr_le_code/bleproto.o index 535c4d6..91cc8be 100644 Binary files a/obj/Release/apps/usr_le_code/bleproto.o and b/obj/Release/apps/usr_le_code/bleproto.o differ diff --git a/obj/Release/apps/usr_le_code/usr_le_recieve.o b/obj/Release/apps/usr_le_code/usr_le_recieve.o index 3ceec65..8e6f50e 100644 Binary files a/obj/Release/apps/usr_le_code/usr_le_recieve.o and b/obj/Release/apps/usr_le_code/usr_le_recieve.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 index 9e639b8..21f268d 100644 Binary files a/obj/Release/apps/usr_le_code/usr_usb_jb.o and b/obj/Release/apps/usr_le_code/usr_usb_jb.o differ