OpenOCD
esp32_apptrace_cmd_ctx::cpus
is only used within OpenOCD.
Symbol previews are coming soon...
Symbols
loading...
Files
loading...
CodeScope
Development Tools
OpenOCD
esp32_apptrace_cmd_ctx::cpus
esp32_apptrace_cmd_ctx::cpus field
Syntax
from
esp32_apptrace.h:80
struct
target
*
cpus
[
ESP32_APPTRACE_MAX_CORES_NUM
]
;
References
Location
Referrer
Text
esp32_apptrace.h:80
struct
target
*
cpus
[
ESP32_APPTRACE_MAX_CORES_NUM
]
;
esp32_apptrace.c:429
esp32_apptrace_cmd_ctx_init()
cmd_ctx
->
cpus
[
i
++
]
=
curr
;
esp32_apptrace.c:433
esp32_apptrace_cmd_ctx_init()
cmd_ctx
->
cpus
[
0
]
=
target
;
esp32_apptrace.c:447
esp32_apptrace_cmd_ctx_init()
cmd_ctx
->
max_trace_block_sz
=
cmd_ctx
->
hw
->
max_block_size_get
(
cmd_ctx
->
cpus
[
0
]
)
;
esp32_apptrace.c:669
esp32_apptrace_safe_halt_targets()
if
(
!
target_was_examined
(
ctx
->
cpus
[
k
]
)
)
esp32_apptrace.c:671
esp32_apptrace_safe_halt_targets()
if
(
ctx
->
cpus
[
k
]
->
state
==
TARGET_HALTED
)
esp32_apptrace.c:673
esp32_apptrace_safe_halt_targets()
res
=
target_halt
(
ctx
->
cpus
[
k
]
)
;
esp32_apptrace.c:678
esp32_apptrace_safe_halt_targets()
res
=
target_wait_state
(
ctx
->
cpus
[
k
]
,
TARGET_HALTED
,
ESP32_APPTRACE_TGT_STATE_TMO
)
;
esp32_apptrace.c:681
esp32_apptrace_safe_halt_targets()
target_name
(
ctx
->
cpus
[
k
]
)
,
esp32_apptrace.c:682
esp32_apptrace_safe_halt_targets()
ctx
->
cpus
[
k
]
->
state
,
esp32_apptrace.c:691
esp32_apptrace_safe_halt_targets()
res
=
ctx
->
hw
->
status_reg_read
(
ctx
->
cpus
[
k
]
,
&
stat
)
;
esp32_apptrace.c:699
esp32_apptrace_safe_halt_targets()
res
=
ctx
->
hw
->
leave_trace_crit_section_start
(
ctx
->
cpus
[
k
]
)
;
esp32_apptrace.c:704
esp32_apptrace_safe_halt_targets()
res
=
breakpoint_add
(
ctx
->
cpus
[
k
]
,
bp_addr
,
1
,
BKPT_HARD
)
;
esp32_apptrace.c:711
esp32_apptrace_safe_halt_targets()
res
=
target_resume
(
ctx
->
cpus
[
k
]
,
1
,
0
,
1
,
0
)
;
esp32_apptrace.c:714
esp32_apptrace_safe_halt_targets()
breakpoint_remove
(
ctx
->
cpus
[
k
]
,
bp_addr
)
;
esp32_apptrace.c:720
esp32_apptrace_safe_halt_targets()
res
=
target_wait_state
(
ctx
->
cpus
[
k
]
,
TARGET_HALTED
,
esp32_apptrace.c:724
esp32_apptrace_safe_halt_targets()
breakpoint_remove
(
ctx
->
cpus
[
k
]
,
bp_addr
)
;
esp32_apptrace.c:727
esp32_apptrace_safe_halt_targets()
debug_reason
=
ctx
->
cpus
[
k
]
->
debug_reason
;
esp32_apptrace.c:729
esp32_apptrace_safe_halt_targets()
res
=
ctx
->
hw
->
status_reg_read
(
ctx
->
cpus
[
k
]
,
&
stat
)
;
esp32_apptrace.c:732
esp32_apptrace_safe_halt_targets()
breakpoint_remove
(
ctx
->
cpus
[
k
]
,
bp_addr
)
;
esp32_apptrace.c:736
esp32_apptrace_safe_halt_targets()
breakpoint_remove
(
ctx
->
cpus
[
k
]
,
bp_addr
)
;
esp32_apptrace.c:738
esp32_apptrace_safe_halt_targets()
res
=
ctx
->
hw
->
leave_trace_crit_section_stop
(
ctx
->
cpus
[
k
]
)
;
esp32_apptrace.c:743
esp32_apptrace_safe_halt_targets()
res
=
ctx
->
hw
->
data_len_read
(
ctx
->
cpus
[
k
]
,
&
targets
[
k
]
.
block_id
,
&
targets
[
k
]
.
data_len
)
;
esp32_apptrace.c:781
esp32_apptrace_connect_targets()
res
=
ctx
->
hw
->
ctrl_reg_write
(
ctx
->
cpus
[
k
]
,
esp32_apptrace.c:795
esp32_apptrace_connect_targets()
if
(
smp_resumed
&&
ctx
->
cpus
[
k
]
->
smp
)
{
esp32_apptrace.c:799
esp32_apptrace_connect_targets()
res
=
target_resume
(
ctx
->
cpus
[
k
]
,
1
,
0
,
1
,
0
)
;
esp32_apptrace.c:804
esp32_apptrace_connect_targets()
if
(
ctx
->
cpus
[
k
]
->
smp
)
esp32_apptrace.c:858
esp32_apptrace_get_data_info()
int
res
=
ctx
->
hw
->
data_len_read
(
ctx
->
cpus
[
i
]
,
&
target_state
[
i
]
.
block_id
,
&
target_state
[
i
]
.
data_len
)
;
esp32_apptrace.c:860
esp32_apptrace_get_data_info()
LOG_ERROR
(
"Failed to read data len on (%s)!"
,
target_name
(
ctx
->
cpus
[
i
]
)
)
;
esp32_apptrace.c:864
esp32_apptrace_get_data_info()
LOG_TARGET_DEBUG
(
ctx
->
cpus
[
i
]
,
"Block %"
PRId32
", len %"
PRId32
" bytes on fired"
,
esp32_apptrace.c:976
esp32_apptrace_check_connection()
int
res
=
ctx
->
hw
->
ctrl_reg_read
(
ctx
->
cpus
[
i
]
,
NULL
,
NULL
,
&
conn
)
;
esp32_apptrace.c:983
esp32_apptrace_check_connection()
LOG_TARGET_WARNING
(
ctx
->
cpus
[
i
]
,
"apptrace connection is lost. Re-connect."
)
;
esp32_apptrace.c:984
esp32_apptrace_check_connection()
res
=
ctx
->
hw
->
status_reg_read
(
ctx
->
cpus
[
i
]
,
&
stat
)
;
esp32_apptrace.c:990
esp32_apptrace_check_connection()
LOG_TARGET_WARNING
(
ctx
->
cpus
[
i
]
,
"in critical state. Retry in next poll"
)
;
esp32_apptrace.c:997
esp32_apptrace_check_connection()
res
=
ctx
->
hw
->
ctrl_reg_write
(
ctx
->
cpus
[
i
]
,
esp32_apptrace.c:1069
esp32_apptrace_poll()
LOG_TARGET_DEBUG
(
ctx
->
cpus
[
i
]
,
"Ack empty block %"
PRId32
"!"
,
max_block_id
)
;
esp32_apptrace.c:1070
esp32_apptrace_poll()
res
=
ctx
->
hw
->
ctrl_reg_write
(
ctx
->
cpus
[
i
]
,
esp32_apptrace.c:1077
esp32_apptrace_poll()
LOG_TARGET_ERROR
(
ctx
->
cpus
[
i
]
,
"Failed to ack empty data block!"
)
;
esp32_apptrace.c:1114
esp32_apptrace_poll()
LOG_TARGET_ERROR
(
ctx
->
cpus
[
fired_target_num
]
,
"Failed to get free block for data!"
)
;
esp32_apptrace.c:1125
esp32_apptrace_poll()
res
=
ctx
->
hw
->
data_read
(
ctx
->
cpus
[
fired_target_num
]
,
target_state
[
fired_target_num
]
.
data_len
,
block
->
data
,
esp32_apptrace.c:1132
esp32_apptrace_poll()
LOG_TARGET_ERROR
(
ctx
->
cpus
[
fired_target_num
]
,
"Failed to read data!"
)
;
esp32_apptrace.c:1163
esp32_apptrace_poll()
res
=
ctx
->
hw
->
ctrl_reg_write
(
ctx
->
cpus
[
i
]
,
esp32_apptrace.c:1170
esp32_apptrace_poll()
LOG_TARGET_ERROR
(
ctx
->
cpus
[
i
]
,
"Failed to ack data!"
)
;
esp32_apptrace.c:1173
esp32_apptrace_poll()
LOG_TARGET_DEBUG
(
ctx
->
cpus
[
i
]
,
"Ack block %"
PRId32
,
ctx
->
last_blk_id
)
;
esp32_apptrace.c:1178
esp32_apptrace_poll()
LOG_TARGET_ERROR
(
ctx
->
cpus
[
fired_target_num
]
,
"Failed to put ready block of data!"
)
;
esp32_apptrace.c:1270
esp32_sysview_start()
res
=
esp_apptrace_usr_block_write
(
ctx
->
hw
,
ctx
->
cpus
[
fired_target_num
]
,
target_state
[
fired_target_num
]
.
block_id
,
esp32_apptrace.c:1290
esp32_sysview_stop()
LOG_ERROR
(
"Failed to get free block for data on (%s)!"
,
target_name
(
ctx
->
cpus
[
fired_target_num
]
)
)
;
esp32_apptrace.c:1311
esp32_sysview_stop()
res
=
ctx
->
hw
->
data_read
(
ctx
->
cpus
[
fired_target_num
]
,
target_state
[
fired_target_num
]
.
data_len
,
block
->
data
,
esp32_apptrace.c:1315
esp32_sysview_stop()
LOG_ERROR
(
"sysview: Failed to read data on (%s)!"
,
target_name
(
ctx
->
cpus
[
fired_target_num
]
)
)
;
esp32_apptrace.c:1327
esp32_sysview_stop()
res
=
esp_apptrace_usr_block_write
(
ctx
->
hw
,
ctx
->
cpus
[
fired_target_num
]
,
target_state
[
fired_target_num
]
.
block_id
,
esp32_apptrace.c:1337
esp32_sysview_stop()
res
=
ctx
->
hw
->
ctrl_reg_write
(
ctx
->
cpus
[
empty_target_num
]
,
target_state
[
fired_target_num
]
.
block_id
,
esp32_apptrace.c:1343
esp32_sysview_stop()
target_name
(
ctx
->
cpus
[
empty_target_num
]
)
,
res
)
;
esp32_apptrace.c:1351
esp32_sysview_stop()
if
(
smp_resumed
&&
ctx
->
cpus
[
k
]
->
smp
)
{
esp32_apptrace.c:1355
esp32_sysview_stop()
res
=
target_resume
(
ctx
->
cpus
[
k
]
,
1
,
0
,
1
,
0
)
;
esp32_apptrace.c:1357
esp32_sysview_stop()
LOG_ERROR
(
"sysview: Failed to resume target '%s' (%d)!"
,
target_name
(
ctx
->
cpus
[
k
]
)
,
res
)
;
esp32_apptrace.c:1360
esp32_sysview_stop()
if
(
ctx
->
cpus
[
k
]
->
smp
)
esp32_apptrace.c:1387
esp32_sysview_stop()
res
=
ctx
->
hw
->
data_read
(
ctx
->
cpus
[
fired_target_num
]
,
esp32_apptrace.c:1393
esp32_sysview_stop()
LOG_ERROR
(
"sysview: Failed to read last data on (%s)!"
,
target_name
(
ctx
->
cpus
[
fired_target_num
]
)
)
;
esp32_apptrace.c:1398
esp32_sysview_stop()
res
=
ctx
->
hw
->
ctrl_reg_write
(
ctx
->
cpus
[
empty_target_num
]
,
esp32_apptrace.c:1405
esp32_sysview_stop()
target_name
(
ctx
->
cpus
[
empty_target_num
]
)
,
res
)
;
Data Use
Functions reading
esp32_apptrace_cmd_ctx::cpus
esp32_apptrace_cmd_ctx::cpus
esp32_apptrace_cmd_ctx_init()
esp32_apptrace_safe_halt_targets()
esp32_apptrace_connect_targets()
esp32_apptrace_get_data_info()
esp32_apptrace_check_connection()
esp32_apptrace_poll()
esp32_sysview_start()
esp32_sysview_stop()
all items filtered out
Type of
esp32_apptrace_cmd_ctx::cpus
esp32_apptrace_cmd_ctx::cpus
target
all items filtered out