mirror of
https://github.com/espressif/esp-idf.git
synced 2025-07-30 10:47:19 +02:00
feat(ble/controller): Added memory boundary check for ESP32-C6 and ESP32-H2
This commit is contained in:
@ -1,6 +1,5 @@
|
|||||||
|
|
||||||
menu "HCI Config"
|
menu "HCI Config"
|
||||||
|
|
||||||
choice BT_LE_HCI_INTERFACE
|
choice BT_LE_HCI_INTERFACE
|
||||||
prompt "HCI mode"
|
prompt "HCI mode"
|
||||||
default BT_LE_HCI_INTERFACE_USE_RAM
|
default BT_LE_HCI_INTERFACE_USE_RAM
|
||||||
@ -434,6 +433,10 @@ menu "Controller debug features"
|
|||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Retain scene with GDB to capture info, requires disabling WDT (CONFIG_ESP_INT_WDT, CONFIG_ESP_TASK_WDT_EN).
|
Retain scene with GDB to capture info, requires disabling WDT (CONFIG_ESP_INT_WDT, CONFIG_ESP_TASK_WDT_EN).
|
||||||
|
|
||||||
|
config BT_LE_PTR_CHECK_ENABLED
|
||||||
|
bool "Enable boundary check for internal memory"
|
||||||
|
default n
|
||||||
endmenu
|
endmenu
|
||||||
|
|
||||||
config BT_LE_LL_RESOLV_LIST_SIZE
|
config BT_LE_LL_RESOLV_LIST_SIZE
|
||||||
|
@ -38,9 +38,14 @@ void pcl_stack_enableSetRssiThreshVsCmd(bool en);
|
|||||||
void chanSel_stack_enableSetCsaVsCmd(bool en);
|
void chanSel_stack_enableSetCsaVsCmd(bool en);
|
||||||
void log_stack_enableLogsRelatedVsCmd(bool en);
|
void log_stack_enableLogsRelatedVsCmd(bool en);
|
||||||
void hci_stack_enableSetVsEvtMaskVsCmd(bool en);
|
void hci_stack_enableSetVsEvtMaskVsCmd(bool en);
|
||||||
|
void winWiden_stack_enableSetConstPeerScaVsCmd(bool en);
|
||||||
|
#if CONFIG_IDF_TARGET_ESP32C61_ECO3
|
||||||
|
void conn_stack_enableSetPrefTxRxCntVsCmd(bool en);
|
||||||
|
#endif // CONFIG_IDF_TARGET_ESP32C61_ECO3
|
||||||
|
|
||||||
void adv_stack_enableScanReqRxdVsEvent(bool en);
|
void adv_stack_enableScanReqRxdVsEvent(bool en);
|
||||||
void conn_stack_enableChanMapUpdCompVsEvent(bool en);
|
void conn_stack_enableChanMapUpdCompVsEvent(bool en);
|
||||||
|
void sleep_stack_enableWakeupVsEvent(bool en);
|
||||||
#endif // (CONFIG_BT_NIMBLE_ENABLED || CONFIG_BT_BLUEDROID_ENABLED)
|
#endif // (CONFIG_BT_NIMBLE_ENABLED || CONFIG_BT_BLUEDROID_ENABLED)
|
||||||
|
|
||||||
/* Local functions definition
|
/* Local functions definition
|
||||||
@ -57,12 +62,20 @@ void ble_stack_enableVsCmds(bool en)
|
|||||||
chanSel_stack_enableSetCsaVsCmd(en);
|
chanSel_stack_enableSetCsaVsCmd(en);
|
||||||
log_stack_enableLogsRelatedVsCmd(en);
|
log_stack_enableLogsRelatedVsCmd(en);
|
||||||
hci_stack_enableSetVsEvtMaskVsCmd(en);
|
hci_stack_enableSetVsEvtMaskVsCmd(en);
|
||||||
|
winWiden_stack_enableSetConstPeerScaVsCmd(en);
|
||||||
|
#if CONFIG_IDF_TARGET_ESP32C61_ECO3
|
||||||
|
conn_stack_enableSetPrefTxRxCntVsCmd(en);
|
||||||
|
#endif // CONFIG_IDF_TARGET_ESP32C61_ECO3
|
||||||
}
|
}
|
||||||
|
|
||||||
void ble_stack_enableVsEvents(bool en)
|
void ble_stack_enableVsEvents(bool en)
|
||||||
{
|
{
|
||||||
adv_stack_enableScanReqRxdVsEvent(en);
|
adv_stack_enableScanReqRxdVsEvent(en);
|
||||||
conn_stack_enableChanMapUpdCompVsEvent(en);
|
conn_stack_enableChanMapUpdCompVsEvent(en);
|
||||||
|
|
||||||
|
#if CONFIG_BT_LE_SLEEP_ENABLE
|
||||||
|
sleep_stack_enableWakeupVsEvent(en);
|
||||||
|
#endif // CONFIG_BT_LE_SLEEP_ENABLE
|
||||||
}
|
}
|
||||||
#endif // (CONFIG_BT_NIMBLE_ENABLED || CONFIG_BT_BLUEDROID_ENABLED)
|
#endif // (CONFIG_BT_NIMBLE_ENABLED || CONFIG_BT_BLUEDROID_ENABLED)
|
||||||
|
|
||||||
|
@ -204,6 +204,12 @@ extern "C" {
|
|||||||
#define DEFAULT_BT_LE_VHCI_ENABLED (0)
|
#define DEFAULT_BT_LE_VHCI_ENABLED (0)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_BT_LE_PTR_CHECK_ENABLED
|
||||||
|
#define DEFAULT_BT_LE_PTR_CHECK_ENABLED (CONFIG_BT_LE_PTR_CHECK_ENABLED)
|
||||||
|
#else
|
||||||
|
#define DEFAULT_BT_LE_PTR_CHECK_ENABLED (0)
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_BT_LE_SLEEP_ENABLE
|
#ifdef CONFIG_BT_LE_SLEEP_ENABLE
|
||||||
#define NIMBLE_SLEEP_ENABLE CONFIG_BT_LE_SLEEP_ENABLE
|
#define NIMBLE_SLEEP_ENABLE CONFIG_BT_LE_SLEEP_ENABLE
|
||||||
#else
|
#else
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
|
|
||||||
menu "HCI Config"
|
menu "HCI Config"
|
||||||
|
|
||||||
choice BT_LE_HCI_INTERFACE
|
choice BT_LE_HCI_INTERFACE
|
||||||
prompt "HCI mode"
|
prompt "HCI mode"
|
||||||
default BT_LE_HCI_INTERFACE_USE_RAM
|
default BT_LE_HCI_INTERFACE_USE_RAM
|
||||||
@ -425,6 +424,10 @@ menu "Controller debug features"
|
|||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Retain scene with GDB to capture info, requires disabling WDT (CONFIG_ESP_INT_WDT, CONFIG_ESP_TASK_WDT_EN).
|
Retain scene with GDB to capture info, requires disabling WDT (CONFIG_ESP_INT_WDT, CONFIG_ESP_TASK_WDT_EN).
|
||||||
|
|
||||||
|
config BT_LE_PTR_CHECK_ENABLED
|
||||||
|
bool "Enable boundary check for internal memory"
|
||||||
|
default n
|
||||||
endmenu
|
endmenu
|
||||||
|
|
||||||
config BT_LE_LL_RESOLV_LIST_SIZE
|
config BT_LE_LL_RESOLV_LIST_SIZE
|
||||||
|
@ -38,9 +38,11 @@ void pcl_stack_enableSetRssiThreshVsCmd(bool en);
|
|||||||
void chanSel_stack_enableSetCsaVsCmd(bool en);
|
void chanSel_stack_enableSetCsaVsCmd(bool en);
|
||||||
void log_stack_enableLogsRelatedVsCmd(bool en);
|
void log_stack_enableLogsRelatedVsCmd(bool en);
|
||||||
void hci_stack_enableSetVsEvtMaskVsCmd(bool en);
|
void hci_stack_enableSetVsEvtMaskVsCmd(bool en);
|
||||||
|
void winWiden_stack_enableSetConstPeerScaVsCmd(bool en);
|
||||||
|
|
||||||
void adv_stack_enableScanReqRxdVsEvent(bool en);
|
void adv_stack_enableScanReqRxdVsEvent(bool en);
|
||||||
void conn_stack_enableChanMapUpdCompVsEvent(bool en);
|
void conn_stack_enableChanMapUpdCompVsEvent(bool en);
|
||||||
|
void sleep_stack_enableWakeupVsEvent(bool en);
|
||||||
#endif // (CONFIG_BT_NIMBLE_ENABLED || CONFIG_BT_BLUEDROID_ENABLED)
|
#endif // (CONFIG_BT_NIMBLE_ENABLED || CONFIG_BT_BLUEDROID_ENABLED)
|
||||||
|
|
||||||
/* Local functions definition
|
/* Local functions definition
|
||||||
@ -57,12 +59,17 @@ void ble_stack_enableVsCmds(bool en)
|
|||||||
chanSel_stack_enableSetCsaVsCmd(en);
|
chanSel_stack_enableSetCsaVsCmd(en);
|
||||||
log_stack_enableLogsRelatedVsCmd(en);
|
log_stack_enableLogsRelatedVsCmd(en);
|
||||||
hci_stack_enableSetVsEvtMaskVsCmd(en);
|
hci_stack_enableSetVsEvtMaskVsCmd(en);
|
||||||
|
winWiden_stack_enableSetConstPeerScaVsCmd(en);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ble_stack_enableVsEvents(bool en)
|
void ble_stack_enableVsEvents(bool en)
|
||||||
{
|
{
|
||||||
adv_stack_enableScanReqRxdVsEvent(en);
|
adv_stack_enableScanReqRxdVsEvent(en);
|
||||||
conn_stack_enableChanMapUpdCompVsEvent(en);
|
conn_stack_enableChanMapUpdCompVsEvent(en);
|
||||||
|
|
||||||
|
#if CONFIG_BT_LE_SLEEP_ENABLE
|
||||||
|
sleep_stack_enableWakeupVsEvent(en);
|
||||||
|
#endif // CONFIG_BT_LE_SLEEP_ENABLE
|
||||||
}
|
}
|
||||||
#endif // (CONFIG_BT_NIMBLE_ENABLED || CONFIG_BT_BLUEDROID_ENABLED)
|
#endif // (CONFIG_BT_NIMBLE_ENABLED || CONFIG_BT_BLUEDROID_ENABLED)
|
||||||
|
|
||||||
|
@ -204,6 +204,12 @@ extern "C" {
|
|||||||
#define DEFAULT_BT_LE_VHCI_ENABLED (0)
|
#define DEFAULT_BT_LE_VHCI_ENABLED (0)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef CONFIG_BT_LE_PTR_CHECK_ENABLED
|
||||||
|
#define DEFAULT_BT_LE_PTR_CHECK_ENABLED (CONFIG_BT_LE_PTR_CHECK_ENABLED)
|
||||||
|
#else
|
||||||
|
#define DEFAULT_BT_LE_PTR_CHECK_ENABLED (0)
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_BT_LE_SLEEP_ENABLE
|
#ifdef CONFIG_BT_LE_SLEEP_ENABLE
|
||||||
#define NIMBLE_SLEEP_ENABLE CONFIG_BT_LE_SLEEP_ENABLE
|
#define NIMBLE_SLEEP_ENABLE CONFIG_BT_LE_SLEEP_ENABLE
|
||||||
#else
|
#else
|
||||||
|
Submodule components/bt/controller/lib_esp32c6/esp32c6-bt-lib updated: b75747061f...246541ab93
Submodule components/bt/controller/lib_esp32h2/esp32h2-bt-lib updated: cd36ec849c...a3192174a9
@ -223,6 +223,7 @@ typedef struct {
|
|||||||
- 0 - Disable (default)
|
- 0 - Disable (default)
|
||||||
- 1 - Enable */
|
- 1 - Enable */
|
||||||
uint8_t vhci_enabled; /*!< VHCI mode is enabled */
|
uint8_t vhci_enabled; /*!< VHCI mode is enabled */
|
||||||
|
uint8_t ptr_check_enabled; /*!< Enable boundary check for internal memory. */
|
||||||
uint32_t config_magic; /*!< Magic number for configuration validation */
|
uint32_t config_magic; /*!< Magic number for configuration validation */
|
||||||
} esp_bt_controller_config_t;
|
} esp_bt_controller_config_t;
|
||||||
|
|
||||||
@ -278,6 +279,7 @@ typedef struct {
|
|||||||
.ble_chan_ass_en = DEFAULT_BT_LE_CTRL_CHAN_ASS_EN, \
|
.ble_chan_ass_en = DEFAULT_BT_LE_CTRL_CHAN_ASS_EN, \
|
||||||
.ble_data_lenth_zero_aux = DEFAULT_BT_LE_CTRL_ADV_DATA_LENGTH_ZERO_AUX, \
|
.ble_data_lenth_zero_aux = DEFAULT_BT_LE_CTRL_ADV_DATA_LENGTH_ZERO_AUX, \
|
||||||
.vhci_enabled = DEFAULT_BT_LE_VHCI_ENABLED, \
|
.vhci_enabled = DEFAULT_BT_LE_VHCI_ENABLED, \
|
||||||
|
.ptr_check_enabled = DEFAULT_BT_LE_PTR_CHECK_ENABLED, \
|
||||||
.config_magic = CONFIG_MAGIC, \
|
.config_magic = CONFIG_MAGIC, \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -227,6 +227,7 @@ typedef struct {
|
|||||||
- 0 - Disable (default)
|
- 0 - Disable (default)
|
||||||
- 1 - Enable */
|
- 1 - Enable */
|
||||||
uint8_t vhci_enabled; /*!< VHCI is enabled */
|
uint8_t vhci_enabled; /*!< VHCI is enabled */
|
||||||
|
uint8_t ptr_check_enabled; /*!< Enable boundary check for internal memory. */
|
||||||
uint32_t config_magic; /*!< Configuration magic value */
|
uint32_t config_magic; /*!< Configuration magic value */
|
||||||
} esp_bt_controller_config_t;
|
} esp_bt_controller_config_t;
|
||||||
|
|
||||||
@ -282,6 +283,7 @@ typedef struct {
|
|||||||
.ble_chan_ass_en = DEFAULT_BT_LE_CTRL_CHAN_ASS_EN, \
|
.ble_chan_ass_en = DEFAULT_BT_LE_CTRL_CHAN_ASS_EN, \
|
||||||
.ble_data_lenth_zero_aux = DEFAULT_BT_LE_CTRL_ADV_DATA_LENGTH_ZERO_AUX, \
|
.ble_data_lenth_zero_aux = DEFAULT_BT_LE_CTRL_ADV_DATA_LENGTH_ZERO_AUX, \
|
||||||
.vhci_enabled = DEFAULT_BT_LE_VHCI_ENABLED, \
|
.vhci_enabled = DEFAULT_BT_LE_VHCI_ENABLED, \
|
||||||
|
.ptr_check_enabled = DEFAULT_BT_LE_PTR_CHECK_ENABLED, \
|
||||||
.config_magic = CONFIG_MAGIC, \
|
.config_magic = CONFIG_MAGIC, \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user