mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-04-21 22:11:57 -04:00
Update to use Yagarto compiler and use the noinline attribute on the serial port handler function.
This commit is contained in:
parent
4b7c5b07c1
commit
9a76bc39cb
|
@ -35,6 +35,12 @@ SECTIONS
|
||||||
*(.bss)
|
*(.bss)
|
||||||
} >ram
|
} >ram
|
||||||
|
|
||||||
|
. = ALIGN(4);
|
||||||
|
.eh_frame :
|
||||||
|
{
|
||||||
|
KEEP (*(.eh_frame))
|
||||||
|
} > ram
|
||||||
|
|
||||||
/* Align here to ensure that the .bss section occupies space up to
|
/* Align here to ensure that the .bss section occupies space up to
|
||||||
_end. Align after .bss to ensure correct alignment even if the
|
_end. Align after .bss to ensure correct alignment even if the
|
||||||
.bss section disappears because there are no input sections. */
|
.bss section disappears because there are no input sections. */
|
||||||
|
|
|
@ -36,6 +36,12 @@ SECTIONS
|
||||||
*(.bss)
|
*(.bss)
|
||||||
} >ram
|
} >ram
|
||||||
|
|
||||||
|
. = ALIGN(4);
|
||||||
|
.eh_frame :
|
||||||
|
{
|
||||||
|
KEEP (*(.eh_frame))
|
||||||
|
} > ram
|
||||||
|
|
||||||
/* Align here to ensure that the .bss section occupies space up to
|
/* Align here to ensure that the .bss section occupies space up to
|
||||||
_end. Align after .bss to ensure correct alignment even if the
|
_end. Align after .bss to ensure correct alignment even if the
|
||||||
.bss section disappears because there are no input sections. */
|
.bss section disappears because there are no input sections. */
|
||||||
|
|
|
@ -93,7 +93,7 @@ void vUART_ISR_Wrapper( void ) __attribute__ ((naked));
|
||||||
|
|
||||||
/* The ISR function that actually performs the work. This must be separate
|
/* The ISR function that actually performs the work. This must be separate
|
||||||
from the wrapper to ensure the correct stack frame is set up. */
|
from the wrapper to ensure the correct stack frame is set up. */
|
||||||
void vUART_ISR_Handler( void );
|
void vUART_ISR_Handler( void ) __attribute__ ((noinline));
|
||||||
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
void vSerialISRCreateQueues( unsigned portBASE_TYPE uxQueueLength, xQueueHandle *pxRxedChars, xQueueHandle *pxCharsForTx )
|
void vSerialISRCreateQueues( unsigned portBASE_TYPE uxQueueLength, xQueueHandle *pxRxedChars, xQueueHandle *pxCharsForTx )
|
||||||
|
@ -116,7 +116,7 @@ void vUART_ISR_Wrapper( void )
|
||||||
|
|
||||||
/* Call the handler. This must be a separate function to ensure the
|
/* Call the handler. This must be a separate function to ensure the
|
||||||
stack frame is correctly set up. */
|
stack frame is correctly set up. */
|
||||||
vUART_ISR_Handler();
|
__asm volatile( "bl vUART_ISR_Handler" );
|
||||||
|
|
||||||
/* Restore the context of whichever task will run next. */
|
/* Restore the context of whichever task will run next. */
|
||||||
portRESTORE_CONTEXT();
|
portRESTORE_CONTEXT();
|
||||||
|
|
Loading…
Reference in a new issue