mirror of
https://github.com/espressif/esp-idf.git
synced 2025-08-04 21:24:32 +02:00
fix(apptrace): replace esp32p4 ctrl block into noncache-able TCM memory
This commit is contained in:
@@ -57,7 +57,13 @@ static bool esp_apptrace_riscv_host_data_pending(void);
|
|||||||
|
|
||||||
const static char *TAG = "esp_apptrace";
|
const static char *TAG = "esp_apptrace";
|
||||||
|
|
||||||
static esp_apptrace_riscv_ctrl_block_t s_tracing_ctrl[CONFIG_FREERTOS_NUMBER_OF_CORES];
|
#if SOC_CACHE_INTERNAL_MEM_VIA_L1CACHE
|
||||||
|
#define APPTRACE_DRAM_ATTR TCM_DRAM_ATTR
|
||||||
|
#else
|
||||||
|
#define APPTRACE_DRAM_ATTR
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static APPTRACE_DRAM_ATTR esp_apptrace_riscv_ctrl_block_t s_tracing_ctrl[CONFIG_FREERTOS_NUMBER_OF_CORES];
|
||||||
|
|
||||||
esp_apptrace_hw_t *esp_apptrace_jtag_hw_get(void **data)
|
esp_apptrace_hw_t *esp_apptrace_jtag_hw_get(void **data)
|
||||||
{
|
{
|
||||||
@@ -92,7 +98,7 @@ esp_apptrace_hw_t *esp_apptrace_jtag_hw_get(void **data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Advertises apptrace control block address to host.
|
/* Advertises apptrace control block address to host.
|
||||||
This function can be overriden with custom implementation,
|
This function can be overridden with custom implementation,
|
||||||
e.g. OpenOCD flasher stub use own implementation of it. */
|
e.g. OpenOCD flasher stub use own implementation of it. */
|
||||||
__attribute__((weak)) int esp_apptrace_advertise_ctrl_block(void *ctrl_block_addr)
|
__attribute__((weak)) int esp_apptrace_advertise_ctrl_block(void *ctrl_block_addr)
|
||||||
{
|
{
|
||||||
@@ -103,7 +109,7 @@ __attribute__((weak)) int esp_apptrace_advertise_ctrl_block(void *ctrl_block_add
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Returns up buffers config.
|
/* Returns up buffers config.
|
||||||
This function can be overriden with custom implementation,
|
This function can be overridden with custom implementation,
|
||||||
e.g. OpenOCD flasher stub use own implementation of it. */
|
e.g. OpenOCD flasher stub use own implementation of it. */
|
||||||
__attribute__((weak)) void esp_apptrace_get_up_buffers(esp_apptrace_mem_block_t mem_blocks_cfg[2])
|
__attribute__((weak)) void esp_apptrace_get_up_buffers(esp_apptrace_mem_block_t mem_blocks_cfg[2])
|
||||||
{
|
{
|
||||||
@@ -165,7 +171,7 @@ static esp_err_t esp_apptrace_riscv_init(esp_apptrace_riscv_data_t *hw_data)
|
|||||||
}
|
}
|
||||||
// notify host about control block address
|
// notify host about control block address
|
||||||
int res = esp_apptrace_advertise_ctrl_block(&s_tracing_ctrl[core_id]);
|
int res = esp_apptrace_advertise_ctrl_block(&s_tracing_ctrl[core_id]);
|
||||||
assert(res == 0 && "Falied to send config to host!");
|
assert(res == 0 && "Failed to send config to host!");
|
||||||
|
|
||||||
return ESP_OK;
|
return ESP_OK;
|
||||||
}
|
}
|
||||||
|
@@ -1,10 +1,6 @@
|
|||||||
# Documentation: .gitlab/ci/README.md#manifest-file-to-control-the-buildtest-apps
|
# Documentation: .gitlab/ci/README.md#manifest-file-to-control-the-buildtest-apps
|
||||||
|
|
||||||
examples/system/app_trace_basic:
|
examples/system/app_trace_basic:
|
||||||
disable:
|
|
||||||
- if: IDF_TARGET == "esp32p4"
|
|
||||||
temporary: true
|
|
||||||
reason: not ready yet. IDF-8107
|
|
||||||
disable_test:
|
disable_test:
|
||||||
- if: IDF_TARGET in ["esp32c6", "esp32h2", "esp32p4", "esp32c5", "esp32c61"]
|
- if: IDF_TARGET in ["esp32c6", "esp32h2", "esp32p4", "esp32c5", "esp32c61"]
|
||||||
temporary: true
|
temporary: true
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-H2 | ESP32-S2 | ESP32-S3 |
|
| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-H2 | ESP32-P4 | ESP32-S2 | ESP32-S3 |
|
||||||
| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | -------- |
|
| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | -------- | -------- |
|
||||||
|
|
||||||
# Application Level Tracing Example (Basic)
|
# Application Level Tracing Example (Basic)
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user