target_type is only used within OpenOCD.
 
Symbols
loading...
Files
loading...

target_type struct

This holds methods shared between all instances of a given target type. For example, all Cortex-M3 targets on a scan chain share the same method table.

Syntax

struct target_type;
Implemented in target_type.h:26

Fields

name

Name of this type of target. Do @b not access this field directly, use target_type_name() instead. Read more...

poll

No summary provided. Read more...

arch_state

No summary provided. Read more...

target_request_data

No summary provided. Read more...

halt

No summary provided. Read more...

resume

No summary provided. Read more...

step

No summary provided. Read more...

assert_reset

No summary provided. Read more...

deassert_reset

The implementation is responsible for polling the target such that target->state reflects the state correctly. Otherwise the following would fail, as there will not be any "poll" invoked between the "reset run" and "halt". reset run; halt. Read more...

soft_reset_halt

No summary provided. Read more...

get_gdb_arch

Target architecture for GDB. The string returned by this function will not be automatically freed; if dynamic allocation is used for this value, it must be managed by the target, ideally by caching the result for subsequent calls. Read more...

get_gdb_reg_list

Target register access for GDB. Do @b not call this function directly, use target_get_gdb_reg_list() instead. Danger! this function will succeed even if the target is running and return a register list with dummy values. The reason is that GDB connection will fail without a valid register list, however it is after GDB is connected that monitor commands can be run to properly initialize the target. Read more...

get_gdb_reg_list_noread

Same as get_gdb_reg_list, but doesn't read the register values. Read more...

read_memory

Target memory read callback. Do @b not call this function directly, use target_read_memory() instead. Read more...

write_memory

Target memory write callback. Do @b not call this function directly, use target_write_memory() instead. Read more...

read_buffer

No summary provided. Read more...

write_buffer

No summary provided. Read more...

checksum_memory

No summary provided. Read more...

blank_check_memory

No summary provided. Read more...

add_breakpoint

No summary provided. Read more...

add_context_breakpoint

No summary provided. Read more...

add_hybrid_breakpoint

No summary provided. Read more...

remove_breakpoint

No summary provided. Read more...

add_watchpoint

No summary provided. Read more...

remove_watchpoint

No summary provided. Read more...

hit_watchpoint

No summary provided. Read more...

run_algorithm

Target algorithm support. Do @b not call this method directly, use target_run_algorithm() instead. Read more...

start_algorithm

No summary provided. Read more...

wait_algorithm

No summary provided. Read more...

commands

No summary provided. Read more...

target_create

No summary provided. Read more...

target_jim_configure

No summary provided. Read more...

target_jim_commands

No summary provided. Read more...

examine

This method is used to perform target setup that requires JTAG access. This may be called multiple times. It is called after the scan chain is initially validated, or later after the target is enabled by a JRC. It may also be called during some parts of the reset sequence. For one-time initialization tasks, use target_was_examined() and target_set_examined(). For example, probe the hardware before setting up chip-specific state, and then set that flag so you don't do that again. Read more...

init_target

No summary provided. Read more...

deinit_target

Free all the resources allocated by the target. WARNING: deinit_target is called unconditionally regardless the target has ever been examined/initialised or not. If a problem has prevented establishing JTAG/SWD/... communication or if the target was created with -defer-examine flag and has never been examined then it is not possible to communicate with the target. If you need to talk to the target during deinit, first check if target_was_examined()!. Read more...

virt2phys

No summary provided. Read more...

read_phys_memory

No summary provided. Read more...

write_phys_memory

No summary provided. Read more...

mmu

No summary provided. Read more...

check_reset

No summary provided. Read more...

get_gdb_fileio_info

No summary provided. Read more...

gdb_fileio_end

No summary provided. Read more...

gdb_query_custom

No summary provided. Read more...

profiling

No summary provided. Read more...

address_bits

No summary provided. Read more...

data_bits

No summary provided. Read more...

References

LocationReferrerScopeText
target_type.h:26
struct target_type {
target.h:117
struct target_type *type; /* target type definition (name, access functions) */
aarch64.c:3238aarch64_target
struct target_type aarch64_target = {
aarch64.c:3279armv8r_target
struct target_type armv8r_target = {
arc.c:2323arcv2_target
struct target_type arcv2_target = {
arm11.c:1348arm11_target
struct target_type arm11_target = {
arm720t.c:464arm720t_target
struct target_type arm720t_target = {
arm7tdmi.c:684arm7tdmi_target
struct target_type arm7tdmi_target = {
arm920t.c:1596arm920t_target
struct target_type arm920t_target = {
arm926ejs.c:790arm926ejs_target
struct target_type arm926ejs_target = {
arm946e.c:738arm946e_target
struct target_type arm946e_target = {
arm966e.c:245arm966e_target
struct target_type arm966e_target = {
arm9tdmi.c:888arm9tdmi_target
struct target_type arm9tdmi_target = {
avr32_ap7k.c:581avr32_ap7k_target
struct target_type avr32_ap7k_target = {
avrt.c:39avr_target
struct target_type avr_target = {
cortex_a.c:3426cortexa_target
struct target_type cortexa_target = {
cortex_a.c:3506cortexr4_target
struct target_type cortexr4_target = {
cortex_m.c:3338cortexm_target
struct target_type cortexm_target = {
dsp563xx.c:2250dsp563xx_target
struct target_type dsp563xx_target = {
dsp5680xx.c:2245dsp5680xx_target
struct target_type dsp5680xx_target = {
esirisc.c:1835esirisc_target
struct target_type esirisc_target = {
esp32.c:460esp32_target
struct target_type esp32_target = {
esp32s2.c:497esp32s2_target
struct target_type esp32s2_target = {
esp32s3.c:381esp32s3_target
struct target_type esp32s3_target = {
fa526.c:350fa526_target
struct target_type fa526_target = {
feroceon.c:691feroceon_target
struct target_type feroceon_target = {
feroceon.c:730dragonite_target
struct target_type dragonite_target = {
gdb_server.c:1923mips_m4k_target
extern struct target_type mips_m4k_target;
hla_target.c:640hla_target
struct target_type hla_target = {
ls1_sap.c:216ls1_sap_target
struct target_type ls1_sap_target = {
mem_ap.c:265mem_ap_target
struct target_type mem_ap_target = {
mips_m4k.c:1467mips_m4k_target
struct target_type mips_m4k_target = {
mips_mips64.c:1151mips_mips64_target
struct target_type mips_mips64_target = {
or1k.c:1417or1k_target
struct target_type or1k_target = {
quark_d20xx.c:79quark_d20xx_target
struct target_type quark_d20xx_target = {
quark_x10xx.c:57quark_x10xx_target
struct target_type quark_x10xx_target = {
riscv-011.c:2394riscv011_target
struct target_type riscv011_target = {
riscv-013.c:4047riscv013_target
struct target_type riscv013_target = {
riscv.c:411get_target_type()
static struct target_type *get_target_type(struct target *target)
riscv.c:494riscv_deinit_target()
struct target_type *tt = get_target_type(target);
riscv.c:1103oldriscv_step()
struct target_type *tt = get_target_type(target);
riscv.c:1135riscv_examine()
struct target_type *tt = get_target_type(target);
riscv.c:1148oldriscv_poll()
struct target_type *tt = get_target_type(target);
riscv.c:1209halt_go()
struct target_type *tt = get_target_type(target);
riscv.c:1231riscv_halt()
struct target_type *tt = get_target_type(target);
riscv.c:1276riscv_assert_reset()
struct target_type *tt = get_target_type(target);
riscv.c:1284riscv_deassert_reset()
struct target_type *tt = get_target_type(target);
riscv.c:1443resume_go()
struct target_type *tt = get_target_type(target);
riscv.c:1724riscv_write_phys_memory()
struct target_type *tt = get_target_type(target);
riscv.c:1743riscv_write_memory()
struct target_type *tt = get_target_type(target);
riscv.c:1825riscv_arch_state()
struct target_type *tt = get_target_type(target);
riscv.c:3071riscv_target
struct target_type riscv_target = {
riscv.h:35riscv011_target
extern struct target_type riscv011_target;
riscv.h:36riscv013_target
extern struct target_type riscv013_target;
stm8.c:2160stm8_target
struct target_type stm8_target = {
target.c:65target_types
static struct target_type *target_types[] = {
target.c:1491target_init_one()
struct target_type *type = target->type;
target.c:2233target_destroy()
free(target->type);
target.c:5886target_create()
target->type = malloc(sizeof(struct target_type));
target.c:5893target_create()
memcpy(target->type, target_types[x], sizeof(struct target_type));
target.c:5919target_create()
free(target->type);
target.c:5960target_create()
free(target->type);
target.c:5977target_create()
free(target->type);
target.c:5990target_create()
free(target->type);
target.c:6031target_create()
free(target->type);
target.h:117target::typetarget
struct target_type *type; /* target type definition (name, access functions) */
target_type.h:314aarch64_target
extern struct target_type aarch64_target;
target_type.h:315arcv2_target
extern struct target_type arcv2_target;
target_type.h:316arm11_target
extern struct target_type arm11_target;
target_type.h:317arm720t_target
extern struct target_type arm720t_target;
target_type.h:318arm7tdmi_target
extern struct target_type arm7tdmi_target;
target_type.h:319arm920t_target
extern struct target_type arm920t_target;
target_type.h:320arm926ejs_target
extern struct target_type arm926ejs_target;
target_type.h:321arm946e_target
extern struct target_type arm946e_target;
target_type.h:322arm966e_target
extern struct target_type arm966e_target;
target_type.h:323arm9tdmi_target
extern struct target_type arm9tdmi_target;
target_type.h:324armv8r_target
extern struct target_type armv8r_target;
target_type.h:325avr32_ap7k_target
extern struct target_type avr32_ap7k_target;
target_type.h:326avr_target
extern struct target_type avr_target;
target_type.h:327cortexa_target
extern struct target_type cortexa_target;
target_type.h:328cortexm_target
extern struct target_type cortexm_target;
target_type.h:329cortexr4_target
extern struct target_type cortexr4_target;
target_type.h:330dragonite_target
extern struct target_type dragonite_target;
target_type.h:331dsp563xx_target
extern struct target_type dsp563xx_target;
target_type.h:332dsp5680xx_target
extern struct target_type dsp5680xx_target;
target_type.h:333esirisc_target
extern struct target_type esirisc_target;
target_type.h:334esp32s2_target
extern struct target_type esp32s2_target;
target_type.h:335esp32s3_target
extern struct target_type esp32s3_target;
target_type.h:336esp32_target
extern struct target_type esp32_target;
target_type.h:337fa526_target
extern struct target_type fa526_target;
target_type.h:338feroceon_target
extern struct target_type feroceon_target;
target_type.h:339hla_target
extern struct target_type hla_target;
target_type.h:340ls1_sap_target
extern struct target_type ls1_sap_target;
target_type.h:341mem_ap_target
extern struct target_type mem_ap_target;
target_type.h:342mips_m4k_target
extern struct target_type mips_m4k_target;
target_type.h:343mips_mips64_target
extern struct target_type mips_mips64_target;
target_type.h:344or1k_target
extern struct target_type or1k_target;
target_type.h:345quark_d20xx_target
extern struct target_type quark_d20xx_target;
target_type.h:346quark_x10xx_target
extern struct target_type quark_x10xx_target;
target_type.h:347riscv_target
extern struct target_type riscv_target;
target_type.h:348stm8_target
extern struct target_type stm8_target;
target_type.h:349testee_target
extern struct target_type testee_target;
target_type.h:350xscale_target
extern struct target_type xscale_target;
target_type.h:351xtensa_chip_target
extern struct target_type xtensa_chip_target;
testee.c:53testee_target
struct target_type testee_target = {
xscale.c:3705xscale_target
struct target_type xscale_target = {
xtensa_chip.c:151xtensa_chip_target
struct target_type xtensa_chip_target = {