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:
chinglee-iot 2023-07-24 21:17:17 +08:00 committed by GitHub
parent 7adb08eff5
commit 6eb8fc5f51
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
61 changed files with 7180 additions and 21 deletions

View file

@ -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