18 #define MEM_AP_COMMON_MAGIC 0x4DE4DA50
106 int handle_breakpoints,
int debug_execution)
115 int handle_breakpoints)
199 #define NUM_GDB_REGS 16
200 #define MAX_REG_SIZE 96
201 #define REG_SIZE(n) ((((n) >= 16) && ((n) < 24)) ? 96 : 32)
223 for (
int i = 0; i <
NUM_REGS; i++) {
227 regs[i].exist =
true;
229 (*reg_list)[i] = &
regs[i];
int mem_ap_read_buf(struct adiv5_ap *ap, uint8_t *buffer, uint32_t size, uint32_t count, target_addr_t address)
int adiv5_jim_configure(struct target *target, struct jim_getopt_info *goi)
struct adiv5_ap * dap_get_ap(struct adiv5_dap *dap, uint64_t ap_num)
int dap_put_ap(struct adiv5_ap *ap)
int mem_ap_init(struct adiv5_ap *ap)
Initialize a DAP.
int mem_ap_write_buf(struct adiv5_ap *ap, const uint8_t *buffer, uint32_t size, uint32_t count, target_addr_t address)
This defines formats and data structures used to talk to ADIv5 entities.
#define ERROR_COMMAND_SYNTAX_ERROR
uint64_t buffer
Pointer to data buffer to send over SPI.
uint32_t size
Size of dw_spi_transaction::buffer.
uint32_t address
Starting address. Sector aligned.
The JTAG interface can be implemented with a software or hardware fifo.
static const struct @109 regs[]
#define LOG_TARGET_ERROR(target, fmt_str,...)
#define LOG_TARGET_DEBUG(target, fmt_str,...)
static int mem_ap_assert_reset(struct target *target)
static int mem_ap_poll(struct target *target)
static const char * mem_ap_get_gdb_arch(const struct target *target)
static int mem_ap_get_gdb_reg_list(struct target *target, struct reg **reg_list[], int *reg_list_size, enum target_register_class reg_class)
static int mem_ap_target_create(struct target *target, Jim_Interp *interp)
struct target_type mem_ap_target
static int mem_ap_reg_get(struct reg *reg)
static int mem_ap_examine(struct target *target)
static int mem_ap_halt(struct target *target)
#define MEM_AP_COMMON_MAGIC
static int mem_ap_write_memory(struct target *target, target_addr_t address, uint32_t size, uint32_t count, const uint8_t *buffer)
static int mem_ap_deassert_reset(struct target *target)
static int mem_ap_resume(struct target *target, int current, target_addr_t address, int handle_breakpoints, int debug_execution)
static int mem_ap_read_memory(struct target *target, target_addr_t address, uint32_t size, uint32_t count, uint8_t *buffer)
static int mem_ap_arch_state(struct target *target)
static struct reg_arch_type mem_ap_reg_arch_type
static int mem_ap_reg_set(struct reg *reg, uint8_t *buf)
static void mem_ap_deinit_target(struct target *target)
static int mem_ap_step(struct target *target, int current, target_addr_t address, int handle_breakpoints)
static int mem_ap_init_target(struct command_context *cmd_ctx, struct target *target)
This represents an ARM Debug Interface (v5) Access Port (AP).
This represents an ARM Debug Interface (v5) Debug Access Port (DAP).
struct reg regs[NUM_REGS]
uint8_t regs_value[MAX_REG_SIZE/8]
struct reg * reg_list[NUM_REGS]
int(* get)(struct reg *reg)
This holds methods shared between all instances of a given target type.
const char * name
Name of this type of target.
enum target_debug_reason debug_reason
int target_call_event_callbacks(struct target *target, enum target_event event)
static bool target_was_examined(const struct target *target)
static void target_set_examined(struct target *target)
Sets the examined flag for the given target.