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
|
|
@ -70,6 +70,9 @@ peripheral clock. */
|
|||
#define configUSE_RECURSIVE_MUTEXES 1
|
||||
#define configUSE_MUTEXES 1
|
||||
|
||||
/* Co-routine definitions. */
|
||||
#define configUSE_CO_ROUTINES 0
|
||||
#define configMAX_CO_ROUTINE_PRIORITIES ( 2 )
|
||||
|
||||
/* Software timer configuration. */
|
||||
#define configUSE_TIMERS 1
|
||||
|
|
|
|||
|
|
@ -102,13 +102,13 @@ unsigned long ulCompareMatchBits;
|
|||
interrupt and the task. */
|
||||
vSemaphoreCreateBinary( xHighFrequencyTimerSemaphore );
|
||||
configASSERT( xHighFrequencyTimerSemaphore );
|
||||
|
||||
|
||||
/* Create the task that pends on the semaphore that is given by the
|
||||
high frequency interrupt. */
|
||||
xTaskCreate( prvHighFrequencyTimerTask, "HFTmr", configMINIMAL_STACK_SIZE, NULL, configMAX_PRIORITIES - 1, NULL );
|
||||
|
||||
/* Setup the interrupt itself. The STM module clock divider is setup when
|
||||
the tick interrupt is configured - which is when the scheduler is started -
|
||||
|
||||
/* Setup the interrupt itself. The STM module clock divider is setup when
|
||||
the tick interrupt is configured - which is when the scheduler is started -
|
||||
so there is no need to do it here.
|
||||
|
||||
The tick interrupt uses compare match 0, so this test uses compare match
|
||||
|
|
@ -116,7 +116,7 @@ unsigned long ulCompareMatchBits;
|
|||
register. */
|
||||
ulCompareMatchBits = ( 0x1fUL - __CLZ( ulCompareMatchValue ) );
|
||||
ulCompareMatchBits <<= 16UL;
|
||||
|
||||
|
||||
/* Write the values to the relevant SMT registers, without changing other
|
||||
bits. */
|
||||
taskENTER_CRITICAL();
|
||||
|
|
@ -129,7 +129,7 @@ unsigned long ulCompareMatchBits;
|
|||
{
|
||||
/* Set-up the interrupt. */
|
||||
STM_SRC1.reg = ( configHIGH_FREQUENCY_TIMER_PRIORITY | 0x00005000UL );
|
||||
|
||||
|
||||
/* Enable the Interrupt. */
|
||||
STM_ISRR.reg &= ~( 0x03UL << 2UL );
|
||||
STM_ISRR.reg |= ( 0x1UL << 2UL );
|
||||
|
|
@ -170,7 +170,7 @@ static void prvHighFrequencyTimerTask( void *pvParameters )
|
|||
{
|
||||
/* Wait for the next trigger from the high frequency timer interrupt. */
|
||||
xSemaphoreTake( xHighFrequencyTimerSemaphore, portMAX_DELAY );
|
||||
|
||||
|
||||
/* Just count how many times the task has been unblocked before
|
||||
returning to wait for the semaphore again. */
|
||||
ulHighFrequencyTaskIterations++;
|
||||
|
|
@ -193,18 +193,18 @@ unsigned long ulHigherPriorityTaskWoken = pdFALSE;
|
|||
STM_CMP1.reg += ulCompareMatchValue;
|
||||
|
||||
ulExecutionCounter++;
|
||||
|
||||
|
||||
if( ulExecutionCounter >= ulInterruptsPer10ms )
|
||||
{
|
||||
ulExecutionCounter = xSemaphoreGiveFromISR( xHighFrequencyTimerSemaphore, &ulHigherPriorityTaskWoken );
|
||||
|
||||
|
||||
/* If the semaphore was given ulExeuctionCounter will now be pdTRUE. */
|
||||
configASSERT( ulExecutionCounter == pdTRUE );
|
||||
|
||||
|
||||
/* Start counting again. */
|
||||
ulExecutionCounter = 0UL;
|
||||
}
|
||||
|
||||
|
||||
/* Context switch on exit if necessary. */
|
||||
portYIELD_FROM_ISR( ulHigherPriorityTaskWoken );
|
||||
}
|
||||
|
|
|
|||
|
|
@ -87,6 +87,7 @@
|
|||
/* Scheduler includes. */
|
||||
#include "FreeRTOS.h"
|
||||
#include "task.h"
|
||||
#include "croutine.h"
|
||||
|
||||
/* Demo application includes. */
|
||||
#include "partest.h"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue