From 74f6599332a09493f93c1c0893da87581ca91ed8 Mon Sep 17 00:00:00 2001 From: Tat-Chee Wan (USM) Date: Fri, 1 Apr 2011 10:38:17 +0800 Subject: update armdebug to handle ctrl-c messages --- Debugger/debug_comm.S | 3 +++ Debugger/debug_stub.S | 11 +++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) (limited to 'Debugger') diff --git a/Debugger/debug_comm.S b/Debugger/debug_comm.S index 9cc9702..740fa3e 100644 --- a/Debugger/debug_comm.S +++ b/Debugger/debug_comm.S @@ -765,6 +765,9 @@ _hasMsg2Copy: /* Need to account for Packet Acknowledgement */ 1: ldrb r0, [r5] + teq r0, #MSGBUF_CTRLC /* Look for Ctrl-C */ + moveq r0, r4 /* If found, set R0 to current message length */ + beq exit_dbg__getDebugMsg /* and return */ teq r0, #MSGBUF_NAKCHAR /* Look for '-' */ beq exit_dbg__getMsgError /* FIXME: We can't handle retransmission, flag message error */ teq r0, #MSGBUF_ACKCHAR /* Look for '+' */ diff --git a/Debugger/debug_stub.S b/Debugger/debug_stub.S index 2b09eff..a82088d 100644 --- a/Debugger/debug_stub.S +++ b/Debugger/debug_stub.S @@ -627,9 +627,16 @@ dbg__bkpt_waitCMD_cont: b dbg__bkpt_waitCMD_cont _proc_command: -/* Message now has $\0 */ +/* Message now has Ctrl-C or $\0 */ mov r4, r1 /* Use R4 as buffer pointer */ - ldrb r0, [r4], #1 /* Look for '$' */ + ldrb r0, [r4], #1 /* Look for Ctrl-C or '$' */ + teq r0, #MSGBUF_CTRLC + bne _dbg_check_gdb_command + /* Ctrl-C detected, do nothing (wait for next command from GDB) */ + bl __dbg__procAckOnly /* send Ack */ + b dbg__bkpt_waitCMD_cont + +_dbg_check_gdb_command: teq r0, #MSGBUF_STARTCHAR movne r0, #MSG_ERRFORMAT /* Message Format invalid (not '$') */ bne _dbg__cmdError /* Shouldn't happen */ -- cgit v1.2.3