|
OpenOCD
|

Go to the source code of this file.
Data Structures | |
| struct | end_state_command |
| struct | jtag_command |
| union | jtag_command_container |
| Defines a container type that hold a pointer to a JTAG command structure of any defined type. More... | |
| struct | pathmove_command |
| struct | reset_command |
| struct | runtest_command |
| struct | scan_command |
| The scan_command provide a means of encapsulating a set of scan_field_s structures that should be scanned in/out to the device. More... | |
| struct | sleep_command |
| struct | stableclocks_command |
| struct | statemove_command |
| struct | tms_command |
| Encapsulates a series of bits to be clocked out, affecting state and mode of the interface. More... | |
Enumerations | |
| enum | jtag_command_type { JTAG_SCAN = 1 , JTAG_TLR_RESET = 2 , JTAG_RUNTEST = 3 , JTAG_RESET = 4 , JTAG_PATHMOVE = 6 , JTAG_SLEEP = 7 , JTAG_STABLECLOCKS = 8 , JTAG_TMS = 9 } |
The type of the jtag_command_container contained by a jtag_command_s structure. More... | |
| enum | scan_type { SCAN_IN = 1 , SCAN_OUT = 2 , SCAN_IO = 3 } |
| The inferred type of a scan_command_s structure, indicating whether the command has the host scan in from the device, the host scan out to the device, or both. More... | |
Functions | |
| void * | cmd_queue_alloc (size_t size) |
| int | jtag_build_buffer (const struct scan_command *cmd, uint8_t **buffer) |
| void | jtag_command_queue_reset (void) |
| void | jtag_queue_command (struct jtag_command *cmd) |
| int | jtag_read_buffer (uint8_t *buffer, const struct scan_command *cmd) |
| void | jtag_scan_field_clone (struct scan_field *dst, const struct scan_field *src) |
| Copy a struct scan_field for insertion into the queue. More... | |
| int | jtag_scan_size (const struct scan_command *cmd) |
| enum scan_type | jtag_scan_type (const struct scan_command *cmd) |
Variables | |
| struct jtag_command * | jtag_command_queue |
| The current queue of jtag_command_s structures. More... | |
| enum jtag_command_type |
The type of the jtag_command_container contained by a jtag_command_s structure.
| Enumerator | |
|---|---|
| JTAG_SCAN | |
| JTAG_TLR_RESET | |
| JTAG_RUNTEST | |
| JTAG_RESET | |
| JTAG_PATHMOVE | |
| JTAG_SLEEP | |
| JTAG_STABLECLOCKS | |
| JTAG_TMS | |
Definition at line 128 of file commands.h.
| enum scan_type |
The inferred type of a scan_command_s structure, indicating whether the command has the host scan in from the device, the host scan out to the device, or both.
| Enumerator | |
|---|---|
| SCAN_IN | From device to host,. |
| SCAN_OUT | From host to device,. |
| SCAN_IO | Full-duplex scan. |
Definition at line 22 of file commands.h.
| void* cmd_queue_alloc | ( | size_t | size | ) |
Definition at line 66 of file commands.c.
References ALIGN_SIZE, CMD_QUEUE_PAGE_SIZE, cmd_queue_pages, cmd_queue_pages_tail, NULL, offset, and size.
Referenced by esirisc_jtag_send(), interface_add_tms_seq(), interface_jtag_add_callback4(), interface_jtag_add_clocks(), interface_jtag_add_dr_scan(), interface_jtag_add_ir_scan(), interface_jtag_add_pathmove(), interface_jtag_add_reset(), interface_jtag_add_runtest(), interface_jtag_add_scan_check_alloc(), interface_jtag_add_sleep(), interface_jtag_add_tlr(), jtag_add_plain_scan(), and jtag_scan_field_clone().
| int jtag_build_buffer | ( | const struct scan_command * | cmd, |
| uint8_t ** | buffer | ||
| ) |
Definition at line 189 of file commands.c.
References buf_set_buf(), buf_to_hex_str(), buffer, cmd, DEBUG_JTAG_IOZ, DIV_ROUND_UP, jtag_scan_size(), LOG_DEBUG, LOG_DEBUG_IO, LOG_LEVEL_IS, and LOG_LVL_DEBUG_IO.
Referenced by amt_jtagaccel_execute_queue(), armjtagew_execute_queue(), bitbang_execute_queue(), buspirate_execute_queue(), gw16012_execute_queue(), jtag_dpi_scan(), jtag_vpi_scan(), opendous_execute_queue(), openjtag_execute_scan(), rlink_execute_queue(), ublast_scan(), ulink_queue_scan(), usbprog_execute_queue(), vsllink_execute_queue(), and xlnx_pcie_xvc_execute_scan().
| void jtag_command_queue_reset | ( | void | ) |
Definition at line 142 of file commands.c.
References cmd_queue_free(), jtag_command_queue, next_command_pointer, and NULL.
Referenced by hl_interface_quit(), and interface_jtag_execute_queue().
| void jtag_queue_command | ( | struct jtag_command * | cmd | ) |
Definition at line 39 of file commands.c.
References cmd, LOG_ERROR, next_command_pointer, NULL, and transport_is_jtag().
Referenced by interface_add_tms_seq(), interface_jtag_add_clocks(), interface_jtag_add_dr_scan(), interface_jtag_add_ir_scan(), interface_jtag_add_pathmove(), interface_jtag_add_reset(), interface_jtag_add_runtest(), interface_jtag_add_sleep(), interface_jtag_add_tlr(), and jtag_add_plain_scan().
| int jtag_read_buffer | ( | uint8_t * | buffer, |
| const struct scan_command * | cmd | ||
| ) |
Definition at line 230 of file commands.c.
References buf_cpy(), buf_set_buf(), buf_to_hex_str(), buffer, cmd, DEBUG_JTAG_IOZ, DIV_ROUND_UP, ERROR_OK, LOG_DEBUG, LOG_LEVEL_IS, and LOG_LVL_DEBUG_IO.
Referenced by amt_jtagaccel_execute_queue(), armjtagew_tap_execute(), bitbang_execute_queue(), buspirate_tap_execute(), dtc_queue_run(), gw16012_execute_queue(), jtag_dpi_scan(), jtag_vpi_scan(), opendous_tap_execute(), openjtag_execute_tap_queue(), ublast_scan(), ulink_post_process_scan(), usbprog_execute_queue(), vsllink_jtag_execute(), and xlnx_pcie_xvc_execute_scan().
| void jtag_scan_field_clone | ( | struct scan_field * | dst, |
| const struct scan_field * | src | ||
| ) |
Copy a struct scan_field for insertion into the queue.
This allocates a new copy of out_value using cmd_queue_alloc.
Definition at line 155 of file commands.c.
References buf_cpy(), cmd_queue_alloc(), DIV_ROUND_UP, scan_field::in_value, scan_field::num_bits, and scan_field::out_value.
Referenced by esirisc_jtag_send(), interface_jtag_add_dr_scan(), and interface_jtag_add_ir_scan().
| int jtag_scan_size | ( | const struct scan_command * | cmd | ) |
Definition at line 177 of file commands.c.
References cmd.
Referenced by jtag_build_buffer(), ulink_queue_scan(), and vdebug_jtag_scan().
| enum scan_type jtag_scan_type | ( | const struct scan_command * | cmd | ) |
Definition at line 155 of file commands.c.
Referenced by amt_jtagaccel_execute_queue(), armjtagew_execute_queue(), bitbang_execute_queue(), buspirate_execute_queue(), cmsis_dap_execute_scan(), ftdi_execute_scan(), gw16012_execute_queue(), jlink_execute_scan(), opendous_execute_queue(), rlink_execute_queue(), ublast_scan(), ulink_post_process_scan(), ulink_queue_scan(), usbprog_execute_queue(), vsllink_execute_queue(), and xlnx_pcie_xvc_execute_scan().
|
extern |
The current queue of jtag_command_s structures.
Definition at line 36 of file commands.c.
Referenced by aice_execute_queue(), amt_jtagaccel_execute_queue(), armjtagew_execute_queue(), bitbang_execute_queue(), bitq_execute_queue(), buspirate_execute_queue(), cmsis_dap_execute_queue(), default_interface_jtag_execute_queue(), ftdi_execute_queue(), gw16012_execute_queue(), jlink_execute_queue(), jtag_command_queue_reset(), jtag_dpi_execute_queue(), jtag_vpi_execute_queue(), opendous_execute_queue(), openjtag_execute_queue(), osbdm_execute_queue(), rlink_execute_queue(), ublast_execute_queue(), ulink_execute_queue(), usbprog_execute_queue(), vdebug_jtag_execute_queue(), vsllink_execute_queue(), xds110_execute_queue(), and xlnx_pcie_xvc_execute_queue().