From 98f7c2127b8800e2597493eea2c7ba5c88940b86 Mon Sep 17 00:00:00 2001 From: Øyvind Harboe Date: Thu, 21 Jan 2010 10:16:42 +0100 Subject: target: print reason why GDB halts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- src/target/target.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src') 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; } -- cgit v1.2.3