]> git.sur5r.net Git - freertos/blobdiff - Demo/ARM7_LPC2368_Eclipse/RTOSDemo/main.c
Ready for V5.1.1 release.
[freertos] / Demo / ARM7_LPC2368_Eclipse / RTOSDemo / main.c
index 077b6f07d4ddf2b497164bba7aeb4ddfe3736ac2..0f26665b88886bb27a840fb123e9887eb2f5c51d 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-       FreeRTOS.org V4.5.0 - Copyright (C) 2003-2007 Richard Barry.\r
+       FreeRTOS.org V5.1.1 - Copyright (C) 2003-2008 Richard Barry.\r
 \r
        This file is part of the FreeRTOS.org distribution.\r
 \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
+    ***************************************************************************\r
+    ***************************************************************************\r
+    *                                                                         *\r
+    * SAVE TIME AND MONEY!  We can port FreeRTOS.org to your own hardware,    *\r
+    * and even write all or part of your application on your behalf.          *\r
+    * See http://www.OpenRTOS.com for details of the services we provide to   *\r
+    * expedite your project.                                                  *\r
+    *                                                                         *\r
+    ***************************************************************************\r
+    ***************************************************************************\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
@@ -55,7 +72,7 @@
 \r
 /* Scheduler includes. */\r
 #include "FreeRTOS.h"\r
-#include "Task.h"\r
+#include "task.h"\r
 #include "queue.h"\r
 #include "semphr.h"\r
 \r
 #define mainGEN_QUEUE_TASK_PRIORITY                    ( tskIDLE_PRIORITY ) \r
 \r
 /* Constants to setup the PLL. */\r
-#define mainPLL_MUL                    ( ( unsigned portLONG ) ( 12 - 1 ) )\r
+#define mainPLL_MUL                    ( ( unsigned portLONG ) ( 8 - 1 ) )\r
 #define mainPLL_DIV                    ( ( unsigned portLONG ) 0x0000 )\r
-#define mainCPU_CLK_DIV                ( ( unsigned portLONG ) 0x0004 )\r
+#define mainCPU_CLK_DIV                ( ( unsigned portLONG ) 0x0003 )\r
 #define mainPLL_ENABLE         ( ( unsigned portLONG ) 0x0001 )\r
 #define mainPLL_CONNECT                ( ( ( unsigned portLONG ) 0x0002 ) | mainPLL_ENABLE )\r
 #define mainPLL_FEED_BYTE1     ( ( unsigned portLONG ) 0xaa )\r
@@ -159,6 +176,7 @@ void vApplicationTickHook( void )
 unsigned portBASE_TYPE uxColumn = 0;\r
 static xLCDMessage xMessage = { 0, "PASS" };\r
 static unsigned portLONG ulTicksSinceLastDisplay = 0;\r
+static portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;\r
 \r
        /* Called from every tick interrupt.  Have enough ticks passed to make it\r
        time to perform our health status check again? */\r
@@ -197,7 +215,8 @@ static unsigned portLONG ulTicksSinceLastDisplay = 0;
         xMessage.xColumn++;\r
 \r
                /* Send the message to the LCD gatekeeper for display. */\r
-               xQueueSendToBackFromISR( xLCDQueue, &xMessage, pdFALSE );\r
+               xHigherPriorityTaskWoken = pdFALSE;\r
+               xQueueSendToBackFromISR( xLCDQueue, &xMessage, &xHigherPriorityTaskWoken );\r
        }\r
 }\r
 /*-----------------------------------------------------------*/\r
@@ -262,12 +281,18 @@ static void prvSetupHardware( void )
        PLLFEED = mainPLL_FEED_BYTE2;\r
        while( !( PLLSTAT & mainPLL_CONNECTED ) ); \r
        \r
-       /* Setup and turn on the MAM.  Three cycle access is used due to the fast\r
+       /* \r
+       This code is commented out as the MAM does not work on the original revision\r
+       LPC2368 chips.  If using Rev B chips then you can increase the speed though\r
+       the use of the MAM.\r
+       \r
+       Setup and turn on the MAM.  Three cycle access is used due to the fast\r
        PLL used.  It is possible faster overall performance could be obtained by\r
-       tuning the MAM and PLL settings. */\r
+       tuning the MAM and PLL settings.\r
        MAMCR = 0;\r
        MAMTIM = mainMAM_TIM_3;\r
        MAMCR = mainMAM_MODE_FULL;\r
+       */\r
        \r
        /* Setup the led's on the MCB2300 board */\r
        vParTestInitialise();\r