From e1613c5169d7c792015d6a0bd2224626873af4e2 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Fri, 11 Apr 2008 14:39:49 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@259 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- ports/ARMCM3/chcore.c | 6 +++--- ports/ARMCM3/crt0.s | 2 ++ 2 files changed, 5 insertions(+), 3 deletions(-) (limited to 'ports') diff --git a/ports/ARMCM3/chcore.c b/ports/ARMCM3/chcore.c index ea33f62eb..d691cee20 100644 --- a/ports/ARMCM3/chcore.c +++ b/ports/ARMCM3/chcore.c @@ -95,10 +95,10 @@ void chSysIRQExitI(void) { asm volatile ("mrs r0, PSP \n\t" \ "ldr r1, =retaddr \n\t" \ - "ldr r2, [r0, #18] \n\t" \ + "ldr r2, [r0, #24] \n\t" \ "str r2, [r1] \n\t" \ "ldr r1, =threadswitch \n\t" \ - "str r1, [r0, #18] "); + "str r1, [r0, #24] "); return; /* Note, returns *without* re-enabling interrupts.*/ } } @@ -106,7 +106,7 @@ void chSysIRQExitI(void) { } /* - * This code is execute in thread mode when exiting from an ISR routine that + * This code is executed in thread mode when exiting from an ISR routine that * requires rescheduling. */ __attribute__((naked, weak)) diff --git a/ports/ARMCM3/crt0.s b/ports/ARMCM3/crt0.s index 8be43d6a3..75be93753 100644 --- a/ports/ARMCM3/crt0.s +++ b/ports/ARMCM3/crt0.s @@ -33,6 +33,8 @@ /* * Reset handler. */ +.thumb +.thumb_func .global ResetHandler ResetHandler: /* -- cgit v1.2.3