Skip to content
This repository was archived by the owner on Mar 7, 2026. It is now read-only.

Commit 8bb136d

Browse files
committed
hosted/jlink: Implement unoptimized jtagtap_cycle
1 parent 74975f5 commit 8bb136d

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

src/platforms/hosted/jlink_jtag.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ static void jlink_jtag_tms_seq(uint32_t tms_states, size_t clock_cycles);
4040
static void jlink_jtag_tdi_tdo_seq(uint8_t *data_out, bool final_tms, const uint8_t *data_in, size_t clock_cycles);
4141
static void jlink_jtag_tdi_seq(bool final_tms, const uint8_t *data_in, size_t clock_cycles);
4242
static bool jlink_jtag_next(bool tms, bool tdi);
43+
static void jlink_jtag_cycle(bool tms, bool tdi, size_t clock_cycles);
4344

4445
static const uint8_t jlink_switch_to_jtag_seq[9U] = {0xffU, 0xffU, 0xffU, 0xffU, 0xffU, 0xffU, 0xffU, 0x3cU, 0xe7U};
4546

@@ -66,6 +67,7 @@ bool jlink_jtag_init(void)
6667
jtag_proc.jtagtap_tms_seq = jlink_jtag_tms_seq;
6768
jtag_proc.jtagtap_tdi_tdo_seq = jlink_jtag_tdi_tdo_seq;
6869
jtag_proc.jtagtap_tdi_seq = jlink_jtag_tdi_seq;
70+
jtag_proc.jtagtap_cycle = jlink_jtag_cycle;
6971
return true;
7072
}
7173

@@ -117,3 +119,9 @@ static bool jlink_jtag_next(bool tms, bool tdi)
117119
raise_exception(EXCEPTION_ERROR, "jtagtap_next failed");
118120
return tdo;
119121
}
122+
123+
static void jlink_jtag_cycle(const bool tms, const bool tdi, const size_t clock_cycles)
124+
{
125+
for (size_t i = 0; i < clock_cycles; i++)
126+
jlink_jtag_next(tms, tdi);
127+
}

0 commit comments

Comments
 (0)