diff options
author | Øyvind Harboe <oyvind.harboe@zylin.com> | 2010-01-21 10:16:42 +0100 |
---|---|---|
committer | Øyvind Harboe <oyvind.harboe@zylin.com> | 2010-01-21 16:20:58 +0100 |
commit | 98f7c2127b8800e2597493eea2c7ba5c88940b86 (patch) | |
tree | 213370029349cbd4c7cb5fb75784b26e6fbe1ecc | |
parent | dfba7fa949ae12089aa02dab557a46520c816d28 (diff) | |
download | openocd_libswd-98f7c2127b8800e2597493eea2c7ba5c88940b86.tar.gz openocd_libswd-98f7c2127b8800e2597493eea2c7ba5c88940b86.tar.bz2 openocd_libswd-98f7c2127b8800e2597493eea2c7ba5c88940b86.tar.xz openocd_libswd-98f7c2127b8800e2597493eea2c7ba5c88940b86.zip |
target: print reason why GDB halts
If GDB halts unexpectedly, print reason: srst assert or power
out detected.
If polling fails, then things are a bit trickier. We do not
want to spam telnet or the log with polling failed messages.
Leave that case be w/a comment in a code for now.
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
-rw-r--r-- | src/target/target.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/target/target.c b/src/target/target.c index ff5aef34..1eb65a62 100644 --- a/src/target/target.c +++ b/src/target/target.c @@ -1767,6 +1767,7 @@ static int handle_target(void *priv) int did_something = 0; if (runSrstAsserted) { + LOG_INFO("Waking up GDB, srst asserted detected."); target_call_event_callbacks_all(TARGET_EVENT_GDB_HALT); Jim_Eval(interp, "srst_asserted"); did_something = 1; @@ -1778,6 +1779,7 @@ static int handle_target(void *priv) } if (runPowerDropout) { + LOG_INFO("Waking up GDB, power dropout detected."); target_call_event_callbacks_all(TARGET_EVENT_GDB_HALT); Jim_Eval(interp, "power_dropout"); did_something = 1; @@ -1820,6 +1822,14 @@ static int handle_target(void *priv) /* polling may fail silently until the target has been examined */ if ((retval = target_poll(target)) != ERROR_OK) { + /* FIX!!!!! If we add a LOG_INFO() here to output a line in GDB + * *why* we are aborting GDB, then we'll spam telnet when the + * poll is failing persistently. + * + * If we could implement an event that detected the + * target going from non-pollable to pollable, we could issue + * an error only upon the transition. + */ target_call_event_callbacks(target, TARGET_EVENT_GDB_HALT); return retval; } |