jlink: add jlink_pid to specify the pid to use
this will allow us to use multiple jlink at the same time as when the USB-Address is specified the PID change from 0x0101 to (0x101 + usb_adress) Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
This commit is contained in:
parent
b992dd58f1
commit
0eed61b7c4
|
@ -2323,6 +2323,8 @@ Segger jlink USB adapter
|
||||||
@c dumps status
|
@c dumps status
|
||||||
@c command: jlink hw_jtag (2|3)
|
@c command: jlink hw_jtag (2|3)
|
||||||
@c sets version 2 or 3
|
@c sets version 2 or 3
|
||||||
|
@c command: jlink pid
|
||||||
|
@c set the pid of the interface we want to use
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@deffn {Interface Driver} {parport}
|
@deffn {Interface Driver} {parport}
|
||||||
|
|
|
@ -136,6 +136,10 @@ static enum tap_state jlink_last_state = TAP_RESET;
|
||||||
|
|
||||||
static struct jlink* jlink_handle;
|
static struct jlink* jlink_handle;
|
||||||
|
|
||||||
|
/* pid could be specified at runtime */
|
||||||
|
static uint16_t vids[] = { VID, 0 };
|
||||||
|
static uint16_t pids[] = { PID, 0 };
|
||||||
|
|
||||||
/***************************************************************************/
|
/***************************************************************************/
|
||||||
/* External interface implementation */
|
/* External interface implementation */
|
||||||
|
|
||||||
|
@ -621,6 +625,21 @@ static int jlink_get_version_info(void)
|
||||||
return ERROR_OK;
|
return ERROR_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
COMMAND_HANDLER(jlink_pid_command)
|
||||||
|
{
|
||||||
|
if (CMD_ARGC != 1)
|
||||||
|
{
|
||||||
|
LOG_ERROR("Need exactly one argument to jlink_pid");
|
||||||
|
return ERROR_FAIL;
|
||||||
|
}
|
||||||
|
|
||||||
|
pids[0] = strtoul(CMD_ARGV[0], NULL, 16);
|
||||||
|
pids[1] = 0;
|
||||||
|
vids[1] = 0;
|
||||||
|
|
||||||
|
return ERROR_OK;
|
||||||
|
}
|
||||||
|
|
||||||
COMMAND_HANDLER(jlink_handle_jlink_info_command)
|
COMMAND_HANDLER(jlink_handle_jlink_info_command)
|
||||||
{
|
{
|
||||||
if (jlink_get_version_info() == ERROR_OK)
|
if (jlink_get_version_info() == ERROR_OK)
|
||||||
|
@ -670,6 +689,12 @@ static const struct command_registration jlink_subcommand_handlers[] = {
|
||||||
.help = "access J-Link HW JTAG command version",
|
.help = "access J-Link HW JTAG command version",
|
||||||
.usage = "[2|3]",
|
.usage = "[2|3]",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
.name = "pid",
|
||||||
|
.handler = &jlink_pid_command,
|
||||||
|
.mode = COMMAND_CONFIG,
|
||||||
|
.help = "set the pid of the interface we want to use",
|
||||||
|
},
|
||||||
COMMAND_REGISTRATION_DONE
|
COMMAND_REGISTRATION_DONE
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -871,8 +896,6 @@ static struct jlink* jlink_usb_open()
|
||||||
{
|
{
|
||||||
usb_init();
|
usb_init();
|
||||||
|
|
||||||
const uint16_t vids[] = { VID, 0 };
|
|
||||||
const uint16_t pids[] = { PID, 0 };
|
|
||||||
struct usb_dev_handle *dev;
|
struct usb_dev_handle *dev;
|
||||||
if (jtag_usb_open(vids, pids, &dev) != ERROR_OK)
|
if (jtag_usb_open(vids, pids, &dev) != ERROR_OK)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
Loading…
Reference in New Issue