.poll = arm7_9_poll,
.arch_state = armv4_5_arch_state,
+ .target_request_data = arm7_9_target_request_data,
+
.halt = arm7_9_halt,
.resume = arm7_9_resume,
.step = arm7_9_step,
.read_memory = arm7_9_read_memory,
.write_memory = arm7_9_write_memory,
.bulk_write_memory = arm7_9_bulk_write_memory,
-
+ .checksum_memory = arm7_9_checksum_memory,
+
.run_algorithm = armv4_5_run_algorithm,
.add_breakpoint = arm7_9_add_breakpoint,
{0, 0},
};
-int arm9tdmi_jtag_error_handler(u8 *in_value, void *priv)
-{
- char *caller = priv;
-
- DEBUG("caller: %s", caller);
-
- return ERROR_OK;
-}
-
int arm9tdmi_examine_debug_reason(target_t *target)
{
/* get pointers to arch-specific information */
if ((target->debug_reason != DBG_REASON_DBGRQ)
&& (target->debug_reason != DBG_REASON_SINGLESTEP))
{
- error_handler_t error_handler;
scan_field_t fields[3];
u8 databus[4];
u8 instructionbus[4];
fields[2].in_handler_priv = NULL;
arm_jtag_scann(&arm7_9->jtag_info, 0x1);
- error_handler.error_handler = arm9tdmi_jtag_error_handler;
- error_handler.error_handler_priv = "arm9tdmi_examine_debug_reason";
- arm_jtag_set_instr(&arm7_9->jtag_info, arm7_9->jtag_info.intest_instr, &error_handler);
+ arm_jtag_set_instr(&arm7_9->jtag_info, arm7_9->jtag_info.intest_instr, NULL);
jtag_add_dr_scan(3, fields, TAP_PD, NULL);
jtag_execute_queue();
/* put an instruction in the ARM9TDMI pipeline or write the data bus, and optionally read data */
int arm9tdmi_clock_out(arm_jtag_t *jtag_info, u32 instr, u32 out, u32 *in, int sysspeed)
{
- error_handler_t error_handler;
scan_field_t fields[3];
u8 out_buf[4];
u8 instr_buf[4];
jtag_add_end_state(TAP_PD);
arm_jtag_scann(jtag_info, 0x1);
- error_handler.error_handler = arm9tdmi_jtag_error_handler;
- error_handler.error_handler_priv = "arm9tdmi_clock_out";
-
- arm_jtag_set_instr(jtag_info, jtag_info->intest_instr, &error_handler);
+ arm_jtag_set_instr(jtag_info, jtag_info->intest_instr, NULL);
fields[0].device = jtag_info->chain_pos;
fields[0].num_bits = 32;
int arm9tdmi_clock_data_in(arm_jtag_t *jtag_info, u32 *in)
{
scan_field_t fields[3];
- error_handler_t error_handler;
jtag_add_end_state(TAP_PD);
arm_jtag_scann(jtag_info, 0x1);
- error_handler.error_handler = arm9tdmi_jtag_error_handler;
- error_handler.error_handler_priv = "arm9tdmi_clock_data_in_endianness";
-
- arm_jtag_set_instr(jtag_info, jtag_info->intest_instr, &error_handler);
+ arm_jtag_set_instr(jtag_info, jtag_info->intest_instr, NULL);
fields[0].device = jtag_info->chain_pos;
fields[0].num_bits = 32;
int arm9tdmi_clock_data_in_endianness(arm_jtag_t *jtag_info, void *in, int size, int be)
{
scan_field_t fields[3];
- error_handler_t error_handler;
jtag_add_end_state(TAP_PD);
arm_jtag_scann(jtag_info, 0x1);
- error_handler.error_handler = arm9tdmi_jtag_error_handler;
- error_handler.error_handler_priv = "arm9tdmi_clock_data_in_endianness";
-
- arm_jtag_set_instr(jtag_info, jtag_info->intest_instr, &error_handler);
+ arm_jtag_set_instr(jtag_info, jtag_info->intest_instr, NULL);
fields[0].device = jtag_info->chain_pos;
fields[0].num_bits = 32;