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>__archive__
parent
dfba7fa949
commit
98f7c2127b
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue