aboutsummaryrefslogtreecommitdiff
path: root/Debugger/debug_comm.S
diff options
context:
space:
mode:
authorTC Wan2010-12-27 17:34:36 +0800
committerTC Wan2010-12-27 17:34:36 +0800
commit86539efe1fe0cbbc6926f23a6e29b97d09ef9360 (patch)
tree55b158e35efb6e51e8f52e38402be3c51d44aa9f /Debugger/debug_comm.S
parentdedac1e444d0def4c124c989ed24ecb3b38c3cdd (diff)
fix indirect function call to nxos routines
Diffstat (limited to 'Debugger/debug_comm.S')
-rw-r--r--Debugger/debug_comm.S8
1 files changed, 5 insertions, 3 deletions
diff --git a/Debugger/debug_comm.S b/Debugger/debug_comm.S
index 1efc836..75ff505 100644
--- a/Debugger/debug_comm.S
+++ b/Debugger/debug_comm.S
@@ -344,7 +344,8 @@ _dbg__usbbuf_reset:
ldr r0, =debug_InUSBBuf
mov r1, #USB_BUFSIZE
ldr r2, =nx_usb_read
- bl r2
+ mov lr,pc
+ bx r2
ldmfd sp!, {pc}
#else
/* FIXME: NXT Firmware support */
@@ -361,8 +362,9 @@ _dbg__usbbuf_reset:
dbg__hasDebugMsg:
#ifdef __NXOS__
stmfd sp!, {lr}
- ldr r0, =nx_usb_data_read
- bl r2 /* Number of bytes read in R0 */
+ ldr r2, =nx_usb_data_read
+ mov lr,pc
+ bx r2 /* Number of bytes read in R0 */
/* Note: The return value is the USB Buffer Size, includes NXT Direct Command Header */
/* FIXME: Need to check command type etc. before accepting it as a valid Debugger message */
ldr r2, =debug_InUSBBuf