This is an automated email from Gerrit. Mathias K?ster ([email protected]) just uploaded a new patch set to Gerrit, which you can find at http://openocd.zylin.com/393
-- gerrit commit df207fa39c06305fc4481a339ac046fa913d998d Author: Mathias K <[email protected]> Date: Fri Jan 20 20:37:38 2012 +0100 swd transport renamed and jtag+swim transport added This patch add two new transport types, JTAG and SWIM. Change-Id: I7089d74250330be5c6a01c24066307641df7d11e Signed-off-by: Mathias K <[email protected]> diff --git a/src/jtag/stlink/stlink_transport.c b/src/jtag/stlink/stlink_transport.c index 14e59ec..6943ed2 100644 --- a/src/jtag/stlink/stlink_transport.c +++ b/src/jtag/stlink/stlink_transport.c @@ -29,6 +29,7 @@ #include <helper/time_support.h> #include <target/target.h> #include <jtag/stlink/stlink_tcl.h> +#include <jtag/stlink/stlink_transport.h> #include <jtag/stlink/stlink_interface.h> COMMAND_HANDLER(stlink_transport_jtag_command) @@ -138,13 +139,35 @@ static int stlink_transport_init(struct command_context *cmd_ctx) { LOG_DEBUG("stlink_transport_init"); struct target *t = get_current_target(cmd_ctx); + struct transport *transport; + enum eSTLinkTransports tr; if (!t) { - LOG_ERROR("stlink_transport_init: no current target"); + LOG_ERROR("no current target"); return ERROR_FAIL; } + transport = get_current_transport(); + + if (!transport) { + LOG_ERROR("no transport selected"); + return ERROR_FAIL; + } + + LOG_DEBUG("current transport %s", transport->name); + + /* get selected transport as enum */ + tr = eSTLinkTransportUNKNOWN; + + if (strcmp(transport->name, "stlink_swd") == 0) + tr = eSTLinkTransportSWD; + else if (strcmp(transport->name, "stlink_jtag") == 0) + tr = eSTLinkTransportJTAG; + else if (strcmp(transport->name, "stlink_swim") == 0) + tr = eSTLinkTransportSWIM; + int retval = stlink_interface_open(); + if (retval != ERROR_OK) return retval; @@ -169,21 +192,35 @@ static int stlink_transport_select(struct command_context *ctx) return ERROR_OK; } -static struct transport stlink_transport = { - .name = "stlink", +static struct transport stlink_swd_transport = { + .name = "stlink_swd", + .select = stlink_transport_select, + .init = stlink_transport_init, +}; + +static struct transport stlink_jtag_transport = { + .name = "stlink_jtag", + .select = stlink_transport_select, + .init = stlink_transport_init, +}; + +static struct transport stlink_swim_transport = { + .name = "stlink_swim", .select = stlink_transport_select, .init = stlink_transport_init, }; -const char *stlink_transports[] = { "stlink", NULL }; +const char *stlink_transports[] = { "stlink_swd", "stlink_jtag", "stlink_swim", NULL }; static void stlink_constructor(void) __attribute__ ((constructor)); static void stlink_constructor(void) { - transport_register(&stlink_transport); + transport_register(&stlink_swd_transport); + transport_register(&stlink_jtag_transport); + transport_register(&stlink_swim_transport); } bool transport_is_stlink(void) { - return get_current_transport() == &stlink_transport; + return get_current_transport() == &stlink_swd_transport; } diff --git a/src/jtag/stlink/stlink_transport.h b/src/jtag/stlink/stlink_transport.h index 066b194..ecb8c98 100644 --- a/src/jtag/stlink/stlink_transport.h +++ b/src/jtag/stlink/stlink_transport.h @@ -20,4 +20,11 @@ #ifndef _STLINK_TRANSPORT_ #define _STLINK_TRANSPORT_ +enum eSTLinkTransports { + eSTLinkTransportUNKNOWN = 0, + eSTLinkTransportSWD, + eSTLinkTransportJTAG, + eSTLinkTransportSWIM +}; + #endif diff --git a/tcl/target/stm32_stlink.cfg b/tcl/target/stm32_stlink.cfg index 7af07ce..9a67b99 100644 --- a/tcl/target/stm32_stlink.cfg +++ b/tcl/target/stm32_stlink.cfg @@ -23,6 +23,11 @@ if { [info exists CPUTAPID] } { set _CPUTAPID 0x1ba01477 } +# +# possibles value are stlink_swd or stlink_jtag +# +transport select stlink_swd + stlink newtap $_CHIPNAME cpu -expected-id $_CPUTAPID set _TARGETNAME $_CHIPNAME.cpu -- ------------------------------------------------------------------------------ Keep Your Developer Skills Current with LearnDevNow! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-d2d _______________________________________________ OpenOCD-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/openocd-devel
