]> git.sur5r.net Git - freertos/commitdiff
Inline the asm function in the ISR wrapper.
authorrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Mon, 28 Sep 2009 18:50:32 +0000 (18:50 +0000)
committerrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Mon, 28 Sep 2009 18:50:32 +0000 (18:50 +0000)
git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@864 1d2547de-c912-0410-9cb9-b8ca96c0e9e2

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