mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-10-14 08:47:45 -04:00
Merge SMP demos from FreeRTOS-SMP-Demos (#1046)
* Merge RP2040 and XMOS AICORE SMP demos to main branch from FreeRTOS-SMP-Demos * Update the common test for SMP demos * Update the kernel submodule
This commit is contained in:
parent
7adb08eff5
commit
6eb8fc5f51
61 changed files with 7180 additions and 21 deletions
|
@ -97,7 +97,7 @@
|
|||
if( xQueueIsQueueFullFromISR( xNormallyEmptyQueue ) != pdTRUE ) \
|
||||
{ \
|
||||
UBaseType_t uxSavedInterruptStatus; \
|
||||
uxSavedInterruptStatus = portSET_INTERRUPT_MASK_FROM_ISR(); \
|
||||
uxSavedInterruptStatus = taskENTER_CRITICAL_FROM_ISR(); \
|
||||
{ \
|
||||
uxValueForNormallyEmptyQueue++; \
|
||||
if( xQueueSendFromISR( xNormallyEmptyQueue, ( void * ) &uxValueForNormallyEmptyQueue, &xHigherPriorityTaskWoken ) != pdPASS ) \
|
||||
|
@ -105,7 +105,7 @@
|
|||
uxValueForNormallyEmptyQueue--; \
|
||||
} \
|
||||
} \
|
||||
portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedInterruptStatus ); \
|
||||
taskEXIT_CRITICAL_FROM_ISR( uxSavedInterruptStatus ); \
|
||||
} \
|
||||
|
||||
|
||||
|
@ -115,7 +115,7 @@
|
|||
if( xQueueIsQueueFullFromISR( xNormallyFullQueue ) != pdTRUE ) \
|
||||
{ \
|
||||
UBaseType_t uxSavedInterruptStatus; \
|
||||
uxSavedInterruptStatus = portSET_INTERRUPT_MASK_FROM_ISR(); \
|
||||
uxSavedInterruptStatus = taskENTER_CRITICAL_FROM_ISR(); \
|
||||
{ \
|
||||
uxValueForNormallyFullQueue++; \
|
||||
if( xQueueSendFromISR( xNormallyFullQueue, ( void * ) &uxValueForNormallyFullQueue, &xHigherPriorityTaskWoken ) != pdPASS ) \
|
||||
|
@ -123,7 +123,7 @@
|
|||
uxValueForNormallyFullQueue--; \
|
||||
} \
|
||||
} \
|
||||
portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedInterruptStatus ); \
|
||||
taskEXIT_CRITICAL_FROM_ISR( uxSavedInterruptStatus ); \
|
||||
} \
|
||||
|
||||
|
||||
|
@ -376,7 +376,11 @@ static void prvHigherPriorityNormallyEmptyTask( void * pvParameters )
|
|||
memset( ucNormallyEmptyReceivedValues, 0x00, sizeof( ucNormallyEmptyReceivedValues ) );
|
||||
|
||||
uxHighPriorityLoops1++;
|
||||
uxValueForNormallyEmptyQueue = 0;
|
||||
portENTER_CRITICAL();
|
||||
{
|
||||
uxValueForNormallyEmptyQueue = 0;
|
||||
}
|
||||
portEXIT_CRITICAL();
|
||||
|
||||
/* Suspend ourselves, allowing the lower priority task to
|
||||
* actually receive something from the queue. Until now it
|
||||
|
@ -528,7 +532,11 @@ static void prv1stHigherPriorityNormallyFullTask( void * pvParameters )
|
|||
memset( ucNormallyFullReceivedValues, 0x00, sizeof( ucNormallyFullReceivedValues ) );
|
||||
|
||||
uxHighPriorityLoops2++;
|
||||
uxValueForNormallyFullQueue = 0;
|
||||
portENTER_CRITICAL();
|
||||
{
|
||||
uxValueForNormallyFullQueue = 0;
|
||||
}
|
||||
portEXIT_CRITICAL();
|
||||
|
||||
/* Suspend ourselves, allowing the lower priority task to
|
||||
* actually receive something from the queue. Until now it
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue