jtaglib cpu16: single step issue fixed
This commit is contained in:
parent
aed67748b1
commit
98c434555f
|
@ -3,9 +3,6 @@
|
||||||
#include "jtaglib_defs.h"
|
#include "jtaglib_defs.h"
|
||||||
#include "output.h"
|
#include "output.h"
|
||||||
|
|
||||||
// FIXME:
|
|
||||||
// * stepping works only once. or maybe sometimes never.
|
|
||||||
|
|
||||||
/* Set target CPU JTAG state machine into the instruction fetch state
|
/* Set target CPU JTAG state machine into the instruction fetch state
|
||||||
* return: 1 - instruction fetch was set
|
* return: 1 - instruction fetch was set
|
||||||
* 0 - otherwise
|
* 0 - otherwise
|
||||||
|
@ -693,6 +690,8 @@ static void jlf16_single_step( struct jtdev *p )
|
||||||
{ // libmsp430 BIOS name: SingleStep
|
{ // libmsp430 BIOS name: SingleStep
|
||||||
unsigned int loop_counter;
|
unsigned int loop_counter;
|
||||||
|
|
||||||
|
jlf16_set_instruction_fetch(p);
|
||||||
|
|
||||||
/* CPU controls RW & BYTE */
|
/* CPU controls RW & BYTE */
|
||||||
jtag_ir_shift(p, IR_CNTRL_SIG_16BIT);
|
jtag_ir_shift(p, IR_CNTRL_SIG_16BIT);
|
||||||
jtag_dr_shift_16(p, 0x3401);
|
jtag_dr_shift_16(p, 0x3401);
|
||||||
|
@ -713,6 +712,8 @@ static void jlf16_single_step( struct jtdev *p )
|
||||||
jtag_ir_shift(p, IR_CNTRL_SIG_16BIT);
|
jtag_ir_shift(p, IR_CNTRL_SIG_16BIT);
|
||||||
jtag_dr_shift_16(p, 0x2401);
|
jtag_dr_shift_16(p, 0x2401);
|
||||||
|
|
||||||
|
jlf16_set_instruction_fetch(p);
|
||||||
|
|
||||||
if (loop_counter == 0) {
|
if (loop_counter == 0) {
|
||||||
/* timeout reached */
|
/* timeout reached */
|
||||||
printc_err("jtaglib_cpu16: single step failed\n");
|
printc_err("jtaglib_cpu16: single step failed\n");
|
||||||
|
|
Loading…
Reference in New Issue