diff options
-rw-r--r-- | demos/ARM7-LPC214x-GCC/chcore2.s | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/demos/ARM7-LPC214x-GCC/chcore2.s b/demos/ARM7-LPC214x-GCC/chcore2.s index a450d9b74..22a819c72 100644 --- a/demos/ARM7-LPC214x-GCC/chcore2.s +++ b/demos/ARM7-LPC214x-GCC/chcore2.s @@ -47,9 +47,9 @@ threadstart: bx r0
.code 16
mov r0, r5
- mov lr, pc
- bx r4
+ bl jmpr4
bl chThdExit
+jmpr4: bx r4
.code 32
#endif
@@ -202,14 +202,17 @@ UART1IrqHandler: * Common exit point for all IRQ routines, it performs the rescheduling if
* required.
*/
-IrqCommon:
#ifdef THUMB_NO_INTERWORKING
.code 16
+.globl IrqCommon
+IrqCommon:
bl chSchRescRequiredI
mov lr, pc
bx lr
.code 32
#else
+.globl IrqCommon
+IrqCommon:
bl chSchRescRequiredI
#endif
cmp r0, #0 // Simply returns if a
|