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;
|
int did_something = 0;
|
||||||
if (runSrstAsserted)
|
if (runSrstAsserted)
|
||||||
{
|
{
|
||||||
|
LOG_INFO("Waking up GDB, srst asserted detected.");
|
||||||
target_call_event_callbacks_all(TARGET_EVENT_GDB_HALT);
|
target_call_event_callbacks_all(TARGET_EVENT_GDB_HALT);
|
||||||
Jim_Eval(interp, "srst_asserted");
|
Jim_Eval(interp, "srst_asserted");
|
||||||
did_something = 1;
|
did_something = 1;
|
||||||
|
@ -1778,6 +1779,7 @@ static int handle_target(void *priv)
|
||||||
}
|
}
|
||||||
if (runPowerDropout)
|
if (runPowerDropout)
|
||||||
{
|
{
|
||||||
|
LOG_INFO("Waking up GDB, power dropout detected.");
|
||||||
target_call_event_callbacks_all(TARGET_EVENT_GDB_HALT);
|
target_call_event_callbacks_all(TARGET_EVENT_GDB_HALT);
|
||||||
Jim_Eval(interp, "power_dropout");
|
Jim_Eval(interp, "power_dropout");
|
||||||
did_something = 1;
|
did_something = 1;
|
||||||
|
@ -1820,6 +1822,14 @@ static int handle_target(void *priv)
|
||||||
/* polling may fail silently until the target has been examined */
|
/* polling may fail silently until the target has been examined */
|
||||||
if ((retval = target_poll(target)) != ERROR_OK)
|
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);
|
target_call_event_callbacks(target, TARGET_EVENT_GDB_HALT);
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue