18 #define MEM_AP_COMMON_MAGIC 0x4DE4DA50
107 int handle_breakpoints,
int debug_execution)
116 int handle_breakpoints)
200 #define MAX_REG_SIZE 96
201 #define REG_EXIST(n) ((n) < 16)
202 #define REG_SIZE(n) ((((n) >= 16) && ((n) < 24)) ? 96 : 32)
224 for (
int i = 0; i <
NUM_REGS; i++) {
230 (*reg_list)[i] = &
regs[i];
242 "; size %" PRIu32
"; count %" PRIu32, address,
size,
count);
257 "; size %" PRIu32
"; count %" PRIu32, address,
size,
count);
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
The JTAG interface can be implemented with a software or hardware fifo.
static const struct @101 regs[]
#define LOG_ERROR(expr ...)
#define LOG_DEBUG(expr ...)
static const char * mem_ap_get_gdb_arch(struct target *target)
static int mem_ap_assert_reset(struct target *target)
static int mem_ap_poll(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)
size_t size
Size of the control block search area.
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 void target_set_examined(struct target *target)
Sets the examined flag for the given target.
static bool target_was_examined(struct target *target)