]> git.sur5r.net Git - freertos/blobdiff - Demo/CORTEX_LM3S811_IAR/main.c
Update to V5.4.1
[freertos] / Demo / CORTEX_LM3S811_IAR / main.c
index 6742ea7916e1d49acea574a2904b1db72bc652c0..6ac86923578cfa57409895aca00c43478d1611a2 100644 (file)
@@ -1,36 +1,48 @@
 /*\r
-       FreeRTOS.org V4.2.1 - Copyright (C) 2003-2007 Richard Barry.\r
+       FreeRTOS V5.4.1 - Copyright (C) 2009 Real Time Engineers Ltd.\r
 \r
-       This file is part of the FreeRTOS.org distribution.\r
+       This file is part of the FreeRTOS distribution.\r
 \r
-       FreeRTOS.org is free software; you can redistribute it and/or modify\r
-       it under the terms of the GNU General Public License as published by\r
-       the Free Software Foundation; either version 2 of the License, or\r
-       (at your option) any later version.\r
+       FreeRTOS is free software; you can redistribute it and/or modify it     under \r
+       the terms of the GNU General Public License (version 2) as published by the \r
+       Free Software Foundation and modified by the FreeRTOS exception.\r
+       **NOTE** The exception to the GPL is included to allow you to distribute a\r
+       combined work that includes FreeRTOS without being obliged to provide the \r
+       source code for proprietary components outside of the FreeRTOS kernel.  \r
+       Alternative commercial license and support terms are also available upon \r
+       request.  See the licensing section of http://www.FreeRTOS.org for full \r
+       license details.\r
 \r
-       FreeRTOS.org is distributed in the hope that it will be useful,\r
-       but WITHOUT ANY WARRANTY; without even the implied warranty of\r
-       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
-       GNU General Public License for more details.\r
+       FreeRTOS is distributed in the hope that it will be useful,     but WITHOUT\r
+       ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or\r
+       FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for\r
+       more details.\r
 \r
-       You should have received a copy of the GNU General Public License\r
-       along with FreeRTOS.org; if not, write to the Free Software\r
-       Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
+       You should have received a copy of the GNU General Public License along\r
+       with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59\r
+       Temple Place, Suite 330, Boston, MA  02111-1307  USA.\r
 \r
-       A special exception to the GPL can be applied should you wish to distribute\r
-       a combined work that includes FreeRTOS.org, without being obliged to provide\r
-       the source code for any proprietary components.  See the licensing section\r
-       of http://www.FreeRTOS.org for full details of how and when the exception\r
-       can be applied.\r
 \r
        ***************************************************************************\r
-       See http://www.FreeRTOS.org for documentation, latest information, license\r
-       and contact details.  Please ensure to read the configuration and relevant\r
-       port sections of the online documentation.\r
-\r
-       Also see http://www.SafeRTOS.com for an IEC 61508 compliant version along\r
-       with commercial development and support options.\r
+       *                                                                         *\r
+       * Looking for a quick start?  Then check out the FreeRTOS eBook!          *\r
+       * See http://www.FreeRTOS.org/Documentation for details                   *\r
+       *                                                                         *\r
        ***************************************************************************\r
+\r
+       1 tab == 4 spaces!\r
+\r
+       Please ensure to read the configuration and relevant port sections of the\r
+       online documentation.\r
+\r
+       http://www.FreeRTOS.org - Documentation, latest information, license and\r
+       contact details.\r
+\r
+       http://www.SafeRTOS.com - A version that is certified for use in safety\r
+       critical systems.\r
+\r
+       http://www.OpenRTOS.com - Commercial support, development, porting,\r
+       licensing and training services.\r
 */\r
 \r
 \r
@@ -239,6 +251,7 @@ static void prvSetupHardware( void )
        SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC);\r
     GPIODirModeSet(GPIO_PORTC_BASE, mainPUSH_BUTTON, GPIO_DIR_MODE_IN);\r
        GPIOIntTypeSet( GPIO_PORTC_BASE, mainPUSH_BUTTON,GPIO_FALLING_EDGE );\r
+       IntPrioritySet( INT_GPIOC, configKERNEL_INTERRUPT_PRIORITY );\r
        GPIOPinIntEnable( GPIO_PORTC_BASE, mainPUSH_BUTTON );\r
        IntEnable( INT_GPIOC );\r
 \r
@@ -253,7 +266,7 @@ static void prvSetupHardware( void )
        GPIODirModeSet( GPIO_PORTA_BASE, GPIO_PIN_0 | GPIO_PIN_1, GPIO_DIR_MODE_HW );\r
 \r
        /* Configure the UART for 8-N-1 operation. */\r
-       UARTConfigSet( UART0_BASE, mainBAUD_RATE, UART_CONFIG_WLEN_8 | UART_CONFIG_PAR_NONE | UART_CONFIG_STOP_ONE );\r
+       UARTConfigSetExpClk( UART0_BASE, SysCtlClockGet(), mainBAUD_RATE, UART_CONFIG_WLEN_8 | UART_CONFIG_PAR_NONE | UART_CONFIG_STOP_ONE );\r
 \r
        /* We don't want to use the fifo.  This is for test purposes to generate\r
        as many interrupts as possible. */\r
@@ -261,6 +274,7 @@ static void prvSetupHardware( void )
 \r
        /* Enable Tx interrupts. */\r
        HWREG( UART0_BASE + UART_O_IM ) |= UART_INT_TX;\r
+       IntPrioritySet( INT_UART0, configKERNEL_INTERRUPT_PRIORITY );\r
        IntEnable( INT_UART0 );\r
 \r
 \r
@@ -334,14 +348,14 @@ unsigned portLONG ulStatus;
 \r
 void vGPIO_ISR( void )\r
 {\r
+portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;\r
+\r
        /* Clear the interrupt. */\r
        GPIOPinIntClear(GPIO_PORTC_BASE, mainPUSH_BUTTON);\r
 \r
        /* Wake the button handler task. */\r
-       if( xSemaphoreGiveFromISR( xButtonSemaphore, pdFALSE ) )\r
-       {\r
-               portEND_SWITCHING_ISR( pdTRUE );\r
-       }\r
+       xSemaphoreGiveFromISR( xButtonSemaphore, &xHigherPriorityTaskWoken );\r
+       portEND_SWITCHING_ISR( xHigherPriorityTaskWoken );\r
 }\r
 /*-----------------------------------------------------------*/\r
 \r