OpenOCD
arm7tdmi.c File Reference
Include dependency graph for arm7tdmi.c:

Go to the source code of this file.

Functions

static void arm7tdmi_branch_resume (struct target *target)
 
static void arm7tdmi_branch_resume_thumb (struct target *target)
 
static void arm7tdmi_build_reg_cache (struct target *target)
 
static void arm7tdmi_change_to_arm (struct target *target, uint32_t *r0, uint32_t *pc)
 
static int arm7tdmi_clock_data_in (struct arm_jtag *jtag_info, uint32_t *in)
 
static int arm7tdmi_clock_data_in_endianness (struct arm_jtag *jtag_info, void *in, int size, int be)
 
static int arm7tdmi_clock_out (struct arm_jtag *jtag_info, uint32_t out, int breakpoint)
 
static int arm7tdmi_clock_out_inner (struct arm_jtag *jtag_info, uint32_t out, int breakpoint)
 
void arm7tdmi_deinit_target (struct target *target)
 
static int arm7tdmi_examine_debug_reason (struct target *target)
 
static void arm7tdmi_free_reg_cache (struct target *target)
 
int arm7tdmi_init_arch_info (struct target *target, struct arm7_9_common *arm7_9, struct jtag_tap *tap)
 
int arm7tdmi_init_target (struct command_context *cmd_ctx, struct target *target)
 
static void arm7tdmi_load_byte_reg (struct target *target, int num)
 
static void arm7tdmi_load_hword_reg (struct target *target, int num)
 
static void arm7tdmi_load_word_regs (struct target *target, uint32_t mask)
 
static void arm7tdmi_read_core_regs (struct target *target, uint32_t mask, uint32_t *core_regs[16])
 
static void arm7tdmi_read_core_regs_target_buffer (struct target *target, uint32_t mask, void *buffer, int size)
 
static void arm7tdmi_read_xpsr (struct target *target, uint32_t *xpsr, int spsr)
 
static void arm7tdmi_store_byte_reg (struct target *target, int num)
 
static void arm7tdmi_store_hword_reg (struct target *target, int num)
 
static void arm7tdmi_store_word_regs (struct target *target, uint32_t mask)
 
static int arm7tdmi_target_create (struct target *target, Jim_Interp *interp)
 
static void arm7tdmi_write_core_regs (struct target *target, uint32_t mask, uint32_t core_regs[16])
 
static void arm7tdmi_write_pc (struct target *target, uint32_t pc)
 
static void arm7tdmi_write_xpsr (struct target *target, uint32_t xpsr, int spsr)
 
static void arm7tdmi_write_xpsr_im8 (struct target *target, uint8_t xpsr_im, int rot, int spsr)
 

Variables

static const int arm7tdmi_num_bits [] = {1, 32}
 
struct target_type arm7tdmi_target
 Holds methods for ARM7TDMI targets. More...
 

Function Documentation

◆ arm7tdmi_branch_resume()

static void arm7tdmi_branch_resume ( struct target target)
static

◆ arm7tdmi_branch_resume_thumb()

◆ arm7tdmi_build_reg_cache()

static void arm7tdmi_build_reg_cache ( struct target target)
static

◆ arm7tdmi_change_to_arm()

static void arm7tdmi_change_to_arm ( struct target target,
uint32_t *  r0,
uint32_t *  pc 
)
static

◆ arm7tdmi_clock_data_in()

◆ arm7tdmi_clock_data_in_endianness()

◆ arm7tdmi_clock_out()

◆ arm7tdmi_clock_out_inner()

static int arm7tdmi_clock_out_inner ( struct arm_jtag jtag_info,
uint32_t  out,
int  breakpoint 
)
inlinestatic

◆ arm7tdmi_deinit_target()

void arm7tdmi_deinit_target ( struct target target)

Definition at line 616 of file arm7tdmi.c.

References arm7tdmi_free_reg_cache().

Referenced by arm720t_deinit_target().

◆ arm7tdmi_examine_debug_reason()

◆ arm7tdmi_free_reg_cache()

static void arm7tdmi_free_reg_cache ( struct target target)
static

Definition at line 602 of file arm7tdmi.c.

References arm_free_reg_cache(), and target_to_arm().

Referenced by arm7tdmi_deinit_target().

◆ arm7tdmi_init_arch_info()

int arm7tdmi_init_arch_info ( struct target target,
struct arm7_9_common arm7_9,
struct jtag_tap tap 
)

Definition at line 621 of file arm7tdmi.c.

References arm7_9_bulk_write_memory(), arm7_9_disable_eice_step(), arm7_9_enable_eice_step(), arm7_9_init_arch_info(), arm7_9_write_memory(), arm7tdmi_branch_resume(), arm7tdmi_branch_resume_thumb(), arm7tdmi_change_to_arm(), arm7tdmi_examine_debug_reason(), arm7tdmi_load_byte_reg(), arm7tdmi_load_hword_reg(), arm7tdmi_load_word_regs(), arm7tdmi_read_core_regs(), arm7tdmi_read_core_regs_target_buffer(), arm7tdmi_read_xpsr(), arm7tdmi_store_byte_reg(), arm7tdmi_store_hword_reg(), arm7tdmi_store_word_regs(), arm7tdmi_write_core_regs(), arm7tdmi_write_pc(), arm7tdmi_write_xpsr(), arm7tdmi_write_xpsr_im8(), arm7_9_common::arm_bkpt, arm7_9_common::branch_resume, arm7_9_common::branch_resume_thumb, arm7_9_common::bulk_write_memory, arm7_9_common::change_to_arm, arm7_9_common::dbgreq_adjust_pc, arm7_9_common::disable_single_step, arm7_9_common::enable_single_step, ERROR_OK, arm7_9_common::examine_debug_reason, arm7_9_common::jtag_info, arm7_9_common::load_byte_reg, arm7_9_common::load_hword_reg, arm7_9_common::load_word_regs, NULL, arm7_9_common::post_debug_entry, arm7_9_common::pre_restore_context, arm7_9_common::read_core_regs, arm7_9_common::read_core_regs_target_buffer, arm7_9_common::read_xpsr, arm_jtag::scann_size, arm7_9_common::store_byte_reg, arm7_9_common::store_hword_reg, arm7_9_common::store_word_regs, arm_jtag::tap, arm7_9_common::thumb_bkpt, arm7_9_common::write_core_regs, arm7_9_common::write_memory, arm7_9_common::write_pc, arm7_9_common::write_xpsr, and arm7_9_common::write_xpsr_im8.

Referenced by arm720t_init_arch_info().

◆ arm7tdmi_init_target()

int arm7tdmi_init_target ( struct command_context cmd_ctx,
struct target target 
)

Definition at line 609 of file arm7tdmi.c.

References arm7tdmi_build_reg_cache(), arm_semihosting_init(), and ERROR_OK.

Referenced by arm720t_init_target().

◆ arm7tdmi_load_byte_reg()

static void arm7tdmi_load_byte_reg ( struct target target,
int  num 
)
static

◆ arm7tdmi_load_hword_reg()

static void arm7tdmi_load_hword_reg ( struct target target,
int  num 
)
static

◆ arm7tdmi_load_word_regs()

static void arm7tdmi_load_word_regs ( struct target target,
uint32_t  mask 
)
static

◆ arm7tdmi_read_core_regs()

static void arm7tdmi_read_core_regs ( struct target target,
uint32_t  mask,
uint32_t *  core_regs[16] 
)
static

◆ arm7tdmi_read_core_regs_target_buffer()

static void arm7tdmi_read_core_regs_target_buffer ( struct target target,
uint32_t  mask,
void *  buffer,
int  size 
)
static

◆ arm7tdmi_read_xpsr()

static void arm7tdmi_read_xpsr ( struct target target,
uint32_t *  xpsr,
int  spsr 
)
static

◆ arm7tdmi_store_byte_reg()

static void arm7tdmi_store_byte_reg ( struct target target,
int  num 
)
static

◆ arm7tdmi_store_hword_reg()

static void arm7tdmi_store_hword_reg ( struct target target,
int  num 
)
static

◆ arm7tdmi_store_word_regs()

static void arm7tdmi_store_word_regs ( struct target target,
uint32_t  mask 
)
static

◆ arm7tdmi_target_create()

static int arm7tdmi_target_create ( struct target target,
Jim_Interp *  interp 
)
static

Definition at line 672 of file arm7tdmi.c.

◆ arm7tdmi_write_core_regs()

static void arm7tdmi_write_core_regs ( struct target target,
uint32_t  mask,
uint32_t  core_regs[16] 
)
static

◆ arm7tdmi_write_pc()

static void arm7tdmi_write_pc ( struct target target,
uint32_t  pc 
)
static

◆ arm7tdmi_write_xpsr()

static void arm7tdmi_write_xpsr ( struct target target,
uint32_t  xpsr,
int  spsr 
)
static

◆ arm7tdmi_write_xpsr_im8()

static void arm7tdmi_write_xpsr_im8 ( struct target target,
uint8_t  xpsr_im,
int  rot,
int  spsr 
)
static

Variable Documentation

◆ arm7tdmi_num_bits

const int arm7tdmi_num_bits[] = {1, 32}
static

Definition at line 82 of file arm7tdmi.c.

Referenced by arm7tdmi_clock_out_inner().

◆ arm7tdmi_target

struct target_type arm7tdmi_target

Holds methods for ARM7TDMI targets.

Definition at line 672 of file arm7tdmi.c.