|
|
@@ -76,11 +76,11 @@
|
|
|
// It can happen that system panic occurs when there are very small amount of data which are not exposed to host yet (e.g. crash just after the
|
|
|
// TRAX block switch). In this case the previous 16KB of collected data will be dropped and host will see the latest, but very small piece of trace.
|
|
|
// It can be insufficient to diagnose the problem. To avoid such situations there is menuconfig option
|
|
|
-// CONFIG_ESP32_APPTRACE_POSTMORTEM_FLUSH_THRESH
|
|
|
+// CONFIG_APPTRACE_POSTMORTEM_FLUSH_THRESH
|
|
|
// which controls the threshold for flushing data in case of panic.
|
|
|
// - Streaming mode. Tracing module enters this mode when host connects to target and sets respective bits in control registers (per core).
|
|
|
// In this mode before switching the block tracing module waits for the host to read all the data from the previously exposed block.
|
|
|
-// On panic tracing module also waits (timeout is configured via menuconfig via CONFIG_ESP32_APPTRACE_ONPANIC_HOST_FLUSH_TMO) for the host to read all data.
|
|
|
+// On panic tracing module also waits (timeout is configured via menuconfig via CONFIG_APPTRACE_ONPANIC_HOST_FLUSH_TMO) for the host to read all data.
|
|
|
|
|
|
// 4. Communication Protocol
|
|
|
// =========================
|
|
|
@@ -114,7 +114,7 @@
|
|
|
// has not completed reading of the previous one yet. So in this case time critical tracing calls (which can not be delayed for too long time due to
|
|
|
// the lack of free memory in TRAX block) can be dropped. To avoid such scenarios tracing module implements data buffering. Buffered data will be sent
|
|
|
// to the host later when TRAX block switch occurs. The maximum size of the buffered data is controlled by menuconfig option
|
|
|
-// CONFIG_ESP32_APPTRACE_PENDING_DATA_SIZE_MAX.
|
|
|
+// CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX.
|
|
|
|
|
|
// 4.4 Target Connection/Disconnection
|
|
|
// -----------------------------------
|
|
|
@@ -158,13 +158,16 @@
|
|
|
#include <sys/param.h>
|
|
|
#include "soc/soc.h"
|
|
|
#include "soc/dport_reg.h"
|
|
|
+#if CONFIG_IDF_TARGET_ESP32S2BETA
|
|
|
+#include "soc/sensitive_reg.h"
|
|
|
+#endif
|
|
|
#include "eri.h"
|
|
|
#include "trax.h"
|
|
|
#include "soc/timer_periph.h"
|
|
|
#include "freertos/FreeRTOS.h"
|
|
|
#include "esp_app_trace.h"
|
|
|
|
|
|
-#if CONFIG_ESP32_APPTRACE_ENABLE
|
|
|
+#if CONFIG_APPTRACE_ENABLE
|
|
|
#define ESP_APPTRACE_MAX_VPRINTF_ARGS 256
|
|
|
#define ESP_APPTRACE_HOST_BUF_SIZE 256
|
|
|
|
|
|
@@ -202,10 +205,16 @@ const static char *TAG = "esp_apptrace";
|
|
|
#define ESP_APPTRACE_LOGO( format, ... ) ESP_APPTRACE_LOG_LEV(E, ESP_LOG_NONE, format, ##__VA_ARGS__)
|
|
|
|
|
|
// TODO: move these (and same definitions in trax.c to dport_reg.h)
|
|
|
+#if CONFIG_IDF_TARGET_ESP32
|
|
|
#define TRACEMEM_MUX_PROBLK0_APPBLK1 0
|
|
|
#define TRACEMEM_MUX_BLK0_ONLY 1
|
|
|
#define TRACEMEM_MUX_BLK1_ONLY 2
|
|
|
#define TRACEMEM_MUX_PROBLK1_APPBLK0 3
|
|
|
+#elif CONFIG_IDF_TARGET_ESP32S2BETA
|
|
|
+#define TRACEMEM_MUX_BLK0_NUM 19
|
|
|
+#define TRACEMEM_MUX_BLK1_NUM 20
|
|
|
+#define TRACEMEM_BLK_NUM2ADDR(_n_) (0x3FFB8000UL + 0x4000UL*((_n_)-4))
|
|
|
+#endif
|
|
|
|
|
|
// TRAX is disabled, so we use its registers for our own purposes
|
|
|
// | 31..XXXXXX..24 | 23 .(host_connect). 23 | 22 .(host_data). 22| 21..(block_id)..15 | 14..(block_len)..0 |
|
|
|
@@ -230,10 +239,17 @@ const static char *TAG = "esp_apptrace";
|
|
|
#endif
|
|
|
#define ESP_APPTRACE_USR_BLOCK_RAW_SZ(_s_) ((_s_) + sizeof(esp_tracedata_hdr_t))
|
|
|
|
|
|
+#if CONFIG_IDF_TARGET_ESP32
|
|
|
static volatile uint8_t *s_trax_blocks[] = {
|
|
|
(volatile uint8_t *) 0x3FFFC000,
|
|
|
(volatile uint8_t *) 0x3FFF8000
|
|
|
};
|
|
|
+#elif CONFIG_IDF_TARGET_ESP32S2BETA
|
|
|
+static volatile uint8_t *s_trax_blocks[] = {
|
|
|
+ (volatile uint8_t *)TRACEMEM_BLK_NUM2ADDR(TRACEMEM_MUX_BLK0_NUM),
|
|
|
+ (volatile uint8_t *)TRACEMEM_BLK_NUM2ADDR(TRACEMEM_MUX_BLK1_NUM)
|
|
|
+};
|
|
|
+#endif
|
|
|
|
|
|
#define ESP_APPTRACE_TRAX_BLOCKS_NUM (sizeof(s_trax_blocks)/sizeof(s_trax_blocks[0]))
|
|
|
|
|
|
@@ -293,17 +309,17 @@ typedef struct {
|
|
|
typedef struct {
|
|
|
volatile esp_apptrace_trax_state_t state; // state
|
|
|
esp_apptrace_mem_block_t blocks[ESP_APPTRACE_TRAX_BLOCKS_NUM]; // memory blocks
|
|
|
-#if CONFIG_ESP32_APPTRACE_PENDING_DATA_SIZE_MAX > 0
|
|
|
+#if CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX > 0
|
|
|
// ring buffer control struct for pending user blocks
|
|
|
esp_apptrace_rb_t rb_pend;
|
|
|
// storage for pending user blocks
|
|
|
- uint8_t pending_data[CONFIG_ESP32_APPTRACE_PENDING_DATA_SIZE_MAX + 1];
|
|
|
-#if CONFIG_ESP32_APPTRACE_PENDING_DATA_SIZE_MAX > ESP_APPTRACE_TRAX_BLOCK_SIZE
|
|
|
+ uint8_t pending_data[CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX + 1];
|
|
|
+#if CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX > ESP_APPTRACE_TRAX_BLOCK_SIZE
|
|
|
// ring buffer control struct for pending user data chunks sizes,
|
|
|
// every chunk contains whole number of user blocks and fit into TRAX memory block
|
|
|
esp_apptrace_rb_t rb_pend_chunk_sz;
|
|
|
// storage for above ring buffer data
|
|
|
- uint16_t pending_chunk_sz[CONFIG_ESP32_APPTRACE_PENDING_DATA_SIZE_MAX/ESP_APPTRACE_TRAX_BLOCK_SIZE + 2];
|
|
|
+ uint16_t pending_chunk_sz[CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX/ESP_APPTRACE_TRAX_BLOCK_SIZE + 2];
|
|
|
// current (accumulated) pending user data chunk size
|
|
|
uint16_t cur_pending_chunk_sz;
|
|
|
#endif
|
|
|
@@ -381,7 +397,7 @@ static inline void esp_apptrace_log_unlock(void)
|
|
|
|
|
|
static inline esp_err_t esp_apptrace_lock_initialize(esp_apptrace_lock_t *lock)
|
|
|
{
|
|
|
-#if CONFIG_ESP32_APPTRACE_LOCK_ENABLE
|
|
|
+#if CONFIG_APPTRACE_LOCK_ENABLE
|
|
|
esp_apptrace_lock_init(lock);
|
|
|
#endif
|
|
|
return ESP_OK;
|
|
|
@@ -394,7 +410,7 @@ static inline esp_err_t esp_apptrace_lock_cleanup(void)
|
|
|
|
|
|
esp_err_t esp_apptrace_lock(esp_apptrace_tmo_t *tmo)
|
|
|
{
|
|
|
-#if CONFIG_ESP32_APPTRACE_LOCK_ENABLE
|
|
|
+#if CONFIG_APPTRACE_LOCK_ENABLE
|
|
|
esp_err_t ret = esp_apptrace_lock_take(&s_trace_buf.lock, tmo);
|
|
|
if (ret != ESP_OK) {
|
|
|
return ESP_FAIL;
|
|
|
@@ -406,13 +422,24 @@ esp_err_t esp_apptrace_lock(esp_apptrace_tmo_t *tmo)
|
|
|
esp_err_t esp_apptrace_unlock(void)
|
|
|
{
|
|
|
esp_err_t ret = ESP_OK;
|
|
|
-#if CONFIG_ESP32_APPTRACE_LOCK_ENABLE
|
|
|
+#if CONFIG_APPTRACE_LOCK_ENABLE
|
|
|
ret = esp_apptrace_lock_give(&s_trace_buf.lock);
|
|
|
#endif
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
-#if CONFIG_ESP32_APPTRACE_DEST_TRAX
|
|
|
+#if CONFIG_APPTRACE_DEST_TRAX
|
|
|
+
|
|
|
+static inline void esp_apptrace_trax_select_memory_block(int block_num)
|
|
|
+{
|
|
|
+ // select memory block to be exposed to the TRAX module (accessed by host)
|
|
|
+#if CONFIG_IDF_TARGET_ESP32
|
|
|
+ DPORT_WRITE_PERI_REG(DPORT_TRACEMEM_MUX_MODE_REG, block_num ? TRACEMEM_MUX_BLK0_ONLY : TRACEMEM_MUX_BLK1_ONLY);
|
|
|
+#elif CONFIG_IDF_TARGET_ESP32S2BETA
|
|
|
+ DPORT_WRITE_PERI_REG(DPORT_PMS_OCCUPY_3_REG, block_num ? BIT(TRACEMEM_MUX_BLK0_NUM-4) : BIT(TRACEMEM_MUX_BLK1_NUM-4));
|
|
|
+#endif
|
|
|
+}
|
|
|
+
|
|
|
static void esp_apptrace_trax_init(void)
|
|
|
{
|
|
|
// Stop trace, if any (on the current CPU)
|
|
|
@@ -426,7 +453,7 @@ static void esp_apptrace_trax_init(void)
|
|
|
ESP_APPTRACE_LOGI("Initialized TRAX on CPU%d", xPortGetCoreID());
|
|
|
}
|
|
|
|
|
|
-#if CONFIG_ESP32_APPTRACE_PENDING_DATA_SIZE_MAX > ESP_APPTRACE_TRAX_BLOCK_SIZE
|
|
|
+#if CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX > ESP_APPTRACE_TRAX_BLOCK_SIZE
|
|
|
// keep the size of buffered data for copying to TRAX mem block.
|
|
|
// Only whole user blocks should be copied from buffer to TRAX block upon the switch
|
|
|
static void esp_apptrace_trax_pend_chunk_sz_update(uint16_t size)
|
|
|
@@ -499,7 +526,7 @@ static esp_err_t esp_apptrace_trax_block_switch(void)
|
|
|
// switch to new block
|
|
|
s_trace_buf.trax.state.in_block++;
|
|
|
|
|
|
- DPORT_WRITE_PERI_REG(DPORT_TRACEMEM_MUX_MODE_REG, new_block_num ? TRACEMEM_MUX_BLK0_ONLY : TRACEMEM_MUX_BLK1_ONLY);
|
|
|
+ esp_apptrace_trax_select_memory_block(new_block_num);
|
|
|
// handle data from host
|
|
|
esp_hostdata_hdr_t *hdr = (esp_hostdata_hdr_t *)s_trace_buf.trax.blocks[new_block_num].start;
|
|
|
if (ctrl_reg & ESP_APPTRACE_TRAX_HOST_DATA && hdr->block_sz > 0) {
|
|
|
@@ -517,9 +544,9 @@ static esp_err_t esp_apptrace_trax_block_switch(void)
|
|
|
}
|
|
|
hdr->block_sz = 0;
|
|
|
}
|
|
|
-#if CONFIG_ESP32_APPTRACE_PENDING_DATA_SIZE_MAX > 0
|
|
|
+#if CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX > 0
|
|
|
// copy pending data to TRAX block if any
|
|
|
-#if CONFIG_ESP32_APPTRACE_PENDING_DATA_SIZE_MAX > ESP_APPTRACE_TRAX_BLOCK_SIZE
|
|
|
+#if CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX > ESP_APPTRACE_TRAX_BLOCK_SIZE
|
|
|
uint16_t max_chunk_sz = esp_apptrace_trax_pend_chunk_sz_get();
|
|
|
#else
|
|
|
uint16_t max_chunk_sz = s_trace_buf.trax.blocks[new_block_num].sz;
|
|
|
@@ -527,7 +554,7 @@ static esp_err_t esp_apptrace_trax_block_switch(void)
|
|
|
while (s_trace_buf.trax.state.markers[new_block_num] < max_chunk_sz) {
|
|
|
uint32_t read_sz = esp_apptrace_rb_read_size_get(&s_trace_buf.trax.rb_pend);
|
|
|
if (read_sz == 0) {
|
|
|
-#if CONFIG_ESP32_APPTRACE_PENDING_DATA_SIZE_MAX > ESP_APPTRACE_TRAX_BLOCK_SIZE
|
|
|
+#if CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX > ESP_APPTRACE_TRAX_BLOCK_SIZE
|
|
|
/* theres is a bug: esp_apptrace_trax_pend_chunk_sz_get returned wrong value,
|
|
|
it must be greater or equal to one returned by esp_apptrace_rb_read_size_get */
|
|
|
ESP_APPTRACE_LOGE("No pended bytes, must be > 0 and <= %d!", max_chunk_sz);
|
|
|
@@ -670,7 +697,7 @@ static inline uint8_t *esp_apptrace_trax_wait4buf(uint16_t size, esp_apptrace_tm
|
|
|
return NULL;
|
|
|
}
|
|
|
// check if we still have pending data
|
|
|
-#if CONFIG_ESP32_APPTRACE_PENDING_DATA_SIZE_MAX > 0
|
|
|
+#if CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX > 0
|
|
|
if (esp_apptrace_rb_read_size_get(&s_trace_buf.trax.rb_pend) > 0) {
|
|
|
// if after TRAX block switch still have pending data (not all pending data have been pumped to TRAX block)
|
|
|
// alloc new pending buffer
|
|
|
@@ -684,7 +711,7 @@ static inline uint8_t *esp_apptrace_trax_wait4buf(uint16_t size, esp_apptrace_tm
|
|
|
{
|
|
|
// update block pointers
|
|
|
if (ESP_APPTRACE_TRAX_INBLOCK_MARKER() + size > ESP_APPTRACE_TRAX_INBLOCK_GET()->sz) {
|
|
|
-#if CONFIG_ESP32_APPTRACE_PENDING_DATA_SIZE_MAX > 0
|
|
|
+#if CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX > 0
|
|
|
*pended = 1;
|
|
|
ptr = esp_apptrace_rb_produce(&s_trace_buf.trax.rb_pend, size);
|
|
|
if (ptr == NULL) {
|
|
|
@@ -714,7 +741,7 @@ static uint8_t *esp_apptrace_trax_get_buffer(uint32_t size, esp_apptrace_tmo_t *
|
|
|
return NULL;
|
|
|
}
|
|
|
// check for data in the pending buffer
|
|
|
-#if CONFIG_ESP32_APPTRACE_PENDING_DATA_SIZE_MAX > 0
|
|
|
+#if CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX > 0
|
|
|
if (esp_apptrace_rb_read_size_get(&s_trace_buf.trax.rb_pend) > 0) {
|
|
|
// if we have buffered data try to switch TRAX block
|
|
|
esp_apptrace_trax_block_switch();
|
|
|
@@ -729,7 +756,7 @@ static uint8_t *esp_apptrace_trax_get_buffer(uint32_t size, esp_apptrace_tmo_t *
|
|
|
buf_ptr = esp_apptrace_trax_wait4buf(ESP_APPTRACE_USR_BLOCK_RAW_SZ(size), tmo, &pended_buf);
|
|
|
if (buf_ptr) {
|
|
|
if (pended_buf) {
|
|
|
-#if CONFIG_ESP32_APPTRACE_PENDING_DATA_SIZE_MAX > ESP_APPTRACE_TRAX_BLOCK_SIZE
|
|
|
+#if CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX > ESP_APPTRACE_TRAX_BLOCK_SIZE
|
|
|
esp_apptrace_trax_pend_chunk_sz_update(ESP_APPTRACE_USR_BLOCK_RAW_SZ(size));
|
|
|
#endif
|
|
|
} else {
|
|
|
@@ -739,18 +766,18 @@ static uint8_t *esp_apptrace_trax_get_buffer(uint32_t size, esp_apptrace_tmo_t *
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
|
-#if CONFIG_ESP32_APPTRACE_PENDING_DATA_SIZE_MAX > ESP_APPTRACE_TRAX_BLOCK_SIZE
|
|
|
+#if CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX > ESP_APPTRACE_TRAX_BLOCK_SIZE
|
|
|
esp_apptrace_trax_pend_chunk_sz_update(ESP_APPTRACE_USR_BLOCK_RAW_SZ(size));
|
|
|
#endif
|
|
|
}
|
|
|
} else
|
|
|
#endif
|
|
|
if (ESP_APPTRACE_TRAX_INBLOCK_MARKER() + ESP_APPTRACE_USR_BLOCK_RAW_SZ(size) > ESP_APPTRACE_TRAX_INBLOCK_GET()->sz) {
|
|
|
-#if CONFIG_ESP32_APPTRACE_PENDING_DATA_SIZE_MAX > 0
|
|
|
+#if CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX > 0
|
|
|
ESP_APPTRACE_LOGD("TRAX full. Get %d bytes from PEND buffer", size);
|
|
|
buf_ptr = esp_apptrace_rb_produce(&s_trace_buf.trax.rb_pend, ESP_APPTRACE_USR_BLOCK_RAW_SZ(size));
|
|
|
if (buf_ptr) {
|
|
|
-#if CONFIG_ESP32_APPTRACE_PENDING_DATA_SIZE_MAX > ESP_APPTRACE_TRAX_BLOCK_SIZE
|
|
|
+#if CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX > ESP_APPTRACE_TRAX_BLOCK_SIZE
|
|
|
esp_apptrace_trax_pend_chunk_sz_update(ESP_APPTRACE_USR_BLOCK_RAW_SZ(size));
|
|
|
#endif
|
|
|
}
|
|
|
@@ -761,7 +788,7 @@ static uint8_t *esp_apptrace_trax_get_buffer(uint32_t size, esp_apptrace_tmo_t *
|
|
|
buf_ptr = esp_apptrace_trax_wait4buf(ESP_APPTRACE_USR_BLOCK_RAW_SZ(size), tmo, &pended_buf);
|
|
|
if (buf_ptr) {
|
|
|
if (pended_buf) {
|
|
|
-#if CONFIG_ESP32_APPTRACE_PENDING_DATA_SIZE_MAX > ESP_APPTRACE_TRAX_BLOCK_SIZE
|
|
|
+#if CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX > ESP_APPTRACE_TRAX_BLOCK_SIZE
|
|
|
esp_apptrace_trax_pend_chunk_sz_update(ESP_APPTRACE_USR_BLOCK_RAW_SZ(size));
|
|
|
#endif
|
|
|
} else {
|
|
|
@@ -853,22 +880,23 @@ static esp_err_t esp_apptrace_trax_dest_init(void)
|
|
|
s_trace_buf.trax.state.markers[i] = 0;
|
|
|
}
|
|
|
s_trace_buf.trax.state.in_block = ESP_APPTRACE_TRAX_INBLOCK_START;
|
|
|
-#if CONFIG_ESP32_APPTRACE_PENDING_DATA_SIZE_MAX > 0
|
|
|
+#if CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX > 0
|
|
|
esp_apptrace_rb_init(&s_trace_buf.trax.rb_pend, s_trace_buf.trax.pending_data,
|
|
|
sizeof(s_trace_buf.trax.pending_data));
|
|
|
-#if CONFIG_ESP32_APPTRACE_PENDING_DATA_SIZE_MAX > ESP_APPTRACE_TRAX_BLOCK_SIZE
|
|
|
+#if CONFIG_APPTRACE_PENDING_DATA_SIZE_MAX > ESP_APPTRACE_TRAX_BLOCK_SIZE
|
|
|
s_trace_buf.trax.cur_pending_chunk_sz = 0;
|
|
|
esp_apptrace_rb_init(&s_trace_buf.trax.rb_pend_chunk_sz, (uint8_t *)s_trace_buf.trax.pending_chunk_sz,
|
|
|
sizeof(s_trace_buf.trax.pending_chunk_sz));
|
|
|
#endif
|
|
|
#endif
|
|
|
|
|
|
+#if CONFIG_IDF_TARGET_ESP32
|
|
|
DPORT_WRITE_PERI_REG(DPORT_PRO_TRACEMEM_ENA_REG, DPORT_PRO_TRACEMEM_ENA_M);
|
|
|
#if CONFIG_FREERTOS_UNICORE == 0
|
|
|
DPORT_WRITE_PERI_REG(DPORT_APP_TRACEMEM_ENA_REG, DPORT_APP_TRACEMEM_ENA_M);
|
|
|
#endif
|
|
|
- // Expose block 1 to host, block 0 is current trace input buffer
|
|
|
- DPORT_WRITE_PERI_REG(DPORT_TRACEMEM_MUX_MODE_REG, TRACEMEM_MUX_BLK1_ONLY);
|
|
|
+#endif
|
|
|
+ esp_apptrace_trax_select_memory_block(0);
|
|
|
|
|
|
return ESP_OK;
|
|
|
}
|
|
|
@@ -887,7 +915,7 @@ esp_err_t esp_apptrace_init(void)
|
|
|
ESP_APPTRACE_LOGE("Failed to init log lock (%d)!", res);
|
|
|
return res;
|
|
|
}
|
|
|
-#if CONFIG_ESP32_APPTRACE_DEST_TRAX
|
|
|
+#if CONFIG_APPTRACE_DEST_TRAX
|
|
|
res = esp_apptrace_trax_dest_init();
|
|
|
if (res != ESP_OK) {
|
|
|
ESP_APPTRACE_LOGE("Failed to init TRAX dest data (%d)!", res);
|
|
|
@@ -897,7 +925,7 @@ esp_err_t esp_apptrace_init(void)
|
|
|
#endif
|
|
|
}
|
|
|
|
|
|
-#if CONFIG_ESP32_APPTRACE_DEST_TRAX
|
|
|
+#if CONFIG_APPTRACE_DEST_TRAX
|
|
|
// init TRAX on this CPU
|
|
|
esp_apptrace_trax_init();
|
|
|
#endif
|
|
|
@@ -919,7 +947,7 @@ esp_err_t esp_apptrace_read(esp_apptrace_dest_t dest, void *buf, uint32_t *size,
|
|
|
esp_apptrace_hw_t *hw = NULL;
|
|
|
|
|
|
if (dest == ESP_APPTRACE_DEST_TRAX) {
|
|
|
-#if CONFIG_ESP32_APPTRACE_DEST_TRAX
|
|
|
+#if CONFIG_APPTRACE_DEST_TRAX
|
|
|
hw = ESP_APPTRACE_HW(ESP_APPTRACE_HW_TRAX);
|
|
|
#else
|
|
|
ESP_APPTRACE_LOGE("Application tracing via TRAX is disabled in menuconfig!");
|
|
|
@@ -956,7 +984,7 @@ uint8_t *esp_apptrace_down_buffer_get(esp_apptrace_dest_t dest, uint32_t *size,
|
|
|
esp_apptrace_hw_t *hw = NULL;
|
|
|
|
|
|
if (dest == ESP_APPTRACE_DEST_TRAX) {
|
|
|
-#if CONFIG_ESP32_APPTRACE_DEST_TRAX
|
|
|
+#if CONFIG_APPTRACE_DEST_TRAX
|
|
|
hw = ESP_APPTRACE_HW(ESP_APPTRACE_HW_TRAX);
|
|
|
#else
|
|
|
ESP_APPTRACE_LOGE("Application tracing via TRAX is disabled in menuconfig!");
|
|
|
@@ -980,7 +1008,7 @@ esp_err_t esp_apptrace_down_buffer_put(esp_apptrace_dest_t dest, uint8_t *ptr, u
|
|
|
esp_apptrace_hw_t *hw = NULL;
|
|
|
|
|
|
if (dest == ESP_APPTRACE_DEST_TRAX) {
|
|
|
-#if CONFIG_ESP32_APPTRACE_DEST_TRAX
|
|
|
+#if CONFIG_APPTRACE_DEST_TRAX
|
|
|
hw = ESP_APPTRACE_HW(ESP_APPTRACE_HW_TRAX);
|
|
|
#else
|
|
|
ESP_APPTRACE_LOGE("Application tracing via TRAX is disabled in menuconfig!");
|
|
|
@@ -1005,7 +1033,7 @@ esp_err_t esp_apptrace_write(esp_apptrace_dest_t dest, const void *data, uint32_
|
|
|
esp_apptrace_hw_t *hw = NULL;
|
|
|
|
|
|
if (dest == ESP_APPTRACE_DEST_TRAX) {
|
|
|
-#if CONFIG_ESP32_APPTRACE_DEST_TRAX
|
|
|
+#if CONFIG_APPTRACE_DEST_TRAX
|
|
|
hw = ESP_APPTRACE_HW(ESP_APPTRACE_HW_TRAX);
|
|
|
#else
|
|
|
ESP_APPTRACE_LOGE("Application tracing via TRAX is disabled in menuconfig!");
|
|
|
@@ -1041,7 +1069,7 @@ int esp_apptrace_vprintf_to(esp_apptrace_dest_t dest, uint32_t user_tmo, const c
|
|
|
esp_apptrace_hw_t *hw = NULL;
|
|
|
|
|
|
if (dest == ESP_APPTRACE_DEST_TRAX) {
|
|
|
-#if CONFIG_ESP32_APPTRACE_DEST_TRAX
|
|
|
+#if CONFIG_APPTRACE_DEST_TRAX
|
|
|
hw = ESP_APPTRACE_HW(ESP_APPTRACE_HW_TRAX);
|
|
|
#else
|
|
|
ESP_APPTRACE_LOGE("Application tracing via TRAX is disabled in menuconfig!");
|
|
|
@@ -1105,7 +1133,7 @@ uint8_t *esp_apptrace_buffer_get(esp_apptrace_dest_t dest, uint32_t size, uint32
|
|
|
esp_apptrace_hw_t *hw = NULL;
|
|
|
|
|
|
if (dest == ESP_APPTRACE_DEST_TRAX) {
|
|
|
-#if CONFIG_ESP32_APPTRACE_DEST_TRAX
|
|
|
+#if CONFIG_APPTRACE_DEST_TRAX
|
|
|
hw = ESP_APPTRACE_HW(ESP_APPTRACE_HW_TRAX);
|
|
|
#else
|
|
|
ESP_APPTRACE_LOGE("Application tracing via TRAX is disabled in menuconfig!");
|
|
|
@@ -1129,7 +1157,7 @@ esp_err_t esp_apptrace_buffer_put(esp_apptrace_dest_t dest, uint8_t *ptr, uint32
|
|
|
esp_apptrace_hw_t *hw = NULL;
|
|
|
|
|
|
if (dest == ESP_APPTRACE_DEST_TRAX) {
|
|
|
-#if CONFIG_ESP32_APPTRACE_DEST_TRAX
|
|
|
+#if CONFIG_APPTRACE_DEST_TRAX
|
|
|
hw = ESP_APPTRACE_HW(ESP_APPTRACE_HW_TRAX);
|
|
|
#else
|
|
|
ESP_APPTRACE_LOGE("Application tracing via TRAX is disabled in menuconfig!");
|
|
|
@@ -1153,7 +1181,7 @@ esp_err_t esp_apptrace_flush_nolock(esp_apptrace_dest_t dest, uint32_t min_sz, u
|
|
|
esp_apptrace_hw_t *hw = NULL;
|
|
|
|
|
|
if (dest == ESP_APPTRACE_DEST_TRAX) {
|
|
|
-#if CONFIG_ESP32_APPTRACE_DEST_TRAX
|
|
|
+#if CONFIG_APPTRACE_DEST_TRAX
|
|
|
hw = ESP_APPTRACE_HW(ESP_APPTRACE_HW_TRAX);
|
|
|
#else
|
|
|
ESP_APPTRACE_LOGE("Application tracing via TRAX is disabled in menuconfig!");
|
|
|
@@ -1197,7 +1225,7 @@ bool esp_apptrace_host_is_connected(esp_apptrace_dest_t dest)
|
|
|
esp_apptrace_hw_t *hw = NULL;
|
|
|
|
|
|
if (dest == ESP_APPTRACE_DEST_TRAX) {
|
|
|
-#if CONFIG_ESP32_APPTRACE_DEST_TRAX
|
|
|
+#if CONFIG_APPTRACE_DEST_TRAX
|
|
|
hw = ESP_APPTRACE_HW(ESP_APPTRACE_HW_TRAX);
|
|
|
#else
|
|
|
ESP_APPTRACE_LOGE("Application tracing via TRAX is disabled in menuconfig!");
|
|
|
@@ -1215,7 +1243,7 @@ esp_err_t esp_apptrace_status_reg_set(esp_apptrace_dest_t dest, uint32_t val)
|
|
|
esp_apptrace_hw_t *hw = NULL;
|
|
|
|
|
|
if (dest == ESP_APPTRACE_DEST_TRAX) {
|
|
|
-#if CONFIG_ESP32_APPTRACE_DEST_TRAX
|
|
|
+#if CONFIG_APPTRACE_DEST_TRAX
|
|
|
hw = ESP_APPTRACE_HW(ESP_APPTRACE_HW_TRAX);
|
|
|
#else
|
|
|
ESP_APPTRACE_LOGE("Application tracing via TRAX is disabled in menuconfig!");
|
|
|
@@ -1233,7 +1261,7 @@ esp_err_t esp_apptrace_status_reg_get(esp_apptrace_dest_t dest, uint32_t *val)
|
|
|
esp_apptrace_hw_t *hw = NULL;
|
|
|
|
|
|
if (dest == ESP_APPTRACE_DEST_TRAX) {
|
|
|
-#if CONFIG_ESP32_APPTRACE_DEST_TRAX
|
|
|
+#if CONFIG_APPTRACE_DEST_TRAX
|
|
|
hw = ESP_APPTRACE_HW(ESP_APPTRACE_HW_TRAX);
|
|
|
#else
|
|
|
ESP_APPTRACE_LOGE("Application tracing via TRAX is disabled in menuconfig!");
|