diff --git a/components/bt/controller/esp32h4/btdm_broker.c b/components/bt/controller/esp32h4/btdm_broker.c index fc20b71c0c2..822f7cf3969 100644 --- a/components/bt/controller/esp32h4/btdm_broker.c +++ b/components/bt/controller/esp32h4/btdm_broker.c @@ -8,6 +8,7 @@ #include #include +#include #include "btdm_user_cfg.h" #if UC_BT_CTRL_BLE_IS_ENABLE #include "ble_user_cfg.h" @@ -103,6 +104,7 @@ extern int brk_sym_pawrBcast_02YCihGkfXcpLt0zh1uM(void *param); extern int brk_sym_pawrBcast_0PNup0d8oI1288mfULNW(void *param); extern int brk_sym_pawrBcast_0Wq1DOQE0eOWEGV2grxM(void *param); extern int brk_sym_pawrBcast_1y9l4P0a3qWUSydU3cDY(void *param); +extern int brk_sym_pawrBcast_3Fe1AkLrn3EG25GkGfL4(void *param); extern int brk_sym_pawrBcast_7jK56jlcfafMtoQgLg6t(void *param); extern int brk_sym_pawrBcast_7qGF1F9weQ363Ml7Gj0n(void *param); extern int brk_sym_pawrBcast_JHmbFJCpV155hIYyDVQ8(void *param); @@ -114,6 +116,7 @@ extern int brk_sym_pawrBcast_SB1LBCzybPoDd0XYyLM8(void *param); extern int brk_sym_pawrBcast_WNd7Y6n56cZrTlhBjFRU(void *param); extern int brk_sym_pawrBcast_eBH7HrPT8y2Fj9382el3(void *param); extern int brk_sym_pawrBcast_g6t1IjxRbcv5GUq1uXIA(void *param); +extern int brk_sym_pawrBcast_ivWxQ61JhFEBhkuxoZhM(void *param); extern int brk_sym_pawrBcast_lk2Wpy4u04ukjtC7Ijcb(void *param); extern int brk_sym_pawrBcast_on08yxBjym4I0iV3tlPo(void *param); extern int brk_sym_pawrBcast_sSbQFGKMJszbA895ddLO(void *param); @@ -270,6 +273,12 @@ const void * const _adv_linear_broker_flash[] = BTDM_BROKER_NODE_DEF_FLASH( [13] = BTDM_BROKER_ENTRY_DEF_FLASH( brk_sym_pawrBcast_WNd7Y6n56cZrTlhBjFRU, ), + [14] = BTDM_BROKER_ENTRY_DEF_FLASH( + brk_sym_pawrBcast_3Fe1AkLrn3EG25GkGfL4, + ), + [15] = BTDM_BROKER_ENTRY_DEF_FLASH( + brk_sym_pawrBcast_ivWxQ61JhFEBhkuxoZhM, + ), #endif /* UC_BLE_CTRL_PAWR_BCAST_SUPPORTED */ ); #endif /* UC_BT_CTRL_BLE_IS_ENABLE */ @@ -735,65 +744,72 @@ int btdm_broker_init(void) { #if UC_BT_CTRL_BLE_IS_ENABLE - if (r_btdm_broker_linear_selfcheck(_adv_linear_broker_flash, false)) { + extern const char *ble_controller_get_compile_version(void); + if (memcmp(ble_controller_get_compile_version(), "4c3f1e9", 7) != 0) { return -1; } #endif /* UC_BT_CTRL_BLE_IS_ENABLE */ #if UC_BT_CTRL_BLE_IS_ENABLE - if (r_btdm_broker_linear_selfcheck(_base_linear_broker_flash, false)) { + if (r_btdm_broker_linear_selfcheck(_adv_linear_broker_flash, false)) { return -2; } #endif /* UC_BT_CTRL_BLE_IS_ENABLE */ - if (r_btdm_broker_linear_selfcheck(_btdm_hal_linear_broker_ram, true)) { +#if UC_BT_CTRL_BLE_IS_ENABLE + if (r_btdm_broker_linear_selfcheck(_base_linear_broker_flash, false)) { return -3; } +#endif /* UC_BT_CTRL_BLE_IS_ENABLE */ - if (r_btdm_broker_linear_selfcheck(_btdm_hci_linear_broker_flash, false)) { + if (r_btdm_broker_linear_selfcheck(_btdm_hal_linear_broker_ram, true)) { return -4; } - if (r_btdm_broker_linear_selfcheck(_btdm_sched_linear_broker_flash, false)) { + if (r_btdm_broker_linear_selfcheck(_btdm_hci_linear_broker_flash, false)) { return -5; } - if (r_btdm_broker_linear_selfcheck(_btdm_sched_linear_broker_ram, true)) { + if (r_btdm_broker_linear_selfcheck(_btdm_sched_linear_broker_flash, false)) { return -6; } - if (r_btdm_broker_linear_selfcheck(_btdm_sleep_linear_broker_flash, false)) { + if (r_btdm_broker_linear_selfcheck(_btdm_sched_linear_broker_ram, true)) { return -7; } - if (r_btdm_broker_linear_selfcheck(_btdm_task_linear_broker_flash, false)) { + if (r_btdm_broker_linear_selfcheck(_btdm_sleep_linear_broker_flash, false)) { return -8; } + if (r_btdm_broker_linear_selfcheck(_btdm_task_linear_broker_flash, false)) { + return -9; + } + #if UC_BT_CTRL_BLE_IS_ENABLE && UC_BLE_CTRL_CONN_ENABLED if (r_btdm_broker_linear_selfcheck(_conn_linear_broker_flash, false)) { - return -9; + return -10; } #endif /* UC_BT_CTRL_BLE_IS_ENABLE && UC_BLE_CTRL_CONN_ENABLED */ #if UC_BT_CTRL_BLE_IS_ENABLE if (r_btdm_broker_linear_selfcheck(_nrtIsr_linear_broker_flash, false)) { - return -10; - } -#endif /* UC_BT_CTRL_BLE_IS_ENABLE */ - -#if UC_BT_CTRL_BLE_IS_ENABLE - if (r_btdm_broker_linear_selfcheck(_perAdv_linear_broker_flash, false)) { return -11; } #endif /* UC_BT_CTRL_BLE_IS_ENABLE */ #if UC_BT_CTRL_BLE_IS_ENABLE - if (r_btdm_broker_linear_selfcheck(_sync_linear_broker_flash, false)) { + if (r_btdm_broker_linear_selfcheck(_perAdv_linear_broker_flash, false)) { return -12; } #endif /* UC_BT_CTRL_BLE_IS_ENABLE */ +#if UC_BT_CTRL_BLE_IS_ENABLE + if (r_btdm_broker_linear_selfcheck(_sync_linear_broker_flash, false)) { + return -13; + } +#endif /* UC_BT_CTRL_BLE_IS_ENABLE */ + return 0; } diff --git a/components/bt/controller/esp32s31/btdm_broker.c b/components/bt/controller/esp32s31/btdm_broker.c index 28a4ebf860e..a2c532b4db5 100644 --- a/components/bt/controller/esp32s31/btdm_broker.c +++ b/components/bt/controller/esp32s31/btdm_broker.c @@ -8,6 +8,7 @@ #include #include +#include #include "btdm_user_cfg.h" #if UC_BT_CTRL_BLE_IS_ENABLE #include "ble_user_cfg.h" @@ -111,6 +112,7 @@ extern int brk_sym_pawrBcast_02YCihGkfXcpLt0zh1uM(void *param); extern int brk_sym_pawrBcast_0PNup0d8oI1288mfULNW(void *param); extern int brk_sym_pawrBcast_0Wq1DOQE0eOWEGV2grxM(void *param); extern int brk_sym_pawrBcast_1y9l4P0a3qWUSydU3cDY(void *param); +extern int brk_sym_pawrBcast_3Fe1AkLrn3EG25GkGfL4(void *param); extern int brk_sym_pawrBcast_7jK56jlcfafMtoQgLg6t(void *param); extern int brk_sym_pawrBcast_7qGF1F9weQ363Ml7Gj0n(void *param); extern int brk_sym_pawrBcast_JHmbFJCpV155hIYyDVQ8(void *param); @@ -122,6 +124,7 @@ extern int brk_sym_pawrBcast_SB1LBCzybPoDd0XYyLM8(void *param); extern int brk_sym_pawrBcast_WNd7Y6n56cZrTlhBjFRU(void *param); extern int brk_sym_pawrBcast_eBH7HrPT8y2Fj9382el3(void *param); extern int brk_sym_pawrBcast_g6t1IjxRbcv5GUq1uXIA(void *param); +extern int brk_sym_pawrBcast_ivWxQ61JhFEBhkuxoZhM(void *param); extern int brk_sym_pawrBcast_lk2Wpy4u04ukjtC7Ijcb(void *param); extern int brk_sym_pawrBcast_on08yxBjym4I0iV3tlPo(void *param); extern int brk_sym_pawrBcast_sSbQFGKMJszbA895ddLO(void *param); @@ -291,6 +294,12 @@ const void * const _adv_linear_broker_flash[] = BTDM_BROKER_NODE_DEF_FLASH( [13] = BTDM_BROKER_ENTRY_DEF_FLASH( brk_sym_pawrBcast_WNd7Y6n56cZrTlhBjFRU, ), + [14] = BTDM_BROKER_ENTRY_DEF_FLASH( + brk_sym_pawrBcast_3Fe1AkLrn3EG25GkGfL4, + ), + [15] = BTDM_BROKER_ENTRY_DEF_FLASH( + brk_sym_pawrBcast_ivWxQ61JhFEBhkuxoZhM, + ), #endif /* UC_BLE_CTRL_PAWR_BCAST_SUPPORTED */ ); #endif /* UC_BT_CTRL_BLE_IS_ENABLE */ @@ -837,73 +846,80 @@ int btdm_broker_init(void) { #if UC_BT_CTRL_BLE_IS_ENABLE - if (r_btdm_broker_linear_selfcheck(_adv_linear_broker_flash, false)) { + extern const char *ble_controller_get_compile_version(void); + if (memcmp(ble_controller_get_compile_version(), "4c3f1e9", 7) != 0) { return -1; } #endif /* UC_BT_CTRL_BLE_IS_ENABLE */ #if UC_BT_CTRL_BLE_IS_ENABLE - if (r_btdm_broker_linear_selfcheck(_base_linear_broker_flash, false)) { + if (r_btdm_broker_linear_selfcheck(_adv_linear_broker_flash, false)) { return -2; } #endif /* UC_BT_CTRL_BLE_IS_ENABLE */ - if (r_btdm_broker_linear_selfcheck(_btdm_coex_linear_broker_flash, false)) { +#if UC_BT_CTRL_BLE_IS_ENABLE + if (r_btdm_broker_linear_selfcheck(_base_linear_broker_flash, false)) { return -3; } +#endif /* UC_BT_CTRL_BLE_IS_ENABLE */ - if (r_btdm_broker_linear_selfcheck(_btdm_hal_linear_broker_ram, true)) { + if (r_btdm_broker_linear_selfcheck(_btdm_coex_linear_broker_flash, false)) { return -4; } - if (r_btdm_broker_linear_selfcheck(_btdm_hci_linear_broker_flash, false)) { + if (r_btdm_broker_linear_selfcheck(_btdm_hal_linear_broker_ram, true)) { return -5; } - if (r_btdm_broker_linear_selfcheck(_btdm_sched_linear_broker_flash, false)) { + if (r_btdm_broker_linear_selfcheck(_btdm_hci_linear_broker_flash, false)) { return -6; } - if (r_btdm_broker_linear_selfcheck(_btdm_sched_linear_broker_ram, true)) { + if (r_btdm_broker_linear_selfcheck(_btdm_sched_linear_broker_flash, false)) { return -7; } - if (r_btdm_broker_linear_selfcheck(_btdm_sleep_linear_broker_flash, false)) { + if (r_btdm_broker_linear_selfcheck(_btdm_sched_linear_broker_ram, true)) { return -8; } - if (r_btdm_broker_linear_selfcheck(_btdm_sleep_linear_broker_ram, true)) { + if (r_btdm_broker_linear_selfcheck(_btdm_sleep_linear_broker_flash, false)) { return -9; } - if (r_btdm_broker_linear_selfcheck(_btdm_task_linear_broker_flash, false)) { + if (r_btdm_broker_linear_selfcheck(_btdm_sleep_linear_broker_ram, true)) { return -10; } + if (r_btdm_broker_linear_selfcheck(_btdm_task_linear_broker_flash, false)) { + return -11; + } + #if UC_BT_CTRL_BLE_IS_ENABLE && UC_BLE_CTRL_CONN_ENABLED if (r_btdm_broker_linear_selfcheck(_conn_linear_broker_flash, false)) { - return -11; + return -12; } #endif /* UC_BT_CTRL_BLE_IS_ENABLE && UC_BLE_CTRL_CONN_ENABLED */ #if UC_BT_CTRL_BLE_IS_ENABLE if (r_btdm_broker_linear_selfcheck(_nrtIsr_linear_broker_flash, false)) { - return -12; - } -#endif /* UC_BT_CTRL_BLE_IS_ENABLE */ - -#if UC_BT_CTRL_BLE_IS_ENABLE - if (r_btdm_broker_linear_selfcheck(_perAdv_linear_broker_flash, false)) { return -13; } #endif /* UC_BT_CTRL_BLE_IS_ENABLE */ #if UC_BT_CTRL_BLE_IS_ENABLE - if (r_btdm_broker_linear_selfcheck(_sync_linear_broker_flash, false)) { + if (r_btdm_broker_linear_selfcheck(_perAdv_linear_broker_flash, false)) { return -14; } #endif /* UC_BT_CTRL_BLE_IS_ENABLE */ +#if UC_BT_CTRL_BLE_IS_ENABLE + if (r_btdm_broker_linear_selfcheck(_sync_linear_broker_flash, false)) { + return -15; + } +#endif /* UC_BT_CTRL_BLE_IS_ENABLE */ + return 0; } diff --git a/components/bt/controller/lib_esp32h4/esp32h4-bt-lib b/components/bt/controller/lib_esp32h4/esp32h4-bt-lib index ab65d4c478c..00b5a98c1b6 160000 --- a/components/bt/controller/lib_esp32h4/esp32h4-bt-lib +++ b/components/bt/controller/lib_esp32h4/esp32h4-bt-lib @@ -1 +1 @@ -Subproject commit ab65d4c478ce658a321de7b9188fcb4f536ae2db +Subproject commit 00b5a98c1b6d82d0eab1a9231fed1e495a391893 diff --git a/components/bt/controller/lib_esp32s31/esp32s31-bt-lib b/components/bt/controller/lib_esp32s31/esp32s31-bt-lib index 5c8ddfcb843..20e84f6ebe5 160000 --- a/components/bt/controller/lib_esp32s31/esp32s31-bt-lib +++ b/components/bt/controller/lib_esp32s31/esp32s31-bt-lib @@ -1 +1 @@ -Subproject commit 5c8ddfcb8438bb73adfffe2ca1d5262ecc27f13a +Subproject commit 20e84f6ebe5f278a9d72f8a2676206e0c40d26be