OpenOCD
|
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... | |
|
static |
Definition at line 525 of file arm7tdmi.c.
References arm7tdmi_clock_out(), arm7tdmi_clock_out_inner(), ARMV4_5_B, ARMV4_5_NOP, arm7_9_common::jtag_info, and target_to_arm7_9().
Referenced by arm7tdmi_init_arch_info().
|
static |
Definition at line 534 of file arm7tdmi.c.
References arm7_9_common::arm, arm7tdmi_clock_out(), ARMV4_5_BX, ARMV4_5_LDMIA, ARMV4_5_NOP, ARMV4_5_T_B, ARMV4_5_T_LDR_PCREL, ARMV4_5_T_NOP, buf_get_u32(), arm::core_cache, arm7_9_common::eice_cache, EICE_DBG_STAT, embeddedice_read_reg(), arm7_9_common::jtag_info, LOG_DEBUG, arm::pc, reg_cache::reg_list, target_to_arm7_9(), and reg::value.
Referenced by arm7tdmi_init_arch_info().
|
static |
Definition at line 594 of file arm7tdmi.c.
References arm_build_reg_cache(), target::reg_cache, register_get_last_cache_p(), and target_to_arm().
Referenced by arm7tdmi_init_target().
|
static |
Definition at line 226 of file arm7tdmi.c.
References arm7tdmi_clock_data_in(), arm7tdmi_clock_out(), ARMV4_5_T_BX, ARMV4_5_T_LDR_PCREL, ARMV4_5_T_MOV, ARMV4_5_T_NOP, ARMV4_5_T_STR, jtag_execute_queue(), arm7_9_common::jtag_info, and target_to_arm7_9().
Referenced by arm7tdmi_init_arch_info().
|
static |
Definition at line 123 of file arm7tdmi.c.
References arm7flip32(), arm_jtag_scann(), arm_jtag_set_instr(), ERROR_OK, scan_field::in_value, arm_jtag::intest_instr, jtag_add_callback(), jtag_add_dr_scan(), jtag_add_runtest(), jtag_execute_queue(), LOG_DEBUG, LOG_ERROR, NULL, scan_field::num_bits, scan_field::out_value, arm_jtag::tap, and TAP_DRPAUSE.
Referenced by arm7tdmi_change_to_arm(), arm7tdmi_read_core_regs(), and arm7tdmi_read_xpsr().
|
static |
Definition at line 167 of file arm7tdmi.c.
References arm7_9_endianness_callback(), arm_jtag_scann(), arm_jtag_set_instr(), ERROR_OK, scan_field::in_value, arm_jtag::intest_instr, jtag_add_callback4(), jtag_add_dr_scan(), jtag_add_runtest(), jtag_execute_queue(), LOG_DEBUG, LOG_ERROR, NULL, scan_field::num_bits, scan_field::out_value, size, arm_jtag::tap, and TAP_DRPAUSE.
Referenced by arm7tdmi_read_core_regs_target_buffer().
|
inlinestatic |
Definition at line 108 of file arm7tdmi.c.
References arm7tdmi_clock_out_inner(), arm_jtag_scann(), arm_jtag_set_instr(), ERROR_OK, arm_jtag::intest_instr, NULL, arm_jtag::tap, and TAP_DRPAUSE.
Referenced by arm7tdmi_branch_resume(), arm7tdmi_branch_resume_thumb(), arm7tdmi_change_to_arm(), 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(), and arm7tdmi_write_xpsr_im8().
|
inlinestatic |
Definition at line 84 of file arm7tdmi.c.
References arm7tdmi_num_bits, buf_set_u32(), ERROR_OK, flip_u32(), jtag_add_dr_scan(), jtag_add_runtest(), scan_field::num_bits, scan_field::out_value, arm_jtag::tap, and TAP_DRPAUSE.
Referenced by arm7tdmi_branch_resume(), arm7tdmi_clock_out(), arm7tdmi_write_core_regs(), and arm7tdmi_write_pc().
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().
|
static |
Definition at line 34 of file arm7tdmi.c.
References arm_jtag_scann(), arm_jtag_set_instr(), DBG_REASON_BREAKPOINT, DBG_REASON_DBGRQ, DBG_REASON_SINGLESTEP, DBG_REASON_WATCHPOINT, target::debug_reason, ERROR_OK, scan_field::in_value, arm_jtag::intest_instr, jtag_add_dr_scan(), jtag_execute_queue(), arm7_9_common::jtag_info, NULL, scan_field::num_bits, scan_field::out_value, arm_jtag::tap, TAP_DRPAUSE, and target_to_arm7_9().
Referenced by arm7tdmi_init_arch_info().
|
static |
Definition at line 602 of file arm7tdmi.c.
References arm_free_reg_cache(), and target_to_arm().
Referenced by arm7tdmi_deinit_target().
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().
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().
|
static |
Definition at line 456 of file arm7tdmi.c.
References arm7tdmi_clock_out(), ARMV4_5_LDRB_IP, ARMV4_5_NOP, arm7_9_common::jtag_info, and target_to_arm7_9().
Referenced by arm7tdmi_init_arch_info().
|
static |
Definition at line 445 of file arm7tdmi.c.
References arm7tdmi_clock_out(), ARMV4_5_LDRH_IP, ARMV4_5_NOP, arm7_9_common::jtag_info, and target_to_arm7_9().
Referenced by arm7tdmi_init_arch_info().
|
static |
Definition at line 434 of file arm7tdmi.c.
References arm7tdmi_clock_out(), ARMV4_5_LDMIA, ARMV4_5_NOP, arm7_9_common::jtag_info, mask, and target_to_arm7_9().
Referenced by arm7tdmi_init_arch_info().
|
static |
Definition at line 281 of file arm7tdmi.c.
References arm7tdmi_clock_data_in(), arm7tdmi_clock_out(), ARMV4_5_NOP, ARMV4_5_STMIA, arm7_9_common::jtag_info, mask, and target_to_arm7_9().
Referenced by arm7tdmi_init_arch_info().
|
static |
Definition at line 305 of file arm7tdmi.c.
References arm7tdmi_clock_data_in_endianness(), arm7tdmi_clock_out(), ARMV4_5_NOP, ARMV4_5_STMIA, buffer, target::endianness, arm7_9_common::jtag_info, mask, size, TARGET_BIG_ENDIAN, and target_to_arm7_9().
Referenced by arm7tdmi_init_arch_info().
|
static |
Definition at line 344 of file arm7tdmi.c.
References arm7tdmi_clock_data_in(), arm7tdmi_clock_out(), ARMV4_5_MRS, ARMV4_5_NOP, ARMV4_5_STR, arm7_9_common::jtag_info, and target_to_arm7_9().
Referenced by arm7tdmi_init_arch_info().
|
static |
Definition at line 489 of file arm7tdmi.c.
References arm7tdmi_clock_out(), ARMV4_5_NOP, ARMV4_5_STRB_IP, arm7_9_common::jtag_info, and target_to_arm7_9().
Referenced by arm7tdmi_init_arch_info().
|
static |
Definition at line 478 of file arm7tdmi.c.
References arm7tdmi_clock_out(), ARMV4_5_NOP, ARMV4_5_STRH_IP, arm7_9_common::jtag_info, and target_to_arm7_9().
Referenced by arm7tdmi_init_arch_info().
|
static |
Definition at line 467 of file arm7tdmi.c.
References arm7tdmi_clock_out(), ARMV4_5_NOP, ARMV4_5_STMIA, arm7_9_common::jtag_info, mask, and target_to_arm7_9().
Referenced by arm7tdmi_init_arch_info().
|
static |
Definition at line 672 of file arm7tdmi.c.
|
static |
Definition at line 409 of file arm7tdmi.c.
References arm7tdmi_clock_out(), arm7tdmi_clock_out_inner(), ARMV4_5_LDMIA, ARMV4_5_NOP, arm7_9_common::jtag_info, mask, and target_to_arm7_9().
Referenced by arm7tdmi_init_arch_info().
|
static |
Definition at line 500 of file arm7tdmi.c.
References arm7tdmi_clock_out(), arm7tdmi_clock_out_inner(), ARMV4_5_LDMIA, ARMV4_5_NOP, arm7_9_common::jtag_info, and target_to_arm7_9().
Referenced by arm7tdmi_init_arch_info().
|
static |
Definition at line 362 of file arm7tdmi.c.
References arm7tdmi_clock_out(), ARMV4_5_MSR_IM, ARMV4_5_NOP, arm7_9_common::jtag_info, LOG_DEBUG, and target_to_arm7_9().
Referenced by arm7tdmi_init_arch_info().
|
static |
Definition at line 391 of file arm7tdmi.c.
References arm7tdmi_clock_out(), ARMV4_5_MSR_IM, ARMV4_5_NOP, arm7_9_common::jtag_info, LOG_DEBUG, and target_to_arm7_9().
Referenced by arm7tdmi_init_arch_info().
|
static |
Definition at line 82 of file arm7tdmi.c.
Referenced by arm7tdmi_clock_out_inner().
struct target_type arm7tdmi_target |
Holds methods for ARM7TDMI targets.
Definition at line 672 of file arm7tdmi.c.