OpenOCD
rlink.c File Reference
Include dependency graph for rlink.c:

Go to the source code of this file.

Data Structures

struct  dtc_reply_queue_entry
 

Macros

#define DTC_LOAD_BUFFER   ST7_USB_BUF_EP2UIDO
 
#define DTC_STATUS_POLL_BYTE   (ST7_USB_BUF_EP0OUT + 0xff)
 
#define DTCLOAD_COMMENT   (0)
 
#define DTCLOAD_ENTRY   (1)
 
#define DTCLOAD_LOAD   (2)
 
#define DTCLOAD_LUT   (5)
 
#define DTCLOAD_LUT_START   (4)
 
#define DTCLOAD_RUN   (3)
 
#define INTERFACE_NAME   "RLink"
 
#define ST7_PA_DBGACK   ST7_PA_IO10
 
#define ST7_PA_DBGRQ   ST7_PA_IO4
 
#define ST7_PA_IO1   ST7_PA1
 
#define ST7_PA_IO10   ST7_PA7
 
#define ST7_PA_IO2   ST7_PA2
 
#define ST7_PA_IO4   ST7_PA4
 
#define ST7_PA_IO8   ST7_PA6
 
#define ST7_PA_NTRST   ST7_PA_IO1
 
#define ST7_PA_RTCK   ST7_PA_IO0
 
#define ST7_PB_IO5   ST7_PB5
 
#define ST7_PB_NSRST   ST7_PB_IO5
 
#define ST7_PC_IO3   ST7_PC2
 
#define ST7_PC_IO7   ST7_PC3
 
#define ST7_PC_IO9   ST7_PC1
 
#define ST7_PC_TCK   ST7_PC_IO7
 
#define ST7_PC_TDI   ST7_PC_IO3
 
#define ST7_PC_TDO   ST7_PC_IO9
 
#define ST7_PD_NBUSY_LED   ST7_PD0
 
#define ST7_PD_NRUN_LED   ST7_PD1
 
#define ST7_PD_VPP_SEL   ST7_PD6
 
#define ST7_PD_VPP_SHDN   ST7_PD7
 
#define ST7_PE_ADAPTER_SENSE_IN   ST7_PE3
 
#define ST7_PE_ADAPTER_SENSE_OUT   ST7_PE4
 
#define ST7_PE_IO6   ST7_PE5
 
#define ST7_PE_TMS   ST7_PE_IO6
 
#define USB_EP1IN_ADDR   (USB_EP1OUT_ADDR | 0x80)
 
#define USB_EP1IN_SIZE   (USB_EP1OUT_SIZE)
 
#define USB_EP1OUT_ADDR   (0x01)
 
#define USB_EP1OUT_SIZE   (16)
 
#define USB_EP2BANK_SIZE   (512)
 
#define USB_EP2IN_ADDR   (USB_EP2OUT_ADDR | 0x80)
 
#define USB_EP2IN_SIZE   (USB_EP2OUT_SIZE)
 
#define USB_EP2OUT_ADDR   (0x02)
 
#define USB_EP2OUT_SIZE   (64)
 
#define USB_IDPRODUCT   (0x9000)
 
#define USB_IDVENDOR   (0x138e)
 

Functions

static int dtc_load_from_buffer (struct libusb_device_handle *hdev_param, const uint8_t *buffer, size_t length)
 
static struct dtc_reply_queue_entrydtc_queue_enqueue_reply (enum scan_type type, uint8_t *buffer, int size, int offset, int length, struct jtag_command *cmd)
 
static int dtc_queue_init (void)
 
static int dtc_queue_run (void)
 
static int dtc_queue_run_if_full (int reserved_cmd, int reserved_reply)
 
static int dtc_run_download (struct libusb_device_handle *hdev_param, uint8_t *command_buffer, int command_buffer_size, uint8_t *reply_buffer, int reply_buffer_size)
 
static int dtc_start_download (void)
 
static int ep1_generic_commandl (struct libusb_device_handle *hdev_param, size_t length,...)
 
static ssize_t ep1_memory_write (struct libusb_device_handle *hdev_param, uint16_t addr, size_t length, uint8_t const *buffer)
 
static void rlink_end_state (tap_state_t state)
 
static int rlink_execute_queue (void)
 
static int rlink_init (void)
 
static int rlink_khz (int khz, int *speed)
 
static void rlink_path_move (struct pathmove_command *cmd)
 
static int rlink_quit (void)
 
static void rlink_reset (int trst, int srst)
 
static void rlink_runtest (int num_cycles)
 
static int rlink_scan (struct jtag_command *cmd, enum scan_type type, uint8_t *buffer, int scan_size)
 
static int rlink_speed (int speed)
 
static int rlink_speed_div (int speed, int *khz)
 
static void rlink_state_move (void)
 
static int tap_state_queue_append (uint8_t tms)
 
static int tap_state_queue_init (void)
 
static int tap_state_queue_run (void)
 

Variables

static uint8_t dtc_entry_download
 
struct {
   uint8_t   cmd_buffer [USB_EP2BANK_SIZE]
 
   uint32_t   cmd_index
 
   uint32_t   reply_index
 
   struct dtc_reply_queue_entry *   rq_head
 
   struct dtc_reply_queue_entry *   rq_tail
 
dtc_queue
 
static struct libusb_device_handle * hdev
 
struct adapter_driver rlink_adapter_driver
 
static struct jtag_interface rlink_interface
 
struct {
   uint32_t   buffer
 
   uint32_t   length
 
tap_state_queue
 

Macro Definition Documentation

◆ DTC_LOAD_BUFFER

#define DTC_LOAD_BUFFER   ST7_USB_BUF_EP2UIDO

Definition at line 280 of file rlink.c.

◆ DTC_STATUS_POLL_BYTE

#define DTC_STATUS_POLL_BYTE   (ST7_USB_BUF_EP0OUT + 0xff)

Definition at line 51 of file rlink.c.

◆ DTCLOAD_COMMENT

#define DTCLOAD_COMMENT   (0)

Definition at line 273 of file rlink.c.

◆ DTCLOAD_ENTRY

#define DTCLOAD_ENTRY   (1)

Definition at line 274 of file rlink.c.

◆ DTCLOAD_LOAD

#define DTCLOAD_LOAD   (2)

Definition at line 275 of file rlink.c.

◆ DTCLOAD_LUT

#define DTCLOAD_LUT   (5)

Definition at line 278 of file rlink.c.

◆ DTCLOAD_LUT_START

#define DTCLOAD_LUT_START   (4)

Definition at line 277 of file rlink.c.

◆ DTCLOAD_RUN

#define DTCLOAD_RUN   (3)

Definition at line 276 of file rlink.c.

◆ INTERFACE_NAME

#define INTERFACE_NAME   "RLink"

Definition at line 35 of file rlink.c.

◆ ST7_PA_DBGACK

#define ST7_PA_DBGACK   ST7_PA_IO10

Definition at line 85 of file rlink.c.

◆ ST7_PA_DBGRQ

#define ST7_PA_DBGRQ   ST7_PA_IO4

Definition at line 80 of file rlink.c.

◆ ST7_PA_IO1

#define ST7_PA_IO1   ST7_PA1

Definition at line 65 of file rlink.c.

◆ ST7_PA_IO10

#define ST7_PA_IO10   ST7_PA7

Definition at line 69 of file rlink.c.

◆ ST7_PA_IO2

#define ST7_PA_IO2   ST7_PA2

Definition at line 66 of file rlink.c.

◆ ST7_PA_IO4

#define ST7_PA_IO4   ST7_PA4

Definition at line 67 of file rlink.c.

◆ ST7_PA_IO8

#define ST7_PA_IO8   ST7_PA6

Definition at line 68 of file rlink.c.

◆ ST7_PA_NTRST

#define ST7_PA_NTRST   ST7_PA_IO1

Definition at line 78 of file rlink.c.

◆ ST7_PA_RTCK

#define ST7_PA_RTCK   ST7_PA_IO0

Definition at line 77 of file rlink.c.

◆ ST7_PB_IO5

#define ST7_PB_IO5   ST7_PB5

Definition at line 70 of file rlink.c.

◆ ST7_PB_NSRST

#define ST7_PB_NSRST   ST7_PB_IO5

Definition at line 81 of file rlink.c.

◆ ST7_PC_IO3

#define ST7_PC_IO3   ST7_PC2

Definition at line 72 of file rlink.c.

◆ ST7_PC_IO7

#define ST7_PC_IO7   ST7_PC3

Definition at line 73 of file rlink.c.

◆ ST7_PC_IO9

#define ST7_PC_IO9   ST7_PC1

Definition at line 71 of file rlink.c.

◆ ST7_PC_TCK

#define ST7_PC_TCK   ST7_PC_IO7

Definition at line 83 of file rlink.c.

◆ ST7_PC_TDI

#define ST7_PC_TDI   ST7_PC_IO3

Definition at line 79 of file rlink.c.

◆ ST7_PC_TDO

#define ST7_PC_TDO   ST7_PC_IO9

Definition at line 84 of file rlink.c.

◆ ST7_PD_NBUSY_LED

#define ST7_PD_NBUSY_LED   ST7_PD0

Definition at line 53 of file rlink.c.

◆ ST7_PD_NRUN_LED

#define ST7_PD_NRUN_LED   ST7_PD1

Definition at line 54 of file rlink.c.

◆ ST7_PD_VPP_SEL

#define ST7_PD_VPP_SEL   ST7_PD6

Definition at line 56 of file rlink.c.

◆ ST7_PD_VPP_SHDN

#define ST7_PD_VPP_SHDN   ST7_PD7

Definition at line 58 of file rlink.c.

◆ ST7_PE_ADAPTER_SENSE_IN

#define ST7_PE_ADAPTER_SENSE_IN   ST7_PE3

Definition at line 61 of file rlink.c.

◆ ST7_PE_ADAPTER_SENSE_OUT

#define ST7_PE_ADAPTER_SENSE_OUT   ST7_PE4

Definition at line 62 of file rlink.c.

◆ ST7_PE_IO6

#define ST7_PE_IO6   ST7_PE5

Definition at line 74 of file rlink.c.

◆ ST7_PE_TMS

#define ST7_PE_TMS   ST7_PE_IO6

Definition at line 82 of file rlink.c.

◆ USB_EP1IN_ADDR

#define USB_EP1IN_ADDR   (USB_EP1OUT_ADDR | 0x80)

Definition at line 42 of file rlink.c.

◆ USB_EP1IN_SIZE

#define USB_EP1IN_SIZE   (USB_EP1OUT_SIZE)

Definition at line 43 of file rlink.c.

◆ USB_EP1OUT_ADDR

#define USB_EP1OUT_ADDR   (0x01)

Definition at line 40 of file rlink.c.

◆ USB_EP1OUT_SIZE

#define USB_EP1OUT_SIZE   (16)

Definition at line 41 of file rlink.c.

◆ USB_EP2BANK_SIZE

#define USB_EP2BANK_SIZE   (512)

Definition at line 49 of file rlink.c.

◆ USB_EP2IN_ADDR

#define USB_EP2IN_ADDR   (USB_EP2OUT_ADDR | 0x80)

Definition at line 47 of file rlink.c.

◆ USB_EP2IN_SIZE

#define USB_EP2IN_SIZE   (USB_EP2OUT_SIZE)

Definition at line 48 of file rlink.c.

◆ USB_EP2OUT_ADDR

#define USB_EP2OUT_ADDR   (0x02)

Definition at line 45 of file rlink.c.

◆ USB_EP2OUT_SIZE

#define USB_EP2OUT_SIZE   (64)

Definition at line 46 of file rlink.c.

◆ USB_IDPRODUCT

#define USB_IDPRODUCT   (0x9000)

Definition at line 38 of file rlink.c.

◆ USB_IDVENDOR

#define USB_IDVENDOR   (0x138e)

Definition at line 37 of file rlink.c.

Function Documentation

◆ dtc_load_from_buffer()

static int dtc_load_from_buffer ( struct libusb_device_handle *  hdev_param,
const uint8_t *  buffer,
size_t  length 
)
static

◆ dtc_queue_enqueue_reply()

static struct dtc_reply_queue_entry* dtc_queue_enqueue_reply ( enum scan_type  type,
uint8_t *  buffer,
int  size,
int  offset,
int  length,
struct jtag_command cmd 
)
inlinestatic

◆ dtc_queue_init()

static int dtc_queue_init ( void  )
static

Definition at line 582 of file rlink.c.

References dtc_queue, and NULL.

Referenced by rlink_init().

◆ dtc_queue_run()

◆ dtc_queue_run_if_full()

static int dtc_queue_run_if_full ( int  reserved_cmd,
int  reserved_reply 
)
static

Definition at line 760 of file rlink.c.

References dtc_queue, dtc_queue_run(), ERROR_OK, USB_EP2BANK_SIZE, and USB_EP2IN_SIZE.

Referenced by rlink_scan(), and tap_state_queue_run().

◆ dtc_run_download()

static int dtc_run_download ( struct libusb_device_handle *  hdev_param,
uint8_t *  command_buffer,
int  command_buffer_size,
uint8_t *  reply_buffer,
int  reply_buffer_size 
)
static

◆ dtc_start_download()

◆ ep1_generic_commandl()

static int ep1_generic_commandl ( struct libusb_device_handle *  hdev_param,
size_t  length,
  ... 
)
static

◆ ep1_memory_write()

static ssize_t ep1_memory_write ( struct libusb_device_handle *  hdev_param,
uint16_t  addr,
size_t  length,
uint8_t const *  buffer 
)
static

◆ rlink_end_state()

static void rlink_end_state ( tap_state_t  state)
static

Definition at line 845 of file rlink.c.

References LOG_ERROR, state, tap_is_state_stable(), and tap_set_end_state().

Referenced by rlink_execute_queue(), rlink_runtest(), and rlink_scan().

◆ rlink_execute_queue()

◆ rlink_init()

◆ rlink_khz()

static int rlink_khz ( int  khz,
int *  speed 
)
static

◆ rlink_path_move()

static void rlink_path_move ( struct pathmove_command cmd)
static

◆ rlink_quit()

static int rlink_quit ( void  )
static

Definition at line 1655 of file rlink.c.

◆ rlink_reset()

◆ rlink_runtest()

static void rlink_runtest ( int  num_cycles)
static

◆ rlink_scan()

◆ rlink_speed()

static int rlink_speed ( int  speed)
static

◆ rlink_speed_div()

static int rlink_speed_div ( int  speed,
int *  khz 
)
static

Definition at line 1407 of file rlink.c.

References ERROR_FAIL, ERROR_OK, rlink_speed_table::khz, LOG_ERROR, and rlink_speed_table_size.

◆ rlink_state_move()

static void rlink_state_move ( void  )
static

◆ tap_state_queue_append()

static int tap_state_queue_append ( uint8_t  tms)
static

Definition at line 828 of file rlink.c.

References tap_state_queue, and tap_state_queue_run().

Referenced by rlink_path_move(), rlink_runtest(), rlink_scan(), and rlink_state_move().

◆ tap_state_queue_init()

static int tap_state_queue_init ( void  )
static

Definition at line 772 of file rlink.c.

References tap_state_queue.

Referenced by rlink_init(), and tap_state_queue_run().

◆ tap_state_queue_run()

static int tap_state_queue_run ( void  )
static

Variable Documentation

◆ buffer

uint32_t buffer

Definition at line 579 of file rlink.c.

Referenced by aarch64_read_cpu_memory(), aarch64_read_cpu_memory_fast(), aarch64_read_cpu_memory_slow(), aarch64_read_memory(), aarch64_read_phys_memory(), aarch64_write_cpu_memory(), aarch64_write_cpu_memory_fast(), aarch64_write_cpu_memory_slow(), aarch64_write_memory(), aarch64_write_phys_memory(), adapter_read_memory(), adapter_write_memory(), aduc702x_write(), aduc702x_write_block(), aduc702x_write_single(), aducm360_write(), aducm360_write_block(), aducm360_write_block_async(), aducm360_write_block_sync(), aducm360_write_modified(), aice_bulk_read_mem(), aice_bulk_write_mem(), aice_pipe_read(), aice_pipe_read_mem_bulk(), aice_pipe_read_mem_unit(), aice_pipe_write(), aice_pipe_write_mem_bulk(), aice_pipe_write_mem_unit(), aice_read_mem_bulk(), aice_read_mem_unit(), aice_usb_bulk_read_mem(), aice_usb_bulk_write_mem(), aice_usb_read_memory_unit(), aice_usb_write_memory_unit(), aice_write_mem_bulk(), aice_write_mem_unit(), ambiqmicro_write(), ambiqmicro_write_block(), amt_jtagaccel_execute_queue(), amt_jtagaccel_init(), amt_jtagaccel_scan(), arc_jtag_enque_status_read(), arc_jtag_read_aux_reg(), arc_jtag_read_core_reg(), arc_jtag_read_memory(), arc_jtag_read_registers(), arc_jtag_status(), arc_jtag_write_aux_reg(), arc_jtag_write_core_reg(), arc_jtag_write_memory(), arc_jtag_write_registers(), arc_mem_read(), arc_mem_write(), arm11_read_memory(), arm11_read_memory_inner(), arm11_write_memory(), arm11_write_memory_inner(), arm720t_read_memory(), arm720t_read_phys_memory(), arm720t_write_phys_memory(), arm7_9_bulk_write_memory(), arm7_9_dcc_completion(), arm7_9_read_memory(), arm7_9_target_request_data(), arm7_9_write_memory(), arm7_9_write_memory_no_opt(), arm7_9_write_memory_opt(), arm7tdmi_read_core_regs_target_buffer(), arm920t_read_memory(), arm920t_read_phys_memory(), arm920t_write_memory(), arm920t_write_phys_memory(), arm926ejs_read_phys_memory(), arm926ejs_write_memory(), arm926ejs_write_phys_memory(), arm946e_read_memory(), arm946e_write_memory(), arm9tdmi_read_core_regs_target_buffer(), armjtagew_execute_queue(), armjtagew_scan(), armjtagew_tap_append_scan(), armjtagew_tap_execute(), armv4_5_mmu_read_physical(), armv4_5_mmu_write_physical(), at91sam7_erase(), at91sam7_write(), ath79_read(), ath79_read_buffer(), ath79_write(), ath79_write_buffer(), ath79_write_page(), autodetect_image_type(), avr32_ap7k_read_memory(), avr32_ap7k_write_memory(), avr32_jtag_read_memory16(), avr32_jtag_read_memory32(), avr32_jtag_read_memory8(), avr32_jtag_write_memory16(), avr32_jtag_write_memory32(), avr32_jtag_write_memory8(), avrf_write(), bitbang_execute_queue(), bitbang_scan(), bluenrgx_write(), buf_get_u32(), buf_get_u64(), buf_set_u32(), buf_set_u64(), buspirate_execute_queue(), buspirate_scan(), buspirate_tap_append_scan(), buspirate_tap_execute(), cc26xx_write(), cc3220sf_write(), cfi_intel_write_block(), cfi_read(), cfi_spansion_write_block(), cfi_spansion_write_block_mips(), cfi_target_read_memory(), cfi_target_write_memory(), cfi_write(), COMMAND_HANDLER(), COMMAND_HELPER(), cortex_a_read_buffer(), cortex_a_read_cpu_memory(), cortex_a_read_cpu_memory_fast(), cortex_a_read_cpu_memory_slow(), cortex_a_read_memory(), cortex_a_read_phys_memory(), cortex_a_write_buffer(), cortex_a_write_cpu_memory(), cortex_a_write_cpu_memory_fast(), cortex_a_write_cpu_memory_slow(), cortex_a_write_memory(), cortex_a_write_phys_memory(), cortex_m_read_memory(), cortex_m_target_request_data(), cortex_m_write_memory(), cpu_context_read(), default_flash_mem_blank_check(), default_flash_read(), default_flash_verify(), dsp563xx_read_buffer_default(), dsp563xx_read_memory(), dsp563xx_read_memory_core(), dsp563xx_read_memory_default(), dsp563xx_write_buffer_default(), dsp563xx_write_memory(), dsp563xx_write_memory_core(), dsp563xx_write_memory_default(), dsp5680xx_f_wr(), dsp5680xx_flash_write(), dsp5680xx_read(), dsp5680xx_read_buffer(), dsp5680xx_write(), dtc_load_from_buffer(), dtc_queue_enqueue_reply(), efm32x_priv_write(), efm32x_write(), em357_write(), em357_write_block(), embeddedice_write_dcc(), ep1_memory_write(), esirisc_flash_fill_pb(), esirisc_flash_write(), esirisc_read_memory(), esirisc_trace_analyze(), esirisc_trace_analyze_buffer(), esirisc_trace_analyze_full(), esirisc_trace_analyze_memory(), esirisc_trace_analyze_simple(), esirisc_trace_buf_get_pc(), esirisc_trace_buf_get_u32(), esirisc_trace_dump(), esirisc_trace_dump_buffer(), esirisc_trace_dump_memory(), esirisc_trace_read_buffer(), esirisc_trace_read_memory(), esirisc_write_memory(), fa526_read_core_regs_target_buffer(), faux_write(), feroceon_bulk_write_memory(), feroceon_read_core_regs_target_buffer(), fespi_write(), fetch_packet(), fileio_fgets(), fileio_local_fgets(), fileio_local_read(), fileio_local_write(), fileio_read(), fileio_write(), fill_addr(), fill_buffer(), fill_task(), flash_driver_read(), flash_driver_verify(), flash_driver_write(), flash_write_unlock_verify(), fm3_write_block(), fm4_flash_write(), gdb_get_packet(), gdb_get_packet_inner(), gdb_put_packet(), gdb_put_packet_inner(), gdb_query_packet(), gdb_read_memory_packet(), gdb_read_smp_packet(), gdb_write_memory_packet(), get_buffer(), get_current(), gw16012_execute_queue(), gw16012_scan(), handle_iod_output(), hl_target_request_data(), hwthread_read_buffer(), hwthread_write_buffer(), icdi_send_packet(), icdi_usb_read_mem(), icdi_usb_read_mem_int(), icdi_usb_write_mem(), icdi_usb_write_mem_int(), image_calculate_checksum(), image_elf32_read_section(), image_elf64_read_section(), image_elf_read_section(), image_read_section(), isc_data_read_out(), jlink_swd_run_queue(), jsp_input(), jtag_build_buffer(), jtag_read_buffer(), jtagspi_page_write(), jtagspi_read(), jtagspi_write(), kinetis_ke_write(), kinetis_ke_write_words(), kinetis_write(), kinetis_write_block(), kinetis_write_inner(), kinetis_write_sections(), kitprog_swd_run_queue(), linux_read_memory(), lpc2000_write(), lpc2900_write(), lpcspifi_write(), ls1_sap_read_memory(), max32xxx_write(), max32xxx_write_block(), mdr_read(), mdr_write(), mdr_write_block(), mem_ap_read(), mem_ap_read_buf(), mem_ap_read_buf_noincr(), mem_ap_read_memory(), mem_ap_write(), mem_ap_write_buf(), mem_ap_write_buf_noincr(), mips_m4k_bulk_write_memory(), mips_m4k_read_memory(), mips_m4k_write_memory(), mips_mips64_bulk_write_memory(), mips_mips64_read_memory(), mips_mips64_write_memory(), mqx_target_read_buffer(), mrvlqspi_flash_read(), mrvlqspi_flash_write(), msp432_wait_inactive(), msp432_write(), nds32_gdb_fileio_write_memory(), nds32_read_buffer(), nds32_read_memory(), nds32_read_phys_memory(), nds32_v2_read_buffer(), nds32_v2_read_memory(), nds32_v2_write_buffer(), nds32_v3_read_buffer(), nds32_v3_read_memory(), nds32_v3_write_buffer(), nds32_v3_write_memory(), nds32_write_buffer(), nds32_write_memory(), nds32_write_phys_memory(), need_bit_reverse(), next_task(), niietcm4_write(), niietcm4_write_block(), npcx_write(), nrf5_ll_flash_write(), nrf5_write(), nulink_usb_read_mem(), nulink_usb_read_mem32(), nulink_usb_read_mem8(), nulink_usb_write_mem(), nulink_usb_write_mem32(), nulink_usb_write_mem8(), numicro_write(), numicro_writeblock(), ocl_write(), opendous_execute_queue(), opendous_scan(), opendous_tap_append_scan(), opendous_tap_execute(), openjtag_add_scan(), openjtag_execute_scan(), openjtag_execute_tap_queue(), or1k_adv_jtag_read_memory(), or1k_adv_jtag_write_memory(), or1k_read_memory(), or1k_write_memory(), osbdm_swap(), parport_init(), pic32mx_write(), pic32mx_write_block(), psoc4_write(), psoc5lp_eeprom_write(), psoc5lp_nvl_read(), psoc5lp_nvl_write(), psoc5lp_write(), psoc6_program(), psoc6_program_row(), qspi_read_write_block(), qspi_verify(), read_and_discard_all_data(), read_by_given_size(), read_callback(), read_from_channel(), read_memory(), read_memory_abstract(), read_memory_bus_v0(), read_memory_bus_v1(), read_memory_bus_word(), read_memory_progbuf(), read_memory_progbuf_inner(), read_memory_progbuf_one(), read_phys_mem(), read_section(), read_sfdp_block(), read_socket(), read_userrow(), remote_escape_output(), remote_unescape_input(), riot_update_threads(), riscv_address_translate(), riscv_hit_watchpoint(), riscv_read_by_any_size(), riscv_read_memory(), riscv_read_phys_memory(), riscv_write_by_any_size(), riscv_write_memory(), riscv_write_phys_memory(), rlink_execute_queue(), rlink_scan(), rp2040_flash_write(), rpchf_target_read_memory(), rpchf_target_write_memory(), rpchf_write(), rsl10_ll_flash_write(), rsl10_write(), rtos_read_buffer(), rtos_thread_packet(), rtos_write_buffer(), rtt_input(), rtt_write_channel(), sam3_write(), sam4_write(), sam4l_write(), samd_write(), same5_write(), samv_write(), scratch_read64(), scratch_write64(), sh_qspi_read(), sh_qspi_write(), sim3x_flash_write(), slow_fespi_write_buffer(), smi_write_buffer(), stellaris_write(), stellaris_write_block(), stlink_open(), stlink_swim_op_read_mem(), stlink_swim_op_write_mem(), stlink_usb_read_ap_mem(), stlink_usb_read_mem(), stlink_usb_read_mem16(), stlink_usb_read_mem32(), stlink_usb_read_mem32_noaddrinc(), stlink_usb_read_mem8(), stlink_usb_rw_misc_in(), stlink_usb_rw_misc_out(), stlink_usb_write_ap_mem(), stlink_usb_write_mem(), stlink_usb_write_mem16(), stlink_usb_write_mem32(), stlink_usb_write_mem32_noaddrinc(), stlink_usb_write_mem8(), stm32l4_write(), stm32l4_write_block(), stm32l4_write_block_without_loader(), stm32lx_write(), stm32lx_write_half_pages(), stm32x_write(), stm32x_write_block(), stm32x_write_block_async(), stm32x_write_block_riscv(), stm8_read_memory(), stm8_write_flash(), stm8_write_memory(), stmqspi_read(), stmqspi_verify(), stmqspi_write(), stmsmi_write(), str7x_write(), str7x_write_block(), str9x_write(), str9x_write_block(), str9xpec_blank_check(), str9xpec_erase_area(), str9xpec_write(), swim_read_mem(), swim_write_mem(), swm050_write(), syncbb_scan(), target_array2mem(), target_buffer_get_u16(), target_buffer_get_u16_array(), target_buffer_get_u24(), target_buffer_get_u32(), target_buffer_get_u32_array(), target_buffer_get_u64(), target_buffer_get_u64_array(), target_buffer_set_u16(), target_buffer_set_u16_array(), target_buffer_set_u24(), target_buffer_set_u32(), target_buffer_set_u32_array(), target_buffer_set_u64(), target_buffer_set_u64_array(), target_buffer_set_u8(), target_checksum_memory(), target_handle_md_output(), target_jim_read_memory(), target_jim_write_memory(), target_mem2array(), target_read_buffer(), target_read_buffer_default(), target_read_memory(), target_read_phys_memory(), target_rtt_read_callback(), target_rtt_write_callback(), target_run_flash_async_algorithm(), target_run_read_async_algorithm(), target_write_buffer(), target_write_buffer_default(), target_write_memory(), target_write_phys_memory(), telnet_input(), telnet_load_history(), tms470_erase_check(), tms470_write(), ublast2_libusb_init(), ulink_execute_queued_commands(), usb_get_response(), usb_read(), usb_write(), usbprog_execute_queue(), usbprog_jtag_read_tdo(), usbprog_jtag_write_and_read(), usbprog_jtag_write_tdi(), usbprog_scan(), versaloon_add_pending(), virtual_write(), vsllink_execute_queue(), vsllink_jtag_execute(), vsllink_scan(), vsllink_tap_append_scan(), w600_write(), write_by_given_size(), write_memory(), write_memory_abstract(), write_memory_bus_v0(), write_memory_bus_v1(), write_memory_progbuf(), write_phys_mem(), write_socket(), write_to_channel(), x86_32_common_read_phys_mem(), x86_32_common_write_phys_mem(), xcf_read(), xcf_write(), xds110_get_u16(), xds110_get_u32(), xds110_queue_scan(), xds110_set_u16(), xds110_set_u32(), xmc1xxx_write(), xmc4xxx_write(), xscale_deassert_reset(), xscale_debug_entry(), xscale_full_context(), xscale_load_ic(), xscale_read_memory(), xscale_read_phys_memory(), xscale_receive(), xscale_send(), xscale_write_memory(), xscale_write_phys_memory(), xtensa_read_buffer(), xtensa_read_memory(), xtensa_update_instruction(), xtensa_write_buffer(), and xtensa_write_memory().

◆ cmd_buffer

uint8_t cmd_buffer[USB_EP2BANK_SIZE]

Definition at line 568 of file rlink.c.

◆ cmd_index

uint32_t cmd_index

Definition at line 566 of file rlink.c.

Referenced by stlink_usb_misc_rw_segment().

◆ dtc_entry_download

uint8_t dtc_entry_download
static

Definition at line 283 of file rlink.c.

Referenced by dtc_load_from_buffer(), and dtc_start_download().

◆ 

◆ hdev

struct libusb_device_handle* hdev
static

◆ length

uint32_t length

◆ reply_index

uint32_t reply_index

Definition at line 567 of file rlink.c.

◆ rlink_adapter_driver

struct adapter_driver rlink_adapter_driver
Initial value:
= {
.name = "rlink",
.transports = jtag_only,
.init = rlink_init,
.quit = rlink_quit,
.speed = rlink_speed,
.khz = rlink_khz,
.speed_div = rlink_speed_div,
.jtag_ops = &rlink_interface,
}
const char *const jtag_only[]
Definition: adapter.c:31

Definition at line 1655 of file rlink.c.

◆ rlink_interface

struct jtag_interface rlink_interface
static
Initial value:
= {
.execute_queue = rlink_execute_queue,
}

Definition at line 1655 of file rlink.c.

◆ rq_head

struct dtc_reply_queue_entry* rq_head

Definition at line 564 of file rlink.c.

◆ rq_tail

struct dtc_reply_queue_entry* rq_tail

Definition at line 565 of file rlink.c.

◆ 

struct { ... } tap_state_queue