diff options
author | Spencer Oliver <spen@spen-soft.co.uk> | 2012-05-04 14:31:25 +0100 |
---|---|---|
committer | Spencer Oliver <spen@spen-soft.co.uk> | 2012-05-14 09:34:00 +0000 |
commit | 61672009c41f4f72deb399512774acf2105cf1b6 (patch) | |
tree | 35bbe1ed306b270cfbcd45719d93be1131c41d34 /src/jtag/stlink/stlink_interface.c | |
parent | 18df479f0a96e9e6b50d7e3393adc90629c049f7 (diff) |
stlink: add stlink_api cmd
This enables the manual selection of the stlink api version.
Change-Id: I0ec8c5b0a101b6456f426d2fec65971da56db4e7
Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk>
Reviewed-on: http://openocd.zylin.com/617
Tested-by: jenkins
Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com>
Reviewed-by: Xiaofan <xiaofanc@gmail.com>
Diffstat (limited to 'src/jtag/stlink/stlink_interface.c')
-rw-r--r-- | src/jtag/stlink/stlink_interface.c | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/src/jtag/stlink/stlink_interface.c b/src/jtag/stlink/stlink_interface.c index 389ab3ff..379e68d4 100644 --- a/src/jtag/stlink/stlink_interface.c +++ b/src/jtag/stlink/stlink_interface.c @@ -34,7 +34,7 @@ #include <target/target.h> -static struct stlink_interface_s stlink_if = { {0, 0, 0, 0, 0}, 0, 0 }; +static struct stlink_interface_s stlink_if = { {0, 0, 0, 0, 0, 0}, 0, 0 }; int stlink_interface_open(enum stlink_transports tr) { @@ -200,6 +200,21 @@ COMMAND_HANDLER(stlink_interface_handle_vid_pid_command) return ERROR_OK; } +COMMAND_HANDLER(stlink_interface_handle_api_command) +{ + if (CMD_ARGC != 1) + return ERROR_COMMAND_SYNTAX_ERROR; + + unsigned new_api; + COMMAND_PARSE_NUMBER(uint, CMD_ARGV[0], new_api); + if ((new_api == 0) || (new_api > 2)) + return ERROR_COMMAND_SYNTAX_ERROR; + + stlink_if.param.api = new_api; + + return ERROR_OK; +} + static const struct command_registration stlink_interface_command_handlers[] = { { .name = "stlink_device_desc", @@ -229,6 +244,13 @@ static const struct command_registration stlink_interface_command_handlers[] = { .help = "the vendor and product ID of the STLINK device", .usage = "(vid pid)* ", }, + { + .name = "stlink_api", + .handler = &stlink_interface_handle_api_command, + .mode = COMMAND_CONFIG, + .help = "set the desired stlink api level", + .usage = "api version 1 or 2", + }, COMMAND_REGISTRATION_DONE }; |