14 #ifndef OPENOCD_TARGET_TARGET_TYPE_H
15 #define OPENOCD_TARGET_TARGET_TYPE_H
46 int handle_breakpoints,
int debug_execution);
48 int handle_breakpoints);
106 struct reg **reg_list[],
int *reg_list_size,
136 uint32_t
count, uint32_t *checksum);
139 uint8_t erased_value);
182 struct mem_param *mem_params,
int num_reg_params,
184 target_addr_t exit_point,
unsigned int timeout_ms,
void *arch_info);
186 struct mem_param *mem_params,
int num_reg_params,
190 struct mem_param *mem_params,
int num_reg_params,
192 unsigned int timeout_ms,
void *arch_info);
301 uint32_t max_num_samples, uint32_t *num_samples, uint32_t seconds);
size_t size
Size of the control block search area.
A TCL -ish GetOpt like code.
This holds methods shared between all instances of a given target type.
int(* add_context_breakpoint)(struct target *target, struct breakpoint *breakpoint)
int(* add_breakpoint)(struct target *target, struct breakpoint *breakpoint)
int(* write_memory)(struct target *target, target_addr_t address, uint32_t size, uint32_t count, const uint8_t *buffer)
Target memory write callback.
int(* hit_watchpoint)(struct target *target, struct watchpoint **hit_watchpoint)
const char * name
Name of this type of target.
int(* deassert_reset)(struct target *target)
The implementation is responsible for polling the target such that target->state reflects the state c...
int(* init_target)(struct command_context *cmd_ctx, struct target *target)
int(* get_gdb_reg_list)(struct target *target, struct reg **reg_list[], int *reg_list_size, enum target_register_class reg_class)
Target register access for GDB.
int(* target_request_data)(struct target *target, uint32_t size, uint8_t *buffer)
int(* target_create)(struct target *target, Jim_Interp *interp)
void(* deinit_target)(struct target *target)
Free all the resources allocated by the target.
int(* halt)(struct target *target)
int(* check_reset)(struct target *target)
int(* gdb_fileio_end)(struct target *target, int retcode, int fileio_errno, bool ctrl_c)
int(* blank_check_memory)(struct target *target, struct target_memory_check_block *blocks, int num_blocks, uint8_t erased_value)
int(* assert_reset)(struct target *target)
int(* run_algorithm)(struct target *target, int num_mem_params, struct mem_param *mem_params, int num_reg_params, struct reg_param *reg_param, target_addr_t entry_point, target_addr_t exit_point, unsigned int timeout_ms, void *arch_info)
Target algorithm support.
int(* resume)(struct target *target, int current, target_addr_t address, int handle_breakpoints, int debug_execution)
int(* wait_algorithm)(struct target *target, int num_mem_params, struct mem_param *mem_params, int num_reg_params, struct reg_param *reg_param, target_addr_t exit_point, unsigned int timeout_ms, void *arch_info)
const struct command_registration * commands
int(* profiling)(struct target *target, uint32_t *samples, uint32_t max_num_samples, uint32_t *num_samples, uint32_t seconds)
int(* soft_reset_halt)(struct target *target)
int(* arch_state)(struct target *target)
unsigned int(* address_bits)(struct target *target)
int(* read_memory)(struct target *target, target_addr_t address, uint32_t size, uint32_t count, uint8_t *buffer)
Target memory read callback.
int(* get_gdb_fileio_info)(struct target *target, struct gdb_fileio_info *fileio_info)
unsigned int(* data_bits)(struct target *target)
int(* target_jim_configure)(struct target *target, struct jim_getopt_info *goi)
int(* read_phys_memory)(struct target *target, target_addr_t phys_address, uint32_t size, uint32_t count, uint8_t *buffer)
int(* get_gdb_reg_list_noread)(struct target *target, struct reg **reg_list[], int *reg_list_size, enum target_register_class reg_class)
Same as get_gdb_reg_list, but doesn't read the register values.
int(* mmu)(struct target *target, int *enabled)
int(* start_algorithm)(struct target *target, int num_mem_params, struct mem_param *mem_params, int num_reg_params, struct reg_param *reg_param, target_addr_t entry_point, target_addr_t exit_point, void *arch_info)
int(* read_buffer)(struct target *target, target_addr_t address, uint32_t size, uint8_t *buffer)
int(* step)(struct target *target, int current, target_addr_t address, int handle_breakpoints)
int(* add_watchpoint)(struct target *target, struct watchpoint *watchpoint)
int(* write_buffer)(struct target *target, target_addr_t address, uint32_t size, const uint8_t *buffer)
int(* poll)(struct target *target)
int(* add_hybrid_breakpoint)(struct target *target, struct breakpoint *breakpoint)
int(* examine)(struct target *target)
This method is used to perform target setup that requires JTAG access.
int(* write_phys_memory)(struct target *target, target_addr_t phys_address, uint32_t size, uint32_t count, const uint8_t *buffer)
int(* target_jim_commands)(struct target *target, struct jim_getopt_info *goi)
int(* remove_breakpoint)(struct target *target, struct breakpoint *breakpoint)
int(* gdb_query_custom)(struct target *target, const char *packet, char **response_p)
int(* virt2phys)(struct target *target, target_addr_t address, target_addr_t *physical)
int(* checksum_memory)(struct target *target, target_addr_t address, uint32_t count, uint32_t *checksum)
int(* remove_watchpoint)(struct target *target, struct watchpoint *watchpoint)
struct target_type esp32s3_target
Holds methods for Xtensa targets.
struct target_type arm966e_target
Holds methods for ARM966 targets.
struct target_type avr32_ap7k_target
struct target_type testee_target
struct target_type esirisc_target
struct target_type cortexm_target
struct target_type arm926ejs_target
Holds methods for ARM926 targets.
struct target_type mem_ap_target
struct target_type dragonite_target
struct target_type stm8_target
struct target_type arcv2_target
struct target_type cortexr4_target
struct target_type quark_d20xx_target
struct target_type mips_mips64_target
struct target_type feroceon_target
struct target_type arm9tdmi_target
Holds methods for ARM9TDMI targets.
struct target_type or1k_target
struct target_type quark_x10xx_target
struct target_type esp32s2_target
struct target_type riscv_target
struct target_type esp32_target
Holds methods for Xtensa targets.
struct target_type xtensa_chip_target
Methods for generic example of Xtensa-based chip-level targets.
struct target_type aarch64_target
struct target_type arm946e_target
Holds methods for ARM946 targets.
struct target_type arm11_target
Holds methods for ARM11xx targets.
struct target_type arm7tdmi_target
Holds methods for ARM7TDMI targets.
struct target_type arm920t_target
Holds methods for ARM920 targets.
struct target_type arm720t_target
Holds methods for ARM720 targets.
struct target_type avr_target
struct target_type mips_m4k_target
struct target_type hla_target
struct target_type armv8r_target
struct target_type dsp5680xx_target
Holds methods for dsp5680xx targets.
struct target_type dsp563xx_target
Holds methods for DSP563XX targets.
struct target_type fa526_target
Holds methods for FA526 targets.
struct target_type ls1_sap_target
struct target_type cortexa_target
struct target_type xscale_target