1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
22
23
27
28
39
40
44
45
49
50
#include <stdio.h>
#include <stdbool.h>
#include "esp_err.h"
#include "xtensa-debug-module.h"
#include "eri.h"5 includes
bool xt_trax_trace_is_active(void)
{
return eri_read(ERI_TRAX_TRAXSTAT)&TRAXSTAT_TRACT;
}{ ... }
static void _xt_trax_start_trace(bool instructions)
{
uint32_t v;
eri_write(ERI_TRAX_PCMATCHCTRL, 31);
v=TRAXCTRL_TREN | TRAXCTRL_TMEN | TRAXCTRL_PTOWS | (1<<TRAXCTRL_SMPER_SHIFT);
if (instructions) {
v|=TRAXCTRL_CNTU;
}{...}
eri_write(ERI_TRAX_TRAXCTRL, v);
}{ ... }
void xt_trax_start_trace_instructions(void)
{
_xt_trax_start_trace(true);
}{ ... }
void xt_trax_start_trace_words(void)
{
_xt_trax_start_trace(false);
}{ ... }
void xt_trax_trigger_traceend_after_delay(int delay)
{
eri_write(ERI_TRAX_DELAYCNT, delay);
eri_write(ERI_TRAX_TRAXCTRL, eri_read(ERI_TRAX_TRAXCTRL)|TRAXCTRL_TRSTP);
eri_write(ERI_TRAX_TRAXCTRL, 0);
}{ ... }