1
6
7
8
9
10
11
12
13
14
15
20
21
22
23
24
25
26
27
28
29
30
31
32
33
39
40
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
136
140
141
145
149
150
151
152
153
/* ... */
#pragma once
#ifdef __cplusplus
extern "C" {
#endif
#ifndef __ASSEMBLER__
#include <stdbool.h>
#include "sdkconfig.h"
#include "soc/soc.h"
#include "esp_err.h"
#include "esp_cpu.h"5 includes
/* ... */
typedef struct {
uint32_t pc;
uint32_t sp;
uint32_t next_pc;
const void *exc_frame;
}{ ... } esp_backtrace_frame_t;
/* ... */
void esp_set_breakpoint_if_jtag(void *fn);
/* ... */
extern void esp_backtrace_get_start(uint32_t *pc, uint32_t *sp, uint32_t *next_pc);
/* ... */
bool esp_backtrace_get_next_frame(esp_backtrace_frame_t *frame);
/* ... */
esp_err_t esp_backtrace_print_from_frame(int depth, const esp_backtrace_frame_t* frame, bool panic);
/* ... */
esp_err_t esp_backtrace_print(int depth);
/* ... */
esp_err_t esp_backtrace_print_all_tasks(int depth);
/* ... */
static inline __attribute__((deprecated)) esp_err_t esp_set_watchpoint(int no, void *adr, int size, int flags)
{
return esp_cpu_set_watchpoint(no, adr, size, (esp_cpu_watchpoint_trigger_t)flags);
}{ ... }
/* ... */
static inline __attribute__((deprecated)) void esp_clear_watchpoint(int no)
{
esp_cpu_clear_watchpoint(no);
}{ ... }
/* ... */#endif
#ifdef __cplusplus
}{...}
#endif