From c7384117c66e8f18896ca09ab8095d6da16bb1e5 Mon Sep 17 00:00:00 2001 From: Paul Fertser Date: Sat, 28 Sep 2013 14:23:15 +0400 Subject: Allow transports to override the selected target (hla configs unification) This should allow to share common configs for both regular access and high-level adapters. Use the newly-added functionality in stlink and icdi drivers, amend the configs accordingly. Runtime-tested with a TI tm4c123g board. Change-Id: Ibb88266a4ca25f06f6c073e916c963f017447bad Signed-off-by: Paul Fertser [gus@projectgus.com: context-specific deprecation warnings] Signed-off-by: Angus Gratton [andrew.smirnov@gmail.com: additional nrf51.cfg mods] Signed-off-by: Andrey Smirnov Tested-by: Andrey Skvortsov Reviewed-on: http://openocd.zylin.com/1664 Tested-by: jenkins Reviewed-by: Andreas Fritiofson --- src/jtag/drivers/stlink_usb.c | 10 +++++++++- src/jtag/drivers/ti_icdi_usb.c | 8 +++++++- 2 files changed, 16 insertions(+), 2 deletions(-) (limited to 'src/jtag/drivers') diff --git a/src/jtag/drivers/stlink_usb.c b/src/jtag/drivers/stlink_usb.c index 5574a40b..fd5f2834 100644 --- a/src/jtag/drivers/stlink_usb.c +++ b/src/jtag/drivers/stlink_usb.c @@ -1570,6 +1570,12 @@ static int stlink_usb_write_mem(void *handle, uint32_t addr, uint32_t size, return retval; } +/** */ +static int stlink_usb_override_target(const char *targetname) +{ + return !strcmp(targetname, "cortex_m"); +} + /** */ static int stlink_usb_close(void *fd) { @@ -1798,5 +1804,7 @@ struct hl_layout_api_s stlink_usb_layout_api = { /** */ .write_mem = stlink_usb_write_mem, /** */ - .write_debug_reg = stlink_usb_write_debug_reg + .write_debug_reg = stlink_usb_write_debug_reg, + /** */ + .override_target = stlink_usb_override_target, }; diff --git a/src/jtag/drivers/ti_icdi_usb.c b/src/jtag/drivers/ti_icdi_usb.c index 20b30817..2f4af7a4 100644 --- a/src/jtag/drivers/ti_icdi_usb.c +++ b/src/jtag/drivers/ti_icdi_usb.c @@ -645,6 +645,11 @@ static int icdi_usb_write_mem(void *handle, uint32_t addr, uint32_t size, return retval; } +static int icdi_usb_override_target(const char *targetname) +{ + return !strcmp(targetname, "cortex_m"); +} + static int icdi_usb_close(void *handle) { struct icdi_usb_handle_s *h = handle; @@ -770,5 +775,6 @@ struct hl_layout_api_s icdi_usb_layout_api = { .write_reg = icdi_usb_write_reg, .read_mem = icdi_usb_read_mem, .write_mem = icdi_usb_write_mem, - .write_debug_reg = icdi_usb_write_debug_reg + .write_debug_reg = icdi_usb_write_debug_reg, + .override_target = icdi_usb_override_target, }; -- cgit v1.2.3-18-g5258