OpenOCD
|
Go to the source code of this file.
Macros | |
#define | NOP { __asm nop __endasm; } |
Functions | |
void | jtag_clock_tck (uint16_t count) |
Generate TCK clock cycles. More... | |
void | jtag_clock_tms (uint8_t count, uint8_t sequence) |
Perform TAP FSM state transitions at maximum TCK frequency. More... | |
void | jtag_configure_tck_delay (uint8_t scan_in, uint8_t scan_out, uint8_t scan_io, uint8_t tck, uint8_t tms) |
Configure TCK delay parameters. More... | |
uint16_t | jtag_get_signals (void) |
Get current JTAG signal states. More... | |
void | jtag_scan_in (uint8_t out_offset, uint8_t in_offset) |
Perform JTAG SCAN-IN operation at maximum TCK frequency. More... | |
void | jtag_scan_io (uint8_t out_offset, uint8_t in_offset) |
Perform bidirectional JTAG SCAN operation at maximum TCK frequency. More... | |
void | jtag_scan_out (uint8_t out_offset) |
Perform JTAG SCAN-OUT operation at maximum TCK frequency. More... | |
void | jtag_set_signals (uint8_t low, uint8_t high) |
Set state of JTAG output signals. More... | |
void | jtag_slow_clock_tck (uint16_t count) |
Generate TCK clock cycles at variable frequency. More... | |
void | jtag_slow_clock_tms (uint8_t count, uint8_t sequence) |
Perform TAP-FSM state transitions at less than maximum TCK frequency. More... | |
void | jtag_slow_scan_in (uint8_t out_offset, uint8_t in_offset) |
Perform JTAG SCAN-IN operation at variable TCK frequency. More... | |
void | jtag_slow_scan_io (uint8_t out_offset, uint8_t in_offset) |
Perform bidirectional JTAG SCAN operation at maximum TCK frequency. More... | |
void | jtag_slow_scan_out (uint8_t out_offset) |
Perform JTAG SCAN-OUT operation at maximum TCK frequency. More... | |
#define NOP { __asm nop __endasm; } |
Definition at line 13 of file drivers/OpenULINK/include/jtag.h.
void jtag_clock_tck | ( | uint16_t | count | ) |
Generate TCK clock cycles.
Maximum achievable TCK frequency is 375 kHz for ULINK clocked at 24 MHz.
count | number of TCK clock cycles to generate. |
Definition at line 560 of file jtag.c.
References count, and PIN_TCK.
Referenced by execute_command().
void jtag_clock_tms | ( | uint8_t | count, |
uint8_t | sequence | ||
) |
Perform TAP FSM state transitions at maximum TCK frequency.
Maximum achievable TCK frequency is 176 kHz for ULINK clocked at 24 MHz.
count | the number of state transitions to perform. |
sequence | the TMS pin levels for each state transition, starting with the least-significant bit. |
Definition at line 603 of file jtag.c.
References count, PIN_TCK, and PIN_TMS.
Referenced by execute_command(), jtag_scan_in(), jtag_scan_io(), and jtag_scan_out().
void jtag_configure_tck_delay | ( | uint8_t | scan_in, |
uint8_t | scan_out, | ||
uint8_t | scan_io, | ||
uint8_t | tck, | ||
uint8_t | tms | ||
) |
Configure TCK delay parameters.
scan_in | number of delay cycles in scan_in operations. |
scan_out | number of delay cycles in scan_out operations. |
scan_io | number of delay cycles in scan_io operations. |
tck | number of delay cycles in clock_tck operations. |
tms | number of delay cycles in clock_tms operations. |
Definition at line 706 of file jtag.c.
References delay_scan_in, delay_scan_io, delay_scan_out, delay_tck, and delay_tms.
Referenced by execute_command().
uint16_t jtag_get_signals | ( | void | ) |
Get current JTAG signal states.
Definition at line 659 of file jtag.c.
References GET_BRKOUT, GET_RTCK, GET_TDO, GET_TRAP, MASK_PORTB_DIRECTION_OUT, SIGNAL_BRKOUT, SIGNAL_RTCK, SIGNAL_TDO, and SIGNAL_TRAP.
Referenced by execute_command().
void jtag_scan_in | ( | uint8_t | out_offset, |
uint8_t | in_offset | ||
) |
Perform JTAG SCAN-IN operation at maximum TCK frequency.
Dummy data is shifted into the JTAG chain via TDI, TDO data is sampled and stored in the EP2 IN buffer.
Maximum achievable TCK frequency is 182 kHz for ULINK clocked at 24 MHz.
out_offset | offset in OUT2BUF where payload data starts |
in_offset |
Definition at line 42 of file jtag.c.
References GET_TDO, jtag_clock_tms(), PIN_TCK, PIN_TDI, and PIN_TMS.
Referenced by execute_command().
void jtag_scan_io | ( | uint8_t | out_offset, |
uint8_t | in_offset | ||
) |
Perform bidirectional JTAG SCAN operation at maximum TCK frequency.
Data stored in EP2 OUT buffer is shifted into the JTAG chain via TDI, TDO data is sampled and stored in the EP2 IN buffer. The TAP-FSM state is always left in the PAUSE-DR/PAUSE-IR state.
Maximum achievable TCK frequency is 100 kHz for ULINK clocked at 24 MHz.
out_offset | offset in OUT2BUF where payload data starts |
in_offset |
Definition at line 369 of file jtag.c.
References GET_TDO, jtag_clock_tms(), PIN_TCK, PIN_TDI, and PIN_TMS.
Referenced by execute_command().
void jtag_scan_out | ( | uint8_t | out_offset | ) |
Perform JTAG SCAN-OUT operation at maximum TCK frequency.
Data stored in EP2 OUT buffer is shifted into the JTAG chain via TDI, TDO data is not sampled. The TAP-FSM state is always left in the PAUSE-DR/PAUSE-IR state.
Maximum achievable TCK frequency is 142 kHz for ULINK clocked at 24 MHz.
out_offset | offset in OUT2BUF where payload data starts |
Definition at line 208 of file jtag.c.
References jtag_clock_tms(), PIN_TCK, PIN_TDI, and PIN_TMS.
Referenced by execute_command().
void jtag_set_signals | ( | uint8_t | low, |
uint8_t | high | ||
) |
Set state of JTAG output signals.
low | signals which should be de-asserted. |
high | signals which should be asserted. |
Definition at line 691 of file jtag.c.
References low, and MASK_PORTB_DIRECTION_OUT.
Referenced by execute_command().
void jtag_slow_clock_tck | ( | uint16_t | count | ) |
void jtag_slow_clock_tms | ( | uint8_t | count, |
uint8_t | sequence | ||
) |
Perform TAP-FSM state transitions at less than maximum TCK frequency.
Maximum achievable TCK frequency is 117 kHz for ULINK clocked at 24 MHz.
count | the number of state transitions to perform. |
sequence | the TMS pin levels for each state transition, starting with the least-significant bit. |
Definition at line 630 of file jtag.c.
References count, delay_tms, PIN_TCK, and PIN_TMS.
Referenced by execute_command(), jtag_slow_scan_in(), jtag_slow_scan_io(), and jtag_slow_scan_out().
void jtag_slow_scan_in | ( | uint8_t | out_offset, |
uint8_t | in_offset | ||
) |
Perform JTAG SCAN-IN operation at variable TCK frequency.
Dummy data is shifted into the JTAG chain via TDI, TDO data is sampled and stored in the EP2 IN buffer.
Maximum achievable TCK frequency is 113 kHz for ULINK clocked at 24 MHz.
out_offset | offset in OUT2BUF where payload data starts |
in_offset |
Definition at line 120 of file jtag.c.
References delay_scan_in, GET_TDO, jtag_slow_clock_tms(), PIN_TCK, PIN_TDI, and PIN_TMS.
Referenced by execute_command().
void jtag_slow_scan_io | ( | uint8_t | out_offset, |
uint8_t | in_offset | ||
) |
Perform bidirectional JTAG SCAN operation at maximum TCK frequency.
Data stored in EP2 OUT buffer is shifted into the JTAG chain via TDI, TDO data is sampled and stored in the EP2 IN buffer. The TAP-FSM state is always left in the PAUSE-DR/PAUSE-IR state.
Maximum achievable TCK frequency is 78 kHz for ULINK clocked at 24 MHz.
out_offset | offset in OUT2BUF where payload data starts |
in_offset |
Definition at line 462 of file jtag.c.
References delay_scan_io, GET_TDO, jtag_slow_clock_tms(), PIN_TCK, PIN_TDI, and PIN_TMS.
Referenced by execute_command().
void jtag_slow_scan_out | ( | uint8_t | out_offset | ) |
Perform JTAG SCAN-OUT operation at maximum TCK frequency.
Data stored in EP2 OUT buffer is shifted into the JTAG chain via TDI, TDO data is not sampled. The TAP-FSM state is always left in the PAUSE-DR/PAUSE-IR state.
Maximum achievable TCK frequency is 97 kHz for ULINK clocked at 24 MHz.
out_offset | offset in OUT2BUF where payload data starts |
Definition at line 283 of file jtag.c.
References delay_scan_out, jtag_slow_clock_tms(), PIN_TCK, PIN_TDI, and PIN_TMS.
Referenced by execute_command().