Add an cpsie i before the SVC call that starts the scheduler. This is just in case the C start up code leaves interrupts globally disabled.

pull/4/head
Richard Barry 14 years ago
parent 6046eea342
commit a67c624894

@ -155,7 +155,9 @@ void vPortStartFirstTask( void )
" ldr r0, [r0] \n"
" ldr r0, [r0] \n"
" msr msp, r0 \n" /* Set the msp back to the start of the stack. */
" cpsie i \n"
" svc 0 \n" /* System call to start first task. */
" nop \n"
);
}
/*-----------------------------------------------------------*/

@ -51,13 +51,6 @@
licensing and training services.
*/
/*
Change from V4.2.1:
+ Introduced usage of configKERNEL_INTERRUPT_PRIORITY macro to set the
interrupt priority used by the kernel.
*/
#include <FreeRTOSConfig.h>
/* For backward compatibility, ensure configKERNEL_INTERRUPT_PRIORITY is
@ -157,6 +150,7 @@ vPortStartFirstTask
/* Set the msp back to the start of the stack. */
msr msp, r0
/* Call SVC to start the first task. */
cpsie i
svc 0
END

@ -149,7 +149,9 @@ __asm void vPortStartFirstTask( void )
/* Set the msp back to the start of the stack. */
msr msp, r0
/* Call SVC to start the first task. */
cpsie i
svc 0
nop
}
/*-----------------------------------------------------------*/

Loading…
Cancel
Save