jtag/cmsis_dap: switch to command 'adapter serial'
The driver cmsis_dap defines the command 'cmsis_dap_serial' to specify the serial string of the adapter. Remove and deprecate the driver command, and use 'adapter serial'. Change-Id: I88e2d4de360a6c6f23529bb18494962a267250df Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/6649 Tested-by: jenkins
This commit is contained in:
parent
a3b69dee62
commit
248161cbf4
|
@ -2370,9 +2370,10 @@ This command is only available if your libusb1 is at least version 1.0.16.
|
||||||
@deffn {Config Command} {adapter serial} serial_string
|
@deffn {Config Command} {adapter serial} serial_string
|
||||||
Specifies the @var{serial_string} of the adapter to use.
|
Specifies the @var{serial_string} of the adapter to use.
|
||||||
If this command is not specified, serial strings are not checked.
|
If this command is not specified, serial strings are not checked.
|
||||||
No adapter uses this command, so far.
|
Only the following adapter drivers use the serial string from this command:
|
||||||
|
cmsis_dap.
|
||||||
The following adapters have their own command to specify the serial string:
|
The following adapters have their own command to specify the serial string:
|
||||||
cmsis_dap, ft232r, ftdi, hla, jlink, kitprog, presto, st-link, vsllink, xds110.
|
ft232r, ftdi, hla, jlink, kitprog, presto, st-link, vsllink, xds110.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@section Interface Drivers
|
@section Interface Drivers
|
||||||
|
@ -2427,11 +2428,6 @@ cmsis_dap_vid_pid 0xc251 0xf001 0x0d28 0x0204
|
||||||
@end example
|
@end example
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn {Config Command} {cmsis_dap_serial} [serial]
|
|
||||||
Specifies the @var{serial} of the CMSIS-DAP device to use.
|
|
||||||
If not specified, serial numbers are not considered.
|
|
||||||
@end deffn
|
|
||||||
|
|
||||||
@deffn {Config Command} {cmsis_dap_backend} [@option{auto}|@option{usb_bulk}|@option{hid}]
|
@deffn {Config Command} {cmsis_dap_backend} [@option{auto}|@option{usb_bulk}|@option{hid}]
|
||||||
Specifies how to communicate with the adapter:
|
Specifies how to communicate with the adapter:
|
||||||
|
|
||||||
|
|
|
@ -76,7 +76,6 @@ static const struct cmsis_dap_backend *const cmsis_dap_backends[] = {
|
||||||
/* vid = pid = 0 marks the end of the list */
|
/* vid = pid = 0 marks the end of the list */
|
||||||
static uint16_t cmsis_dap_vid[MAX_USB_IDS + 1] = { 0 };
|
static uint16_t cmsis_dap_vid[MAX_USB_IDS + 1] = { 0 };
|
||||||
static uint16_t cmsis_dap_pid[MAX_USB_IDS + 1] = { 0 };
|
static uint16_t cmsis_dap_pid[MAX_USB_IDS + 1] = { 0 };
|
||||||
static char *cmsis_dap_serial;
|
|
||||||
static int cmsis_dap_backend = -1;
|
static int cmsis_dap_backend = -1;
|
||||||
static bool swd_mode;
|
static bool swd_mode;
|
||||||
|
|
||||||
|
@ -289,13 +288,13 @@ static int cmsis_dap_open(void)
|
||||||
if (cmsis_dap_backend >= 0) {
|
if (cmsis_dap_backend >= 0) {
|
||||||
/* Use forced backend */
|
/* Use forced backend */
|
||||||
backend = cmsis_dap_backends[cmsis_dap_backend];
|
backend = cmsis_dap_backends[cmsis_dap_backend];
|
||||||
if (backend->open(dap, cmsis_dap_vid, cmsis_dap_pid, cmsis_dap_serial) != ERROR_OK)
|
if (backend->open(dap, cmsis_dap_vid, cmsis_dap_pid, adapter_get_required_serial()) != ERROR_OK)
|
||||||
backend = NULL;
|
backend = NULL;
|
||||||
} else {
|
} else {
|
||||||
/* Try all backends */
|
/* Try all backends */
|
||||||
for (unsigned int i = 0; i < ARRAY_SIZE(cmsis_dap_backends); i++) {
|
for (unsigned int i = 0; i < ARRAY_SIZE(cmsis_dap_backends); i++) {
|
||||||
backend = cmsis_dap_backends[i];
|
backend = cmsis_dap_backends[i];
|
||||||
if (backend->open(dap, cmsis_dap_vid, cmsis_dap_pid, cmsis_dap_serial) == ERROR_OK)
|
if (backend->open(dap, cmsis_dap_vid, cmsis_dap_pid, adapter_get_required_serial()) == ERROR_OK)
|
||||||
break;
|
break;
|
||||||
else
|
else
|
||||||
backend = NULL;
|
backend = NULL;
|
||||||
|
@ -325,8 +324,6 @@ static void cmsis_dap_close(struct cmsis_dap *dap)
|
||||||
free(cmsis_dap_handle->packet_buffer);
|
free(cmsis_dap_handle->packet_buffer);
|
||||||
free(cmsis_dap_handle);
|
free(cmsis_dap_handle);
|
||||||
cmsis_dap_handle = NULL;
|
cmsis_dap_handle = NULL;
|
||||||
free(cmsis_dap_serial);
|
|
||||||
cmsis_dap_serial = NULL;
|
|
||||||
|
|
||||||
for (int i = 0; i < MAX_PENDING_REQUESTS; i++) {
|
for (int i = 0; i < MAX_PENDING_REQUESTS; i++) {
|
||||||
free(pending_fifo[i].transfers);
|
free(pending_fifo[i].transfers);
|
||||||
|
@ -2056,16 +2053,6 @@ COMMAND_HANDLER(cmsis_dap_handle_vid_pid_command)
|
||||||
return ERROR_OK;
|
return ERROR_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
COMMAND_HANDLER(cmsis_dap_handle_serial_command)
|
|
||||||
{
|
|
||||||
if (CMD_ARGC == 1)
|
|
||||||
cmsis_dap_serial = strdup(CMD_ARGV[0]);
|
|
||||||
else
|
|
||||||
LOG_ERROR("expected exactly one argument to cmsis_dap_serial <serial-number>");
|
|
||||||
|
|
||||||
return ERROR_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
COMMAND_HANDLER(cmsis_dap_handle_backend_command)
|
COMMAND_HANDLER(cmsis_dap_handle_backend_command)
|
||||||
{
|
{
|
||||||
if (CMD_ARGC == 1) {
|
if (CMD_ARGC == 1) {
|
||||||
|
@ -2122,13 +2109,6 @@ static const struct command_registration cmsis_dap_command_handlers[] = {
|
||||||
.help = "the vendor ID and product ID of the CMSIS-DAP device",
|
.help = "the vendor ID and product ID of the CMSIS-DAP device",
|
||||||
.usage = "(vid pid)*",
|
.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",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
.name = "cmsis_dap_backend",
|
.name = "cmsis_dap_backend",
|
||||||
.handler = &cmsis_dap_handle_backend_command,
|
.handler = &cmsis_dap_handle_backend_command,
|
||||||
|
|
|
@ -24,7 +24,7 @@ struct cmsis_dap {
|
||||||
|
|
||||||
struct cmsis_dap_backend {
|
struct cmsis_dap_backend {
|
||||||
const char *name;
|
const char *name;
|
||||||
int (*open)(struct cmsis_dap *dap, uint16_t vids[], uint16_t pids[], char *serial);
|
int (*open)(struct cmsis_dap *dap, uint16_t vids[], uint16_t pids[], const char *serial);
|
||||||
void (*close)(struct cmsis_dap *dap);
|
void (*close)(struct cmsis_dap *dap);
|
||||||
int (*read)(struct cmsis_dap *dap, int timeout_ms);
|
int (*read)(struct cmsis_dap *dap, int timeout_ms);
|
||||||
int (*write)(struct cmsis_dap *dap, int len, int timeout_ms);
|
int (*write)(struct cmsis_dap *dap, int len, int timeout_ms);
|
||||||
|
|
|
@ -55,7 +55,7 @@ static int cmsis_dap_usb_interface = -1;
|
||||||
static void cmsis_dap_usb_close(struct cmsis_dap *dap);
|
static void cmsis_dap_usb_close(struct cmsis_dap *dap);
|
||||||
static int cmsis_dap_usb_alloc(struct cmsis_dap *dap, unsigned int pkt_sz);
|
static int cmsis_dap_usb_alloc(struct cmsis_dap *dap, unsigned int pkt_sz);
|
||||||
|
|
||||||
static int cmsis_dap_usb_open(struct cmsis_dap *dap, uint16_t vids[], uint16_t pids[], char *serial)
|
static int cmsis_dap_usb_open(struct cmsis_dap *dap, uint16_t vids[], uint16_t pids[], const char *serial)
|
||||||
{
|
{
|
||||||
int err;
|
int err;
|
||||||
struct libusb_context *ctx;
|
struct libusb_context *ctx;
|
||||||
|
|
|
@ -48,7 +48,7 @@ struct cmsis_dap_backend_data {
|
||||||
static void cmsis_dap_hid_close(struct cmsis_dap *dap);
|
static void cmsis_dap_hid_close(struct cmsis_dap *dap);
|
||||||
static int cmsis_dap_hid_alloc(struct cmsis_dap *dap, unsigned int pkt_sz);
|
static int cmsis_dap_hid_alloc(struct cmsis_dap *dap, unsigned int pkt_sz);
|
||||||
|
|
||||||
static int cmsis_dap_hid_open(struct cmsis_dap *dap, uint16_t vids[], uint16_t pids[], char *serial)
|
static int cmsis_dap_hid_open(struct cmsis_dap *dap, uint16_t vids[], uint16_t pids[], const char *serial)
|
||||||
{
|
{
|
||||||
hid_device *dev = NULL;
|
hid_device *dev = NULL;
|
||||||
int i;
|
int i;
|
||||||
|
|
|
@ -741,4 +741,10 @@ proc "aice serial" {args} {
|
||||||
eval adapter serial $args
|
eval adapter serial $args
|
||||||
}
|
}
|
||||||
|
|
||||||
|
lappend _telnet_autocomplete_skip cmsis_dap_serial
|
||||||
|
proc cmsis_dap_serial args {
|
||||||
|
echo "DEPRECATED! use 'adapter serial' not 'cmsis_dap_serial'"
|
||||||
|
eval adapter serial $args
|
||||||
|
}
|
||||||
|
|
||||||
# END MIGRATION AIDS
|
# END MIGRATION AIDS
|
||||||
|
|
|
@ -7,4 +7,4 @@
|
||||||
adapter driver cmsis-dap
|
adapter driver cmsis-dap
|
||||||
|
|
||||||
# Optionally specify the serial number of CMSIS-DAP usb device.
|
# Optionally specify the serial number of CMSIS-DAP usb device.
|
||||||
#cmsis_dap_serial 02200201E6661E601B98E3B9
|
# adapter serial 02200201E6661E601B98E3B9
|
||||||
|
|
Loading…
Reference in New Issue