|
|
|
@ -110,10 +110,6 @@
|
|
|
|
|
#error configMAX_API_CALL_INTERRUPT_PRIORITY must be greater than ( configUNIQUE_INTERRUPT_PRIORITIES / 2 )
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
/* Used to check non ISR safe API functions are not called from inside an
|
|
|
|
|
ISR. */
|
|
|
|
|
#define portASSERT_IF_IN_INTERRUPT() configASSERT( ( portICCRPR_RUNNING_PRIORITY_REGISTER == 0xffUL ) || ( portICCRPR_RUNNING_PRIORITY_REGISTER == portLOWEST_INTERRUPT_PRIORITY ) )
|
|
|
|
|
|
|
|
|
|
/* Some vendor specific files default configCLEAR_TICK_INTERRUPT() in
|
|
|
|
|
portmacro.h. */
|
|
|
|
|
#ifndef configCLEAR_TICK_INTERRUPT
|
|
|
|
@ -375,10 +371,6 @@ void vPortEndScheduler( void )
|
|
|
|
|
|
|
|
|
|
void vPortEnterCritical( void )
|
|
|
|
|
{
|
|
|
|
|
/* This is not the interrupt safe version of the enter critical function.
|
|
|
|
|
Only API functions that end in "FromISR" can be used in an interrupt. */
|
|
|
|
|
portASSERT_IF_IN_INTERRUPT();
|
|
|
|
|
|
|
|
|
|
/* Mask interrupts up to the max syscall interrupt priority. */
|
|
|
|
|
ulPortSetInterruptMask();
|
|
|
|
|
|
|
|
|
@ -386,15 +378,20 @@ void vPortEnterCritical( void )
|
|
|
|
|
directly. Increment ulCriticalNesting to keep a count of how many times
|
|
|
|
|
portENTER_CRITICAL() has been called. */
|
|
|
|
|
ulCriticalNesting++;
|
|
|
|
|
|
|
|
|
|
/* This is not the interrupt safe version of the enter critical function.
|
|
|
|
|
Only API functions that end in "FromISR" can be used in an interrupt. The
|
|
|
|
|
test of ulCriticalNesting() guards against recursive calls to assert in the
|
|
|
|
|
case that assert itself contains a call to taskENTER_CRITICAL. */
|
|
|
|
|
if( ulCriticalNesting == 1 )
|
|
|
|
|
{
|
|
|
|
|
configASSERT( ulPortInterruptNesting == 0 );
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
/*-----------------------------------------------------------*/
|
|
|
|
|
|
|
|
|
|
void vPortExitCritical( void )
|
|
|
|
|
{
|
|
|
|
|
/* This is not the interrupt safe version of the enter critical function.
|
|
|
|
|
Only API functions that end in "FromISR" can be used in an interrupt. */
|
|
|
|
|
portASSERT_IF_IN_INTERRUPT();
|
|
|
|
|
|
|
|
|
|
if( ulCriticalNesting > portNO_CRITICAL_NESTING )
|
|
|
|
|
{
|
|
|
|
|
/* Decrement the nesting count as the critical section is being
|
|
|
|
|