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 <fercerpav@gmail.com> [gus@projectgus.com: context-specific deprecation warnings] Signed-off-by: Angus Gratton <gus@projectgus.com> [andrew.smirnov@gmail.com: additional nrf51.cfg mods] Signed-off-by: Andrey Smirnov <andrew.smirnov@gmail.com> Tested-by: Andrey Skvortsov <andrej.skvortzov@gmail.com> Reviewed-on: http://openocd.zylin.com/1664 Tested-by: jenkins Reviewed-by: Andreas Fritiofson <andreas.fritiofson@gmail.com>
This commit is contained in:
committed by
Andreas Fritiofson
parent
f701c0cbeb
commit
c7384117c6
@@ -55,6 +55,7 @@
|
||||
#include "trace.h"
|
||||
#include "image.h"
|
||||
#include "rtos/rtos.h"
|
||||
#include "transport/transport.h"
|
||||
|
||||
/* default halt wait timeout (ms) */
|
||||
#define DEFAULT_HALT_TIMEOUT 5000
|
||||
@@ -5066,6 +5067,15 @@ static int target_create(Jim_GetOptInfo *goi)
|
||||
if (e != JIM_OK)
|
||||
return e;
|
||||
cp = cp2;
|
||||
struct transport *tr = get_current_transport();
|
||||
if (tr->override_target) {
|
||||
e = tr->override_target(&cp);
|
||||
if (e != ERROR_OK) {
|
||||
LOG_ERROR("The selected transport doesn't support this target");
|
||||
return JIM_ERR;
|
||||
}
|
||||
LOG_INFO("The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD");
|
||||
}
|
||||
/* now does target type exist */
|
||||
for (x = 0 ; target_types[x] ; x++) {
|
||||
if (0 == strcmp(cp, target_types[x]->name)) {
|
||||
|
||||
Reference in New Issue
Block a user