OpenOCD
esp_xtensa.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 
3 /***************************************************************************
4  * Generic ESP xtensa target implementation for OpenOCD *
5  * Copyright (C) 2019 Espressif Systems Ltd. *
6  ***************************************************************************/
7 
8 #ifndef OPENOCD_TARGET_ESP_XTENSA_H
9 #define OPENOCD_TARGET_ESP_XTENSA_H
10 
11 #include <target/target.h>
12 #include <target/xtensa/xtensa.h>
13 #include "esp_semihosting.h"
14 #include "esp.h"
15 #include "esp_xtensa_apptrace.h"
16 
18  struct xtensa xtensa; /* must be the first element */
19  struct esp_common esp;
22 };
23 
24 static inline struct esp_xtensa_common *target_to_esp_xtensa(struct target *target)
25 {
27 }
28 
30  struct esp_xtensa_common *esp_xtensa,
31  struct xtensa_debug_module_config *dm_cfg,
32  const struct esp_semihost_ops *semihost_ops);
33 int esp_xtensa_target_init(struct command_context *cmd_ctx, struct target *target);
39 int esp_xtensa_poll(struct target *target);
40 int esp_xtensa_profiling(struct target *target, uint32_t *samples,
41  uint32_t max_num_samples, uint32_t *num_samples, uint32_t seconds);
42 
44 
45 #endif /* OPENOCD_TARGET_ESP_XTENSA_H */
int esp_xtensa_init_arch_info(struct target *target, struct esp_xtensa_common *esp_xtensa, struct xtensa_debug_module_config *dm_cfg, const struct esp_semihost_ops *semihost_ops)
Definition: esp_xtensa.c:65
int esp_xtensa_poll(struct target *target)
Definition: esp_xtensa.c:105
void esp_xtensa_queue_tdi_idle(struct target *target)
int esp_xtensa_arch_state(struct target *target)
Definition: esp_xtensa.c:100
void esp_xtensa_target_deinit(struct target *target)
Definition: esp_xtensa.c:87
int esp_xtensa_target_init(struct command_context *cmd_ctx, struct target *target)
Definition: esp_xtensa.c:82
int esp_xtensa_breakpoint_remove(struct target *target, struct breakpoint *breakpoint)
Definition: esp_xtensa.c:177
int esp_xtensa_breakpoint_add(struct target *target, struct breakpoint *breakpoint)
Definition: esp_xtensa.c:171
int esp_xtensa_on_halt(struct target *target)
Definition: esp_xtensa.c:58
int esp_xtensa_profiling(struct target *target, uint32_t *samples, uint32_t max_num_samples, uint32_t *num_samples, uint32_t seconds)
Definition: esp_xtensa.c:183
static struct esp_xtensa_common * target_to_esp_xtensa(struct target *target)
Definition: esp_xtensa.h:24
Definition: esp.h:79
Semihost calls handling operations.
struct esp_semihost_data semihost
Definition: esp_xtensa.h:20
struct esp_xtensa_apptrace_info apptrace
Definition: esp_xtensa.h:21
struct esp_common esp
Definition: esp_xtensa.h:19
Definition: target.h:116
void * arch_info
Definition: target.h:164
Represents a generic Xtensa core.
Definition: xtensa.h:241
#define container_of(ptr, type, member)
Cast a member of a structure out to the containing structure.
Definition: types.h:68
Holds the interface to Xtensa cores.