/* *INDENT-ON* */
};
+static int dsp563xx_get_gdb_reg_list(struct target *target, struct reg **reg_list[],
+ int *reg_list_size)
+{
+ struct dsp563xx_common *dsp563xx = target_to_dsp563xx(target);
+ int i;
+
+ if (target->state != TARGET_HALTED)
+ {
+ return ERROR_TARGET_NOT_HALTED;
+ }
+
+ *reg_list_size = DSP563XX_NUMCOREREGS;
+ *reg_list = malloc(sizeof(struct reg *) * (*reg_list_size));
+
+ for (i = 0; i < DSP563XX_NUMCOREREGS; i++)
+ {
+ (*reg_list)[i] = &dsp563xx->core_cache->reg_list[i];
+ }
+
+ return ERROR_OK;
+
+}
+
int dsp563xx_read_core_reg(struct target *target, int num)
{
uint32_t reg_value;
LOG_DEBUG("%02X", jtag_status);
dsp563xx_once_reg_read(target->tap, DSP563XX_ONCE_OSCR,
&once_status);
- LOG_DEBUG("%02X", once_status);
+ LOG_DEBUG("%02X", (unsigned) once_status);
}
LOG_DEBUG("target->state: %s", target_state_name(target));
return ERROR_OK;
}
- LOG_DEBUG("%s %08X %08X", __FUNCTION__, current, address);
+ LOG_DEBUG("%s %08X %08X", __FUNCTION__, current, (unsigned) address);
dsp563xx_jtag_debug_request(target);
dsp563xx_once_reg_read(target->tap, DSP563XX_ONCE_OPABFR,
&dr_in);
- LOG_DEBUG("%08X", dr_in);
+ LOG_DEBUG("%08X", (unsigned) dr_in);
dsp563xx_once_reg_read(target->tap, DSP563XX_ONCE_OPABDR,
&dr_in);
- LOG_DEBUG("%08X", dr_in);
+ LOG_DEBUG("%08X", (unsigned) dr_in);
dsp563xx_once_reg_read(target->tap, DSP563XX_ONCE_OPABEX,
&dr_in);
- LOG_DEBUG("%08X", dr_in);
+ LOG_DEBUG("%08X", (unsigned) dr_in);
/* reset trace mode */
dsp563xx_once_reg_write(target->tap, DSP563XX_ONCE_OSCR,
}
{
- struct scan_field field[1];
-
- field[0].tap = tap;
- field[0].num_bits = tap->ir_length;
- field[0].out_value = ir_out;
- field[0].in_value = ir_in;
- jtag_add_plain_ir_scan(ARRAY_SIZE(field), field,
- jtag_set_end_state(TAP_IDLE));
+ jtag_add_plain_ir_scan(tap->ir_length, ir_out, ir_in, TAP_IDLE);
}
return ERROR_OK;
}
{
- struct scan_field field[1];
-
- field[0].tap = tap;
- field[0].num_bits = dr_len;
- field[0].out_value = dr_out;
- field[0].in_value = dr_in;
- jtag_add_plain_dr_scan(ARRAY_SIZE(field), field,
- jtag_set_end_state(TAP_IDLE));
+ jtag_add_plain_dr_scan(dr_len, dr_out, dr_in, TAP_IDLE);
}
return ERROR_OK;
.target_request_data = NULL,
+ .get_gdb_reg_list = dsp563xx_get_gdb_reg_list,
+
.halt = dsp563xx_halt,
.resume = dsp563xx_resume,
.step = dsp563xx_step,