mirror of
https://github.com/espressif/esp-idf.git
synced 2026-10-02 03:00:34 +03:00
fix(bt): keep BLE log ISR state in internal RAM
(cherry picked from commit 2fa434eb50)
Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
This commit is contained in:
@@ -21,12 +21,12 @@
|
|||||||
#define TAG "ble_log"
|
#define TAG "ble_log"
|
||||||
#define BLE_LOG_LBM_WAIT_TIMEOUT_MS (1000)
|
#define BLE_LOG_LBM_WAIT_TIMEOUT_MS (1000)
|
||||||
|
|
||||||
BLE_LOG_STATIC volatile uint32_t lbm_ref_count = 0;
|
BLE_LOG_STATIC BLE_LOG_DRAM_ATTR volatile uint32_t lbm_ref_count = 0;
|
||||||
BLE_LOG_STATIC bool lbm_inited = false;
|
BLE_LOG_STATIC BLE_LOG_DRAM_ATTR bool lbm_inited = false;
|
||||||
BLE_LOG_STATIC bool lbm_enabled = false;
|
BLE_LOG_STATIC BLE_LOG_DRAM_ATTR bool lbm_enabled = false;
|
||||||
BLE_LOG_STATIC volatile bool flush_in_progress = false;
|
BLE_LOG_STATIC volatile bool flush_in_progress = false;
|
||||||
BLE_LOG_STATIC ble_log_lbm_ctx_t *lbm_ctx = NULL;
|
BLE_LOG_STATIC BLE_LOG_DRAM_ATTR ble_log_lbm_ctx_t *lbm_ctx = NULL;
|
||||||
BLE_LOG_STATIC ble_log_stat_mgr_t *stat_mgr_ctx[BLE_LOG_SRC_MAX] = {0};
|
BLE_LOG_STATIC BLE_LOG_DRAM_ATTR ble_log_stat_mgr_t *stat_mgr_ctx[BLE_LOG_SRC_MAX] = {0};
|
||||||
|
|
||||||
/* PRIVATE FUNCTION DECLARATION */
|
/* PRIVATE FUNCTION DECLARATION */
|
||||||
BLE_LOG_STATIC
|
BLE_LOG_STATIC
|
||||||
|
|||||||
@@ -14,11 +14,11 @@
|
|||||||
#include "ble_log_lbm.h"
|
#include "ble_log_lbm.h"
|
||||||
|
|
||||||
/* VARIABLE */
|
/* VARIABLE */
|
||||||
BLE_LOG_STATIC bool rt_inited = false;
|
BLE_LOG_STATIC BLE_LOG_DRAM_ATTR bool rt_inited = false;
|
||||||
BLE_LOG_STATIC TaskHandle_t rt_task_handle = NULL;
|
BLE_LOG_STATIC TaskHandle_t rt_task_handle = NULL;
|
||||||
BLE_LOG_STATIC QueueHandle_t rt_queue_handle = NULL;
|
BLE_LOG_STATIC BLE_LOG_DRAM_ATTR QueueHandle_t rt_queue_handle = NULL;
|
||||||
#if CONFIG_BLE_LOG_TS_ENABLED
|
#if CONFIG_BLE_LOG_TS_ENABLED
|
||||||
BLE_LOG_STATIC bool rt_ts_enabled = false;
|
BLE_LOG_STATIC BLE_LOG_DRAM_ATTR bool rt_ts_enabled = false;
|
||||||
#if CONFIG_BLE_LOG_TS_TRIGGER_ESP_TIMER
|
#if CONFIG_BLE_LOG_TS_TRIGGER_ESP_TIMER
|
||||||
BLE_LOG_STATIC esp_timer_handle_t rt_ts_timer = NULL;
|
BLE_LOG_STATIC esp_timer_handle_t rt_ts_timer = NULL;
|
||||||
#endif /* CONFIG_BLE_LOG_TS_TRIGGER_ESP_TIMER */
|
#endif /* CONFIG_BLE_LOG_TS_TRIGGER_ESP_TIMER */
|
||||||
|
|||||||
@@ -11,8 +11,8 @@
|
|||||||
#include "ble_log_ts.h"
|
#include "ble_log_ts.h"
|
||||||
|
|
||||||
/* VARIABLE */
|
/* VARIABLE */
|
||||||
BLE_LOG_STATIC bool ts_inited = false;
|
BLE_LOG_STATIC BLE_LOG_DRAM_ATTR bool ts_inited = false;
|
||||||
BLE_LOG_STATIC ble_log_ts_info_t *ts_info = NULL;
|
BLE_LOG_STATIC BLE_LOG_DRAM_ATTR ble_log_ts_info_t *ts_info = NULL;
|
||||||
|
|
||||||
/* INTERFACE */
|
/* INTERFACE */
|
||||||
bool ble_log_ts_init(void)
|
bool ble_log_ts_init(void)
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
/* VARIABLE */
|
/* VARIABLE */
|
||||||
#ifndef UNIT_TEST
|
#ifndef UNIT_TEST
|
||||||
portMUX_TYPE ble_log_spin_lock = portMUX_INITIALIZER_UNLOCKED;
|
BLE_LOG_DRAM_ATTR portMUX_TYPE ble_log_spin_lock = portMUX_INITIALIZER_UNLOCKED;
|
||||||
#endif /* !UNIT_TEST */
|
#endif /* !UNIT_TEST */
|
||||||
|
|
||||||
/* INTERNAL INTERFACE */
|
/* INTERNAL INTERFACE */
|
||||||
|
|||||||
@@ -37,6 +37,7 @@
|
|||||||
#define BLE_LOG_INLINE inline
|
#define BLE_LOG_INLINE inline
|
||||||
|
|
||||||
/* Section */
|
/* Section */
|
||||||
|
#define BLE_LOG_DRAM_ATTR DRAM_ATTR
|
||||||
#if defined(CONFIG_IDF_TARGET_ESP32C2)
|
#if defined(CONFIG_IDF_TARGET_ESP32C2)
|
||||||
#define BLE_LOG_IRAM_ATTR _SECTION_ATTR_IMPL(".ble_log_iram1", __COUNTER__)
|
#define BLE_LOG_IRAM_ATTR _SECTION_ATTR_IMPL(".ble_log_iram1", __COUNTER__)
|
||||||
#else
|
#else
|
||||||
@@ -92,6 +93,7 @@ void ble_log_cas_release(volatile bool *cas_lock)
|
|||||||
#define BLE_LOG_INLINE
|
#define BLE_LOG_INLINE
|
||||||
|
|
||||||
/* Section */
|
/* Section */
|
||||||
|
#define BLE_LOG_DRAM_ATTR
|
||||||
#define BLE_LOG_IRAM_ATTR
|
#define BLE_LOG_IRAM_ATTR
|
||||||
|
|
||||||
/* Memory operation */
|
/* Memory operation */
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
/* VARIABLE */
|
/* VARIABLE */
|
||||||
BLE_LOG_STATIC bool prph_inited = false;
|
BLE_LOG_STATIC bool prph_inited = false;
|
||||||
BLE_LOG_STATIC spi_device_handle_t dev_handle = NULL;
|
BLE_LOG_STATIC spi_device_handle_t dev_handle = NULL;
|
||||||
BLE_LOG_STATIC uint32_t last_tx_done_ts = 0;
|
BLE_LOG_STATIC BLE_LOG_DRAM_ATTR uint32_t last_tx_done_ts = 0;
|
||||||
|
|
||||||
/* PRIVATE FUNCTION DECLARATION */
|
/* PRIVATE FUNCTION DECLARATION */
|
||||||
BLE_LOG_STATIC void spi_master_dma_tx_done_cb(spi_transaction_t *spi_trans);
|
BLE_LOG_STATIC void spi_master_dma_tx_done_cb(spi_transaction_t *spi_trans);
|
||||||
|
|||||||
@@ -31,7 +31,7 @@
|
|||||||
#endif /* BLE_LOG_PRPH_UART_DMA_REDIR */
|
#endif /* BLE_LOG_PRPH_UART_DMA_REDIR */
|
||||||
|
|
||||||
/* VARIABLE */
|
/* VARIABLE */
|
||||||
BLE_LOG_STATIC bool prph_inited = false;
|
BLE_LOG_STATIC BLE_LOG_DRAM_ATTR bool prph_inited = false;
|
||||||
BLE_LOG_STATIC uhci_controller_handle_t dev_handle = NULL;
|
BLE_LOG_STATIC uhci_controller_handle_t dev_handle = NULL;
|
||||||
#if BLE_LOG_PRPH_UART_DMA_REDIR
|
#if BLE_LOG_PRPH_UART_DMA_REDIR
|
||||||
BLE_LOG_STATIC bool uart_driver_inited = false;
|
BLE_LOG_STATIC bool uart_driver_inited = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user