X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=src%2Ftarget%2Fdsp563xx.c;h=b42e7b3ece698a87ddf57bb1f29d694cae49907c;hb=36df240cea04990e8c18aa0b90bd63374f22dbd3;hp=9e2f6093986cead169e5124470ff74ad5f156170;hpb=85a4136d0baccf5c3b8f717710584f7faed0ca30;p=openocd.git diff --git a/src/target/dsp563xx.c b/src/target/dsp563xx.c index 9e2f609398..b42e7b3ece 100644 --- a/src/target/dsp563xx.c +++ b/src/target/dsp563xx.c @@ -246,6 +246,29 @@ static const struct /* *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; @@ -840,14 +863,7 @@ int dsp563xx_write_ir(struct jtag_tap *tap, uint8_t * ir_in, uint8_t * ir_out, } { - 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; @@ -863,14 +879,7 @@ int dsp563xx_write_dr(struct jtag_tap *tap, uint8_t * dr_in, uint8_t * dr_out, } { - 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; @@ -974,6 +983,8 @@ struct target_type dsp563xx_target = { .target_request_data = NULL, + .get_gdb_reg_list = dsp563xx_get_gdb_reg_list, + .halt = dsp563xx_halt, .resume = dsp563xx_resume, .step = dsp563xx_step,