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

Go to the source code of this file.

Data Structures

struct  cmsis_dap
 
struct  pending_scan_result
 
struct  pending_transfer_result
 

Macros

#define CMD_DAP_CONNECT   0x02
 
#define CMD_DAP_DELAY   0x09
 
#define CMD_DAP_DELAY   0x09
 
#define CMD_DAP_DISCONNECT   0x03
 
#define CMD_DAP_INFO   0x00
 
#define CMD_DAP_JTAG_CONFIGURE   0x15
 
#define CMD_DAP_JTAG_IDCODE   0x16
 
#define CMD_DAP_JTAG_SEQ   0x14
 
#define CMD_DAP_LED   0x01
 
#define CMD_DAP_RESET_TARGET   0x0A
 
#define CMD_DAP_SWD_CONFIGURE   0x13
 
#define CMD_DAP_SWJ_CLOCK   0x11
 
#define CMD_DAP_SWJ_PINS   0x10
 
#define CMD_DAP_SWJ_SEQ   0x12
 
#define CMD_DAP_TFER   0x05
 
#define CMD_DAP_TFER_ABORT   0x07
 
#define CMD_DAP_TFER_BLOCK   0x06
 
#define CMD_DAP_TFER_CONFIGURE   0x04
 
#define CMD_DAP_WRITE_ABORT   0x08
 
#define CONNECT_DEFAULT   0x00
 
#define CONNECT_JTAG   0x02
 
#define CONNECT_SWD   0x01
 
#define DAP_ERROR   0xFF
 
#define DAP_JTAG_SEQ_TCK   0x3F
 
#define DAP_JTAG_SEQ_TDO   0x80
 
#define DAP_JTAG_SEQ_TMS   0x40
 
#define DAP_MAX_CLOCK   5000
 
#define DAP_OK   0
 
#define INFO_CAPS_JTAG   0x02
 
#define INFO_CAPS_SWD   0x01
 
#define INFO_ID_CAPS   0xf0 /* byte */
 
#define INFO_ID_FW_VER   0x04 /* string */
 
#define INFO_ID_PID   0x02 /* string */
 
#define INFO_ID_PKT_CNT   0xfe /* byte */
 
#define INFO_ID_PKT_SZ   0xff /* short */
 
#define INFO_ID_SERNUM   0x03 /* string */
 
#define INFO_ID_TD_NAME   0x06 /* string */
 
#define INFO_ID_TD_VEND   0x05 /* string */
 
#define INFO_ID_VID   0x00 /* string */
 
#define LED_ID_CONNECT   0x00
 
#define LED_ID_RUN   0x01
 
#define LED_OFF   0x00
 
#define LED_ON   0x01
 
#define MAX_PENDING_SCAN_RESULTS   256
 
#define MAX_USB_IDS   8
 
#define PACKET_SIZE   (64 + 1) /* 64 bytes plus report id */
 
#define QUEUED_SEQ_BUF_LEN   (cmsis_dap_handle->packet_size - 3)
 
#define SWJ_PIN_SRST   (1<<7)
 
#define SWJ_PIN_TCK   (1<<0)
 
#define SWJ_PIN_TDI   (1<<2)
 
#define SWJ_PIN_TDO   (1<<3)
 
#define SWJ_PIN_TMS   (1<<1)
 
#define SWJ_PIN_TRST   (1<<5)
 
#define USB_TIMEOUT   1000
 

Functions

static void cmsis_dap_add_jtag_sequence (int s_len, const uint8_t *sequence, int s_offset, bool tms, uint8_t *tdo_buffer, int tdo_buffer_offset)
 
static void cmsis_dap_add_tms_sequence (const uint8_t *sequence, int s_len)
 
static int cmsis_dap_cmd_DAP_Connect (uint8_t mode)
 
static int cmsis_dap_cmd_DAP_Disconnect (void)
 
static int cmsis_dap_cmd_DAP_Info (uint8_t info, uint8_t **data)
 
static int cmsis_dap_cmd_DAP_LED (uint8_t leds)
 
static int cmsis_dap_cmd_DAP_SWD_Configure (uint8_t cfg)
 
static int cmsis_dap_cmd_DAP_SWJ_Clock (uint32_t swj_clock)
 
static int cmsis_dap_cmd_DAP_SWJ_Pins (uint8_t pins, uint8_t mask, uint32_t delay, uint8_t *input)
 
static int cmsis_dap_cmd_DAP_SWJ_Sequence (uint8_t s_len, const uint8_t *sequence)
 
static int cmsis_dap_cmd_DAP_TFER_Configure (uint8_t idle, uint16_t retry_count, uint16_t match_retry)
 
static void cmsis_dap_end_state (tap_state_t state)
 
static void cmsis_dap_execute_command (struct jtag_command *cmd)
 
static void cmsis_dap_execute_pathmove (struct jtag_command *cmd)
 
static int cmsis_dap_execute_queue (void)
 
static void cmsis_dap_execute_reset (struct jtag_command *cmd)
 
static void cmsis_dap_execute_runtest (struct jtag_command *cmd)
 
static void cmsis_dap_execute_scan (struct jtag_command *cmd)
 
static void cmsis_dap_execute_sleep (struct jtag_command *cmd)
 
static void cmsis_dap_execute_stableclocks (struct jtag_command *cmd)
 
static int cmsis_dap_execute_tlr_reset (struct jtag_command *cmd)
 
static void cmsis_dap_flush (void)
 
static int cmsis_dap_get_caps_info (void)
 
static int cmsis_dap_get_status (void)
 
static int cmsis_dap_get_version_info (void)
 
static int cmsis_dap_init (void)
 
static int cmsis_dap_khz (int khz, int *jtag_speed)
 
static void cmsis_dap_pathmove (int num_states, tap_state_t *path)
 
static int cmsis_dap_quit (void)
 
static void cmsis_dap_runtest (int num_cycles)
 
static int cmsis_dap_speed (int speed)
 
static int cmsis_dap_speed_div (int speed, int *khz)
 
static void cmsis_dap_stableclocks (int num_cycles)
 
static void cmsis_dap_state_move (void)
 
static int_least32_t cmsis_dap_swd_frequency (int_least32_t hz)
 
static int cmsis_dap_swd_init (void)
 
static int cmsis_dap_swd_open (void)
 
static void cmsis_dap_swd_queue_cmd (uint8_t cmd, uint32_t *dst, uint32_t data)
 
static void cmsis_dap_swd_read_reg (uint8_t cmd, uint32_t *value, uint32_t ap_delay_clk)
 
static int cmsis_dap_swd_run_queue (void)
 
static int cmsis_dap_swd_switch_seq (enum swd_special_seq seq)
 
static void cmsis_dap_swd_write_reg (uint8_t cmd, uint32_t value, uint32_t ap_delay_clk)
 
static void cmsis_dap_usb_close (struct cmsis_dap *dap)
 
static int cmsis_dap_usb_open (void)
 
static int cmsis_dap_usb_xfer (struct cmsis_dap *dap, int txlen)
 
 COMMAND_HANDLER (cmsis_dap_handle_info_command)
 
 COMMAND_HANDLER (cmsis_dap_handle_vid_pid_command)
 
 COMMAND_HANDLER (cmsis_dap_handle_serial_command)
 

Variables

static const struct command_registration cmsis_dap_command_handlers []
 
static struct cmsis_dapcmsis_dap_handle
 
struct jtag_interface cmsis_dap_interface
 
static uint16_t cmsis_dap_pid [MAX_USB_IDS+1] = { 0 }
 
static wchar_t * cmsis_dap_serial
 
static const struct command_registration cmsis_dap_subcommand_handlers []
 
static const struct swd_driver cmsis_dap_swd_driver
 
static const char *const cmsis_dap_transport [] = { "swd", "jtag", NULL }
 
static uint16_t cmsis_dap_vid [MAX_USB_IDS+1] = { 0 }
 
static const char *const info_caps_str []
 
static int pending_queue_len
 
static int pending_scan_result_count
 
static struct pending_scan_result pending_scan_results [MAX_PENDING_SCAN_RESULTS]
 
static int pending_transfer_count
 
static struct pending_transfer_resultpending_transfers
 
static int queued_retval
 
static uint8_t queued_seq_buf [1024]
 
static int queued_seq_buf_end
 
static int queued_seq_count
 
static int queued_seq_tdo_ptr
 
static bool swd_mode
 

Macro Definition Documentation

#define CMD_DAP_CONNECT   0x02

Definition at line 73 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_cmd_DAP_Connect().

#define CMD_DAP_DELAY   0x09

Definition at line 106 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_cmd_DAP_SWD_Configure().

#define CMD_DAP_DELAY   0x09

Definition at line 106 of file cmsis_dap_usb.c.

#define CMD_DAP_DISCONNECT   0x03

Definition at line 74 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_cmd_DAP_Disconnect().

#define CMD_DAP_INFO   0x00

Definition at line 71 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_cmd_DAP_Info().

#define CMD_DAP_JTAG_CONFIGURE   0x15

Definition at line 133 of file cmsis_dap_usb.c.

#define CMD_DAP_JTAG_IDCODE   0x16

Definition at line 134 of file cmsis_dap_usb.c.

#define CMD_DAP_JTAG_SEQ   0x14

Definition at line 132 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_end_state(), and cmsis_dap_flush().

#define CMD_DAP_LED   0x01

Definition at line 72 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_cmd_DAP_LED().

#define CMD_DAP_RESET_TARGET   0x0A

Definition at line 77 of file cmsis_dap_usb.c.

#define CMD_DAP_SWD_CONFIGURE   0x13

Definition at line 129 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_cmd_DAP_SWD_Configure().

#define CMD_DAP_SWJ_CLOCK   0x11

Definition at line 108 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_cmd_DAP_SWJ_Clock().

#define CMD_DAP_SWJ_PINS   0x10

Definition at line 107 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_cmd_DAP_SWJ_Pins().

#define CMD_DAP_SWJ_SEQ   0x12

Definition at line 109 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_cmd_DAP_SWJ_Sequence().

#define CMD_DAP_TFER   0x05

Definition at line 147 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_swd_run_queue().

#define CMD_DAP_TFER_ABORT   0x07

Definition at line 149 of file cmsis_dap_usb.c.

#define CMD_DAP_TFER_BLOCK   0x06

Definition at line 148 of file cmsis_dap_usb.c.

#define CMD_DAP_TFER_CONFIGURE   0x04

Definition at line 146 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_cmd_DAP_TFER_Configure().

#define CMD_DAP_WRITE_ABORT   0x08

Definition at line 75 of file cmsis_dap_usb.c.

#define CONNECT_DEFAULT   0x00

Definition at line 101 of file cmsis_dap_usb.c.

#define CONNECT_JTAG   0x02

Definition at line 103 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_init(), and cmsis_dap_swd_switch_seq().

#define CONNECT_SWD   0x01

Definition at line 102 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_swd_open(), and cmsis_dap_swd_switch_seq().

#define DAP_ERROR   0xFF

Definition at line 153 of file cmsis_dap_usb.c.

#define DAP_JTAG_SEQ_TCK   0x3F

Definition at line 138 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_end_state().

#define DAP_JTAG_SEQ_TDO   0x80

Definition at line 142 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_add_jtag_sequence(), and cmsis_dap_end_state().

#define DAP_JTAG_SEQ_TMS   0x40

Definition at line 140 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_add_jtag_sequence(), and cmsis_dap_end_state().

#define DAP_MAX_CLOCK   5000

Definition at line 164 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_speed().

#define INFO_CAPS_JTAG   0x02

Definition at line 91 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_get_caps_info(), and cmsis_dap_init().

#define INFO_CAPS_SWD   0x01

Definition at line 90 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_get_caps_info(), and cmsis_dap_swd_open().

#define INFO_ID_CAPS   0xf0 /* byte */

Definition at line 86 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_get_caps_info().

#define INFO_ID_FW_VER   0x04 /* string */

Definition at line 83 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_get_version_info().

#define INFO_ID_PID   0x02 /* string */

Definition at line 81 of file cmsis_dap_usb.c.

#define INFO_ID_PKT_CNT   0xfe /* byte */

Definition at line 87 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_init().

#define INFO_ID_PKT_SZ   0xff /* short */

Definition at line 88 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_init().

#define INFO_ID_SERNUM   0x03 /* string */

Definition at line 82 of file cmsis_dap_usb.c.

#define INFO_ID_TD_NAME   0x06 /* string */

Definition at line 85 of file cmsis_dap_usb.c.

#define INFO_ID_TD_VEND   0x05 /* string */

Definition at line 84 of file cmsis_dap_usb.c.

#define INFO_ID_VID   0x00 /* string */

Definition at line 80 of file cmsis_dap_usb.c.

#define LED_ID_CONNECT   0x00

Definition at line 94 of file cmsis_dap_usb.c.

#define LED_ID_RUN   0x01

Definition at line 95 of file cmsis_dap_usb.c.

#define LED_OFF   0x00

Definition at line 97 of file cmsis_dap_usb.c.

#define LED_ON   0x01

Definition at line 98 of file cmsis_dap_usb.c.

#define MAX_PENDING_SCAN_RESULTS   256

Definition at line 196 of file cmsis_dap_usb.c.

#define MAX_USB_IDS   8

Definition at line 60 of file cmsis_dap_usb.c.

Referenced by COMMAND_HANDLER().

#define PACKET_SIZE   (64 + 1) /* 64 bytes plus report id */

Definition at line 67 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_usb_open().

#define QUEUED_SEQ_BUF_LEN   (cmsis_dap_handle->packet_size - 3)

Definition at line 201 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_add_jtag_sequence().

#define SWJ_PIN_SRST   (1<<7)

Definition at line 126 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_execute_reset(), and cmsis_dap_get_status().

#define SWJ_PIN_TCK   (1<<0)

Definition at line 121 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_get_status().

#define SWJ_PIN_TDI   (1<<2)

Definition at line 123 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_get_status().

#define SWJ_PIN_TDO   (1<<3)

Definition at line 124 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_get_status().

#define SWJ_PIN_TMS   (1<<1)

Definition at line 122 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_get_status().

#define SWJ_PIN_TRST   (1<<5)

Definition at line 125 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_execute_reset(), and cmsis_dap_get_status().

#define USB_TIMEOUT   1000

Definition at line 68 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_usb_xfer().

Function Documentation

static void cmsis_dap_add_tms_sequence ( const uint8_t *  sequence,
int  s_len 
)
static
static int cmsis_dap_cmd_DAP_Connect ( uint8_t  mode)
static
static int cmsis_dap_cmd_DAP_Disconnect ( void  )
static
static int cmsis_dap_cmd_DAP_Info ( uint8_t  info,
uint8_t **  data 
)
static
static int cmsis_dap_cmd_DAP_LED ( uint8_t  leds)
static
static int cmsis_dap_cmd_DAP_SWD_Configure ( uint8_t  cfg)
static
static int cmsis_dap_cmd_DAP_SWJ_Clock ( uint32_t  swj_clock)
static
static int cmsis_dap_cmd_DAP_SWJ_Pins ( uint8_t  pins,
uint8_t  mask,
uint32_t  delay,
uint8_t *  input 
)
static
static int cmsis_dap_cmd_DAP_SWJ_Sequence ( uint8_t  s_len,
const uint8_t *  sequence 
)
static
static int cmsis_dap_cmd_DAP_TFER_Configure ( uint8_t  idle,
uint16_t  retry_count,
uint16_t  match_retry 
)
static
static void cmsis_dap_execute_pathmove ( struct jtag_command cmd)
static
static int cmsis_dap_execute_queue ( void  )
static
static void cmsis_dap_execute_reset ( struct jtag_command cmd)
static
static void cmsis_dap_execute_sleep ( struct jtag_command cmd)
static
static void cmsis_dap_execute_stableclocks ( struct jtag_command cmd)
static
static int cmsis_dap_execute_tlr_reset ( struct jtag_command cmd)
static
static int cmsis_dap_get_caps_info ( void  )
static
static int cmsis_dap_get_status ( void  )
static
static int cmsis_dap_get_version_info ( void  )
static

Definition at line 730 of file cmsis_dap_usb.c.

References cmsis_dap_cmd_DAP_Info(), ERROR_OK, INFO_ID_FW_VER, and LOG_INFO.

Referenced by cmsis_dap_init(), and COMMAND_HANDLER().

static int cmsis_dap_khz ( int  khz,
int *  jtag_speed 
)
static

Definition at line 1515 of file cmsis_dap_usb.c.

References ERROR_OK.

static void cmsis_dap_pathmove ( int  num_states,
tap_state_t path 
)
static
static int cmsis_dap_quit ( void  )
static
static void cmsis_dap_runtest ( int  num_cycles)
static
static int cmsis_dap_speed ( int  speed)
static
static int cmsis_dap_speed_div ( int  speed,
int *  khz 
)
static

Definition at line 1509 of file cmsis_dap_usb.c.

References ERROR_OK, and speed.

static void cmsis_dap_stableclocks ( int  num_cycles)
static
static int_least32_t cmsis_dap_swd_frequency ( int_least32_t  hz)
static

Definition at line 1521 of file cmsis_dap_usb.c.

References cmsis_dap_speed().

static int cmsis_dap_swd_init ( void  )
static

Definition at line 984 of file cmsis_dap_usb.c.

References ERROR_OK, and swd_mode.

static int cmsis_dap_swd_open ( void  )
static
static void cmsis_dap_swd_queue_cmd ( uint8_t  cmd,
uint32_t *  dst,
uint32_t  data 
)
static
static void cmsis_dap_swd_read_reg ( uint8_t  cmd,
uint32_t *  value,
uint32_t  ap_delay_clk 
)
static

Definition at line 724 of file cmsis_dap_usb.c.

References cmsis_dap_swd_queue_cmd(), and SWD_CMD_RnW.

static void cmsis_dap_swd_write_reg ( uint8_t  cmd,
uint32_t  value,
uint32_t  ap_delay_clk 
)
static

Definition at line 718 of file cmsis_dap_usb.c.

References cmsis_dap_swd_queue_cmd(), NULL, and SWD_CMD_RnW.

static void cmsis_dap_usb_close ( struct cmsis_dap dap)
static

Definition at line 337 of file cmsis_dap_usb.c.

References cmsis_dap_serial, cmsis_dap::dev_handle, NULL, and cmsis_dap::packet_buffer.

Referenced by cmsis_dap_quit().

COMMAND_HANDLER ( cmsis_dap_handle_info_command  )

Definition at line 1530 of file cmsis_dap_usb.c.

References cmsis_dap_get_status(), cmsis_dap_get_version_info(), and ERROR_OK.

COMMAND_HANDLER ( cmsis_dap_handle_vid_pid_command  )
COMMAND_HANDLER ( cmsis_dap_handle_serial_command  )

Definition at line 1568 of file cmsis_dap_usb.c.

References CMD_ARGC, CMD_ARGV, cmsis_dap_serial, ERROR_OK, LOG_ERROR, and NULL.

Variable Documentation

const struct command_registration cmsis_dap_command_handlers[]
static
Initial value:
= {
{
.name = "cmsis-dap",
.mode = COMMAND_ANY,
.help = "perform CMSIS-DAP management",
.usage = "<cmd>",
},
{
.name = "cmsis_dap_vid_pid",
.handler = &cmsis_dap_handle_vid_pid_command,
.mode = COMMAND_CONFIG,
.help = "the vendor ID and product ID of the CMSIS-DAP device",
.usage = "(vid pid)* ",
},
{
.name = "cmsis_dap_serial",
.handler = &cmsis_dap_handle_serial_command,
.mode = COMMAND_CONFIG,
.help = "set the serial number of the adapter",
.usage = "serial_string",
},
}
static const struct command_registration cmsis_dap_subcommand_handlers[]
#define COMMAND_REGISTRATION_DONE
Use this as the last entry in an array of command_registration records.
Definition: command.h:222
const char * name
Definition: command.h:203

Definition at line 1600 of file cmsis_dap_usb.c.

struct cmsis_dap* cmsis_dap_handle
static

Definition at line 209 of file cmsis_dap_usb.c.

struct jtag_interface cmsis_dap_interface
Initial value:
= {
.name = "cmsis-dap",
.transports = cmsis_dap_transport,
.execute_queue = cmsis_dap_execute_queue,
.speed = cmsis_dap_speed,
.speed_div = cmsis_dap_speed_div,
.khz = cmsis_dap_khz,
.init = cmsis_dap_init,
.quit = cmsis_dap_quit,
}
static const struct command_registration cmsis_dap_command_handlers[]
static int cmsis_dap_init(void)
static int cmsis_dap_speed_div(int speed, int *khz)
static int cmsis_dap_quit(void)
static int cmsis_dap_execute_queue(void)
static int cmsis_dap_khz(int khz, int *jtag_speed)
static int cmsis_dap_speed(int speed)
static const struct swd_driver cmsis_dap_swd_driver
static const char *const cmsis_dap_transport[]

Definition at line 1636 of file cmsis_dap_usb.c.

uint16_t cmsis_dap_pid[MAX_USB_IDS+1] = { 0 }
static

Definition at line 63 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_usb_open(), and COMMAND_HANDLER().

wchar_t* cmsis_dap_serial
static

Definition at line 64 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_usb_close(), cmsis_dap_usb_open(), and COMMAND_HANDLER().

const struct command_registration cmsis_dap_subcommand_handlers[]
static
Initial value:
= {
{
.name = "info",
.handler = &cmsis_dap_handle_info_command,
.mode = COMMAND_EXEC,
.usage = "",
.help = "show cmsis-dap info",
},
}
#define COMMAND_REGISTRATION_DONE
Use this as the last entry in an array of command_registration records.
Definition: command.h:222

Definition at line 1589 of file cmsis_dap_usb.c.

const struct swd_driver cmsis_dap_swd_driver
static
Initial value:
= {
.switch_seq = cmsis_dap_swd_switch_seq,
}
static int cmsis_dap_swd_run_queue(void)
static int cmsis_dap_swd_init(void)
static void cmsis_dap_swd_read_reg(uint8_t cmd, uint32_t *value, uint32_t ap_delay_clk)
static void cmsis_dap_swd_write_reg(uint8_t cmd, uint32_t value, uint32_t ap_delay_clk)
static int cmsis_dap_swd_switch_seq(enum swd_special_seq seq)
static int_least32_t cmsis_dap_swd_frequency(int_least32_t hz)

Definition at line 1625 of file cmsis_dap_usb.c.

const char* const cmsis_dap_transport[] = { "swd", "jtag", NULL }
static

Definition at line 1634 of file cmsis_dap_usb.c.

uint16_t cmsis_dap_vid[MAX_USB_IDS+1] = { 0 }
static

Definition at line 62 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_usb_open(), and COMMAND_HANDLER().

const char* const info_caps_str[]
static
Initial value:
= {
"SWD Supported",
"JTAG Supported"
}

Definition at line 158 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_get_caps_info().

int pending_queue_len
static

Definition at line 192 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_init(), and cmsis_dap_swd_queue_cmd().

int pending_scan_result_count
static

Definition at line 197 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_add_jtag_sequence(), and cmsis_dap_flush().

struct pending_scan_result pending_scan_results[MAX_PENDING_SCAN_RESULTS]
static

Definition at line 198 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_add_jtag_sequence(), and cmsis_dap_flush().

int pending_transfer_count
static

Definition at line 192 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_swd_queue_cmd(), and cmsis_dap_swd_run_queue().

struct pending_transfer_result* pending_transfers
static

Definition at line 193 of file cmsis_dap_usb.c.

int queued_retval
static

Definition at line 207 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_swd_queue_cmd(), and cmsis_dap_swd_run_queue().

uint8_t queued_seq_buf[1024]
static

Definition at line 205 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_add_jtag_sequence(), and cmsis_dap_flush().

int queued_seq_buf_end
static

Definition at line 203 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_add_jtag_sequence(), and cmsis_dap_flush().

int queued_seq_count
static

Definition at line 202 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_add_jtag_sequence(), and cmsis_dap_flush().

int queued_seq_tdo_ptr
static

Definition at line 204 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_add_jtag_sequence(), and cmsis_dap_flush().

bool swd_mode
static

Definition at line 65 of file cmsis_dap_usb.c.

Referenced by cmsis_dap_init(), and cmsis_dap_swd_init().