mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2026-01-22 01:30:31 -05:00
* Revert "Remove coroutines (#874)"
This reverts commit 569c78fd8c.
* Update freertos Kernel submodule to latest head
* Remove temporary files
* Fix MingW demos and spell check
* Fix manifest version; fix headers
* Add ignore files and paths to core-checker.py
* Fix copyright in remaining files
* Fix PR check build failure
1. Remove defining `inline` in Makefile. This was causing build
warnings.
2. Ensure that the linker removed unused functions from various
compilation units.
3. Update the linker script so that all the functions are correctly
placed in FLASH section.
Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
---------
Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
Co-authored-by: Gaurav Aggarwal <aggarg@amazon.com>
This commit is contained in:
parent
9ccae851e7
commit
1277ba1661
605 changed files with 11240 additions and 3628 deletions
|
|
@ -38,7 +38,7 @@
|
|||
* application requirements.
|
||||
*
|
||||
* THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE
|
||||
* FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE.
|
||||
* FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE.
|
||||
*
|
||||
* See http://www.freertos.org/a00110.html
|
||||
*/
|
||||
|
|
@ -59,6 +59,9 @@
|
|||
#define configUSE_16_BIT_TICKS 0
|
||||
#define configIDLE_SHOULD_YIELD 1
|
||||
|
||||
/* Co-routine definitions. */
|
||||
#define configUSE_CO_ROUTINES 0
|
||||
#define configMAX_CO_ROUTINE_PRIORITIES ( 2 )
|
||||
|
||||
/* Set the following definitions to 1 to include the API function, or zero
|
||||
to exclude the API function. */
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ void vParTestInitialise( void )
|
|||
{
|
||||
/* This is performed from main() as the io bits are shared with other setup
|
||||
functions. Ensure the outputs are off to start. */
|
||||
ulLEDReg = partstALL_OUTPUTS_OFF;
|
||||
ulLEDReg = partstALL_OUTPUTS_OFF;
|
||||
|
||||
/* Enable clock to PIO... */
|
||||
AT91C_BASE_PS->PS_PCER = AT91C_PS_PIO;
|
||||
|
|
|
|||
|
|
@ -24,8 +24,8 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
BASIC INTERRUPT DRIVEN SERIAL PORT DRIVER FOR USART0.
|
||||
/*
|
||||
BASIC INTERRUPT DRIVEN SERIAL PORT DRIVER FOR USART0.
|
||||
|
||||
This file contains all the serial port components that can be compiled to
|
||||
either ARM or THUMB mode. Components that must be compiled to ARM mode are
|
||||
|
|
@ -60,14 +60,14 @@
|
|||
|
||||
/* Queues used to hold received characters, and characters waiting to be
|
||||
transmitted. */
|
||||
static QueueHandle_t xRxedChars;
|
||||
static QueueHandle_t xCharsForTx;
|
||||
static QueueHandle_t xRxedChars;
|
||||
static QueueHandle_t xCharsForTx;
|
||||
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
/*
|
||||
/*
|
||||
* The queues are created in serialISR.c as they are used from the ISR.
|
||||
* Obtain references to the queues and THRE Empty flag.
|
||||
* Obtain references to the queues and THRE Empty flag.
|
||||
*/
|
||||
extern void vSerialISRCreateQueues( unsigned portBASE_TYPE uxQueueLength, QueueHandle_t *pxRxedChars, QueueHandle_t *pxCharsForTx );
|
||||
|
||||
|
|
@ -84,10 +84,10 @@ extern void ( vUART_ISR_Wrapper )( void );
|
|||
serialISR.c (which is always compiled to ARM mode. */
|
||||
vSerialISRCreateQueues( uxQueueLength, &xRxedChars, &xCharsForTx );
|
||||
|
||||
if(
|
||||
( xRxedChars != serINVALID_QUEUE ) &&
|
||||
( xCharsForTx != serINVALID_QUEUE ) &&
|
||||
( ulWantedBaud != ( unsigned long ) 0 )
|
||||
if(
|
||||
( xRxedChars != serINVALID_QUEUE ) &&
|
||||
( xCharsForTx != serINVALID_QUEUE ) &&
|
||||
( ulWantedBaud != ( unsigned long ) 0 )
|
||||
)
|
||||
{
|
||||
portENTER_CRITICAL();
|
||||
|
|
@ -109,10 +109,10 @@ extern void ( vUART_ISR_Wrapper )( void );
|
|||
AT91C_BASE_US0->US_TCR = 0;
|
||||
|
||||
/* Input clock to baud rate generator is MCK */
|
||||
ulSpeed = configCPU_CLOCK_HZ * 10;
|
||||
ulSpeed = configCPU_CLOCK_HZ * 10;
|
||||
ulSpeed = ulSpeed / 16;
|
||||
ulSpeed = ulSpeed / ulWantedBaud;
|
||||
|
||||
|
||||
/* compute the error */
|
||||
ulCD = ulSpeed / 10;
|
||||
if ((ulSpeed - (ulCD * 10)) >= 5)
|
||||
|
|
@ -131,10 +131,10 @@ extern void ( vUART_ISR_Wrapper )( void );
|
|||
|
||||
Store interrupt handler function address in USART0 vector register... */
|
||||
AT91C_BASE_AIC->AIC_SVR[ portUSART0_AIC_CHANNEL ] = (unsigned long)vUART_ISR_Wrapper;
|
||||
|
||||
|
||||
/* USART0 interrupt level-sensitive, priority 1... */
|
||||
AT91C_BASE_AIC->AIC_SMR[ portUSART0_AIC_CHANNEL ] = AIC_SRCTYPE_INT_LEVEL_SENSITIVE | 1;
|
||||
|
||||
|
||||
/* Clear some pending USART0 interrupts (just in case)... */
|
||||
AT91C_BASE_US0->US_CR = US_RSTSTA;
|
||||
|
||||
|
|
|
|||
|
|
@ -25,8 +25,8 @@
|
|||
*/
|
||||
|
||||
|
||||
/*
|
||||
BASIC INTERRUPT DRIVEN SERIAL PORT DRIVER FOR USART0.
|
||||
/*
|
||||
BASIC INTERRUPT DRIVEN SERIAL PORT DRIVER FOR USART0.
|
||||
|
||||
This file contains all the serial port components that must be compiled
|
||||
to ARM mode. The components that can be compiled to either ARM or THUMB
|
||||
|
|
@ -61,8 +61,8 @@
|
|||
|
||||
/* Queues used to hold received characters, and characters waiting to be
|
||||
transmitted. */
|
||||
static QueueHandle_t xRxedChars;
|
||||
static QueueHandle_t xCharsForTx;
|
||||
static QueueHandle_t xRxedChars;
|
||||
static QueueHandle_t xCharsForTx;
|
||||
|
||||
/*-----------------------------------------------------------*/
|
||||
|
||||
|
|
@ -70,7 +70,7 @@ static QueueHandle_t xCharsForTx;
|
|||
be declared "naked". */
|
||||
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. */
|
||||
void vUART_ISR_Handler( void ) __attribute__ ((noinline));
|
||||
|
||||
|
|
@ -81,7 +81,7 @@ void vSerialISRCreateQueues( unsigned portBASE_TYPE uxQueueLength, QueueHandle_t
|
|||
xRxedChars = xQueueCreate( uxQueueLength, ( unsigned portBASE_TYPE ) sizeof( signed char ) );
|
||||
xCharsForTx = xQueueCreate( uxQueueLength + 1, ( unsigned portBASE_TYPE ) sizeof( signed char ) );
|
||||
|
||||
/* Pass back a reference to the queues so the serial API file can
|
||||
/* Pass back a reference to the queues so the serial API file can
|
||||
post/receive characters. */
|
||||
*pxRxedChars = xRxedChars;
|
||||
*pxCharsForTx = xCharsForTx;
|
||||
|
|
@ -93,7 +93,7 @@ void vUART_ISR_Wrapper( void )
|
|||
/* Save the context of the interrupted task. */
|
||||
portSAVE_CONTEXT();
|
||||
|
||||
/* 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. */
|
||||
__asm volatile( "bl vUART_ISR_Handler" );
|
||||
|
||||
|
|
@ -126,7 +126,7 @@ unsigned long ulStatus;
|
|||
{
|
||||
/* Queue empty, nothing to send so turn off the Tx interrupt. */
|
||||
AT91C_BASE_US0->US_IDR = US_TXRDY;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (ulStatus & US_RXRDY)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue