]> git.sur5r.net Git - freertos/blobdiff - Demo/ARM7_LPC2368_Rowley/webserver/EMAC_ISR.c
Inline the asm function in the ISR wrapper.
[freertos] / Demo / ARM7_LPC2368_Rowley / webserver / EMAC_ISR.c
index d1132a3c223281d42675c6b164d366cd44e27da5..10a6e5bcc846fadcbe618a3bf8ec93d8f5cb3cca 100644 (file)
@@ -7,7 +7,7 @@ void vEMAC_ISR_Wrapper( void ) __attribute__((naked));
 \r
 /* The function that actually performs the interrupt processing.  This must be \r
 separate to the wrapper to ensure the correct stack frame is set up. */\r
-void vEMAC_ISR_Handler( void );\r
+void vEMAC_ISR_Handler( void ) __attribute__((noinline));\r
 \r
 extern xSemaphoreHandle xEMACSemaphore;\r
 \r
@@ -39,7 +39,7 @@ void vEMAC_ISR_Wrapper( void )
 \r
        /* Call the handler function.  This must be separate from the wrapper\r
        function to ensure the correct stack frame is set up. */\r
-       vEMAC_ISR_Handler();\r
+       __asm volatile( "bl vEMAC_ISR_Handler" );\r
 \r
        /* Restore the context of whichever task is going to run next. */\r
        portRESTORE_CONTEXT();\r