Author: Nicolas Pitre <nico@cam.org>

- Silence errors about keep_alive() not being called frequently enough unless
	a gdb session is active or debugging is enabled


git-svn-id: svn://svn.berlios.de/openocd/trunk@1933 b42882b7-edfa-0310-969c-e2dbd0fdcd60
__archive__
kc8apf 2009-05-27 20:30:17 +00:00
parent afa77f8672
commit 35d8b2bf77
2 changed files with 22 additions and 1 deletions

View File

@ -385,7 +385,19 @@ void keep_alive()
current_time=timeval_ms();
if (current_time-last_time>1000)
{
LOG_WARNING("keep_alive() was not invoked in the 1000ms timelimit. GDB alive packet not sent! (%lld). Workaround: increase \"set remotetimeout\" in GDB", current_time-last_time);
extern int gdb_actual_connections;
if (gdb_actual_connections)
LOG_WARNING("keep_alive() was not invoked in the "
"1000ms timelimit. GDB alive packet not "
"sent! (%lld). Workaround: increase "
"\"set remotetimeout\" in GDB",
current_time-last_time);
else
LOG_DEBUG("keep_alive() was not invoked in the "
"1000ms timelimit (%lld). This may cause "
"trouble with GDB connections.",
current_time-last_time);
}
if (current_time-last_time>500)
{

View File

@ -61,6 +61,10 @@ enum gdb_detach_mode
/* target behaviour on gdb detach */
enum gdb_detach_mode detach_mode = GDB_DETACH_RESUME;
/* number of gdb connections, mainly to supress gdb related debugging spam
* in helper/log.c when no gdb connections are actually active */
int gdb_actual_connections;
/* set if we are sending a memory map to gdb
* via qXfer:memory-map:read packet */
/* enabled by default*/
@ -797,6 +801,9 @@ int gdb_new_connection(connection_t *connection)
if (initial_ack != '+')
gdb_putback_char(connection, initial_ack);
target_call_event_callbacks(gdb_service->target, TARGET_EVENT_GDB_ATTACH );
gdb_actual_connections++;
return ERROR_OK;
}
@ -805,6 +812,8 @@ int gdb_connection_closed(connection_t *connection)
gdb_service_t *gdb_service = connection->service->priv;
gdb_connection_t *gdb_connection = connection->priv;
gdb_actual_connections--;
/* see if an image built with vFlash commands is left */
if (gdb_connection->vflash_image)
{