Add vQueueDelete() to the MPU port.

Added volatile key word to the queue xRxLock and xTxLock members.
Ensure the portPRIVILEGED_BIT bit is set when the timer task is being created by the kernel - as it was for the idle task.  Necessary for MPU port.
This commit is contained in:
Richard Barry 2012-08-03 15:21:21 +00:00
parent e1a83402d6
commit 2967657a85
6 changed files with 36 additions and 12 deletions

View file

@ -82,7 +82,7 @@
/* The number of LEDs available to the user on the evaluation kit. */
#define partestNUM_LEDS ( 3UL )
/* Definitions not included in sam3s_ek.h. */
/* Definitions not included in sam4s_ek.h. */
#define LED2_GPIO ( PIO_PC20_IDX )
/* One of the LEDs is wired in the inverse to the others as it is also used as
@ -121,20 +121,20 @@ void vParTestSetLED( unsigned portBASE_TYPE uxLED, signed portBASE_TYPE xValue )
if( xValue != pdFALSE )
{
/* Turn the LED on. */
portENTER_CRITICAL();
taskENTER_CRITICAL();
{
gpio_set_pin_low( ulLED[ uxLED ]);
}
portEXIT_CRITICAL();
taskEXIT_CRITICAL();
}
else
{
/* Turn the LED off. */
portENTER_CRITICAL();
taskENTER_CRITICAL();
{
gpio_set_pin_high( ulLED[ uxLED ]);
}
portEXIT_CRITICAL();
taskEXIT_CRITICAL();
}
}
}
@ -144,7 +144,11 @@ void vParTestToggleLED( unsigned portBASE_TYPE uxLED )
{
if( uxLED < partestNUM_LEDS )
{
gpio_toggle_pin( ulLED[ uxLED ] );
taskENTER_CRITICAL();
{
gpio_toggle_pin( ulLED[ uxLED ] );
}
taskEXIT_CRITICAL();
}
}

View file

@ -110,6 +110,7 @@ static xQueueHandle xCharsForTx;
/*-----------------------------------------------------------*/
/*
* See the serial.h header file.
*/
@ -239,6 +240,14 @@ void vSerialClose( xComPortHandle xPort )
}
/*-----------------------------------------------------------*/
/*
* It should be noted that the com test tasks (which use make use of this file)
* are included to demonstrate queues being used to communicate between tasks
* and interrupts, and to demonstrate a context switch being performed from
* inside an interrupt service routine. The serial driver used here is *not*
* intended to represent an efficient implementation. Real applications should
* make use of the USARTS peripheral DMA channel (PDC).
*/
void USART1_Handler( void )
{
portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;

Binary file not shown.