drivers: xds110: Clean up command syntax and documentation

Arrange all commands under a top level xds110 command. Fix
documentation to properly reflect the current functionality.

Also updated the links in the document to the new permanent
links for the XDS110 only support.

Patch updated for comments from code review. Return
ERROR_COMMAND_SYNTAX_ERROR for wrong number of args in
commands. Added deprecated commands to src/jtag/startup.tcl.

Change-Id: Ica45f65e1fdf7fa72866f4e28c4f6bce428d8ac9
Signed-off-by: Edward Fewell <efewell@ti.com>
Reviewed-on: http://openocd.zylin.com/5495
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
This commit is contained in:
Edward Fewell 2020-03-04 17:24:33 -06:00 committed by Antonio Borneo
parent 76ba9bd0b3
commit 87a4158acf
3 changed files with 49 additions and 35 deletions

View File

@ -537,15 +537,25 @@ debuggers to ARM Cortex based targets @url{http://www.keil.com/support/man/docs/
@item @b{TI XDS110 Debug Probe} @item @b{TI XDS110 Debug Probe}
@* The XDS110 is included as the embedded debug probe on many Texas Instruments @* The XDS110 is included as the embedded debug probe on many Texas Instruments
LaunchPad evaluation boards. LaunchPad evaluation boards. The XDS110 is also available as a stand-alone USB
@* The XDS110 is also available as a stand-alone USB debug probe. The XDS110 debug probe with the added capability to supply power to the target board. The
stand-alone probe has the additional ability to supply voltage to the target following commands are supported by the XDS110 driver:
board via its AUX FUNCTIONS port. Use the @*@deffn {Config Command} {xds110 serial} serial_string
@command{xds110_supply_voltage <millivolts>} command to set the voltage. 0 turns Specifies the serial number of which XDS110 probe to use. Otherwise, the first
off the supply. Otherwise, the supply can be set to any value in the range 1800 XDS110 found will be used.
to 3600 millivolts. @end deffn
@* Link: @url{http://processors.wiki.ti.com/index.php/XDS110} @*@deffn {Config Command} {xds110 supply} voltage_in_millivolts
@* Link: @url{http://processors.wiki.ti.com/index.php/XDS_Emulation_Software_Package#XDS110_Support_Utilities} Available only on the XDS110 stand-alone probe. Sets the voltage level of the
XDS110 power supply. A value of 0 leaves the supply off. Otherwise, the supply
can be set to any value in the range 1800 to 3600 millivolts.
@end deffn
@*@deffn {Command} {xds110 info}
Displays information about the connected XDS110 debug probe (e.g. firmware
version).
@end deffn
@* Further information can be found at the following sites:
@* Link: @url{https://software-dl.ti.com/ccs/esd/documents/xdsdebugprobes/emu_xds110.html}
@* Link: @url{https://software-dl.ti.com/ccs/esd/documents/xdsdebugprobes/emu_xds_software_package_download.html#xds110-support-utilities}
@end itemize @end itemize
@section IBM PC Parallel Printer Port Based @section IBM PC Parallel Printer Port Based

View File

@ -2028,11 +2028,8 @@ COMMAND_HANDLER(xds110_handle_serial_command)
xds110.serial[i] = (char)serial[i]; xds110.serial[i] = (char)serial[i];
xds110.serial[len] = 0; xds110.serial[len] = 0;
} else { } else
LOG_ERROR("XDS110: expected exactly one argument to xds110_serial " return ERROR_COMMAND_SYNTAX_ERROR;
"<serial-number>");
return ERROR_FAIL;
}
return ERROR_OK; return ERROR_OK;
} }
@ -2053,11 +2050,8 @@ COMMAND_HANDLER(xds110_handle_supply_voltage_command)
return ERROR_FAIL; return ERROR_FAIL;
} }
xds110.voltage = voltage; xds110.voltage = voltage;
} else { } else
LOG_ERROR("XDS110: expected one argument to xds110_supply_voltage " return ERROR_COMMAND_SYNTAX_ERROR;
"<millivolts>");
return ERROR_FAIL;
}
return ERROR_OK; return ERROR_OK;
} }
@ -2067,8 +2061,22 @@ static const struct command_registration xds110_subcommand_handlers[] = {
.name = "info", .name = "info",
.handler = &xds110_handle_info_command, .handler = &xds110_handle_info_command,
.mode = COMMAND_EXEC, .mode = COMMAND_EXEC,
.usage = "",
.help = "show XDS110 info", .help = "show XDS110 info",
.usage = "",
},
{
.name = "serial",
.handler = &xds110_handle_serial_command,
.mode = COMMAND_CONFIG,
.help = "set the XDS110 probe serial number",
.usage = "serial_string",
},
{
.name = "supply",
.handler = &xds110_handle_supply_voltage_command,
.mode = COMMAND_CONFIG,
.help = "set the XDS110 probe supply voltage",
.usage = "voltage_in_millivolts",
}, },
COMMAND_REGISTRATION_DONE COMMAND_REGISTRATION_DONE
}; };
@ -2078,23 +2086,9 @@ static const struct command_registration xds110_command_handlers[] = {
.name = "xds110", .name = "xds110",
.mode = COMMAND_ANY, .mode = COMMAND_ANY,
.help = "perform XDS110 management", .help = "perform XDS110 management",
.usage = "<cmd>", .usage = "",
.chain = xds110_subcommand_handlers, .chain = xds110_subcommand_handlers,
}, },
{
.name = "xds110_serial",
.handler = &xds110_handle_serial_command,
.mode = COMMAND_CONFIG,
.help = "set the XDS110 probe serial number",
.usage = "serial_string",
},
{
.name = "xds110_supply_voltage",
.handler = &xds110_handle_supply_voltage_command,
.mode = COMMAND_CONFIG,
.help = "set the XDS110 probe supply voltage",
.usage = "supply_voltage (millivolts)",
},
COMMAND_REGISTRATION_DONE COMMAND_REGISTRATION_DONE
}; };

View File

@ -216,4 +216,14 @@ proc ftdi_location args {
eval adapter usb location $args eval adapter usb location $args
} }
proc xds110_serial args {
echo "DEPRECATED! use 'xds110 serial' not 'xds110_serial'"
eval xds110 serial $args
}
proc xds110_supply_voltage args {
echo "DEPRECATED! use 'xds110 supply' not 'xds110_supply_voltage'"
eval xds110 supply $args
}
# END MIGRATION AIDS # END MIGRATION AIDS