From c5c32913c91870724e06b362efb87f53ffa5618f Mon Sep 17 00:00:00 2001 From: Richard Barry Date: Mon, 28 Sep 2009 18:50:32 +0000 Subject: [PATCH] Inline the asm function in the ISR wrapper. --- Demo/ARM7_LPC2368_Rowley/webserver/EMAC_ISR.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Demo/ARM7_LPC2368_Rowley/webserver/EMAC_ISR.c b/Demo/ARM7_LPC2368_Rowley/webserver/EMAC_ISR.c index d1132a3c2..10a6e5bcc 100644 --- a/Demo/ARM7_LPC2368_Rowley/webserver/EMAC_ISR.c +++ b/Demo/ARM7_LPC2368_Rowley/webserver/EMAC_ISR.c @@ -7,7 +7,7 @@ void vEMAC_ISR_Wrapper( void ) __attribute__((naked)); /* The function that actually performs the interrupt processing. This must be separate to the wrapper to ensure the correct stack frame is set up. */ -void vEMAC_ISR_Handler( void ); +void vEMAC_ISR_Handler( void ) __attribute__((noinline)); extern xSemaphoreHandle xEMACSemaphore; @@ -39,7 +39,7 @@ void vEMAC_ISR_Wrapper( void ) /* Call the handler function. This must be separate from the wrapper function to ensure the correct stack frame is set up. */ - vEMAC_ISR_Handler(); + __asm volatile( "bl vEMAC_ISR_Handler" ); /* Restore the context of whichever task is going to run next. */ portRESTORE_CONTEXT();