*(.bss)\r
} >ram\r
\r
+ . = ALIGN(4);\r
+ .eh_frame :\r
+ {\r
+ KEEP (*(.eh_frame))\r
+ } > ram\r
+ \r
/* Align here to ensure that the .bss section occupies space up to\r
_end. Align after .bss to ensure correct alignment even if the\r
.bss section disappears because there are no input sections. */\r
*(.bss)\r
} >ram\r
\r
+ . = ALIGN(4);\r
+ .eh_frame :\r
+ {\r
+ KEEP (*(.eh_frame))\r
+ } > ram\r
+ \r
/* Align here to ensure that the .bss section occupies space up to\r
_end. Align after .bss to ensure correct alignment even if the\r
.bss section disappears because there are no input sections. */\r
void vUART_ISR_Wrapper( void ) __attribute__ ((naked));\r
\r
/* UART0 interrupt service routine handler. */\r
-void vUART_ISR_Handler( void );\r
+void vUART_ISR_Handler( void ) __attribute__ ((noinline));\r
\r
/*-----------------------------------------------------------*/\r
void vSerialISRCreateQueues( unsigned portBASE_TYPE uxQueueLength, xQueueHandle *pxRxedChars, \r
\r
/* Call the handler. This must be a separate function from the wrapper\r
to ensure the correct stack frame is set up. */\r
- vUART_ISR_Handler();\r
+ __asm volatile ("bl vUART_ISR_Handler");\r
\r
/* Restore the context of whichever task is going to run next. */\r
portRESTORE_CONTEXT();\r