]> git.sur5r.net Git - freertos/commitdiff
Add extra files to the new LPC1768 Red Suite demo.
authorrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Sun, 12 Jul 2009 14:46:25 +0000 (14:46 +0000)
committerrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Sun, 12 Jul 2009 14:46:25 +0000 (14:46 +0000)
git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@814 1d2547de-c912-0410-9cb9-b8ca96c0e9e2

Demo/CORTEX_LPC1768_GCC_RedSuite/src/CreateProjectDirectoryStructure.bat [new file with mode: 0644]
Demo/CORTEX_LPC1768_GCC_RedSuite/src/FreeRTOSConfig.h [new file with mode: 0644]

diff --git a/Demo/CORTEX_LPC1768_GCC_RedSuite/src/CreateProjectDirectoryStructure.bat b/Demo/CORTEX_LPC1768_GCC_RedSuite/src/CreateProjectDirectoryStructure.bat
new file mode 100644 (file)
index 0000000..348e1fd
--- /dev/null
@@ -0,0 +1,46 @@
+REM Copies all the required files from their location within the standard\r
+REM FreeRTOS directory structure to under the Eclipse project directory.\r
+REM This permits the Eclipse project to be used in 'managed' mode and without\r
+REM having to setup any linked resources.\r
+\r
+REM Have the files already been copied?\r
+IF EXIST FreeRTOS Goto END\r
+\r
+       REM Create the required directory structure.\r
+       MD FreeRTOS\r
+       MD FreeRTOS\include     \r
+       MD FreeRTOS\portable\GCC\ARM_CM3\r
+       MD FreeRTOS\portable\MemMang    \r
+       MD "Common Demo Tasks"\r
+       MD "Common Demo Tasks\include"\r
+       \r
+       REM Copy the core kernel files.\r
+       copy ..\..\..\Source\tasks.c FreeRTOS\r
+       copy ..\..\..\Source\queue.c FreeRTOS\r
+       copy ..\..\..\Source\list.c FreeRTOS\r
+       \r
+       REM Copy the common header files\r
+\r
+       copy ..\..\..\Source\include\*.* FreeRTOS\include\r
+       \r
+       REM Copy the portable layer files\r
+       copy ..\..\..\Source\portable\GCC\ARM_CM3\*.* FreeRTOS\portable\GCC\ARM_CM3\r
+       \r
+       REM Copy the basic memory allocation files\r
+       copy ..\..\..\Source\portable\MemMang\*.* FreeRTOS\portable\MemMang\r
+\r
+       REM Copy the files that define the common demo tasks.\r
+       copy ..\..\Common\minimal\BlockQ.c "Common Demo Tasks"\r
+       copy ..\..\Common\minimal\blocktim.c "Common Demo Tasks"\r
+       copy ..\..\Common\minimal\flash.c "Common Demo Tasks"\r
+       copy ..\..\Common\minimal\GenQTest.c "Common Demo Tasks"\r
+       copy ..\..\Common\minimal\integer.c "Common Demo Tasks"\r
+       copy ..\..\Common\minimal\PollQ.c "Common Demo Tasks"\r
+       copy ..\..\Common\minimal\QPeek.c "Common Demo Tasks"\r
+       copy ..\..\Common\minimal\recmutex.c "Common Demo Tasks"\r
+       copy ..\..\Common\minimal\semtest.c "Common Demo Tasks"\r
+       \r
+       REM Copy the common demo file headers.\r
+       copy ..\..\Common\include\*.* "Common Demo Tasks\include"\r
+       \r
+: END
\ No newline at end of file
diff --git a/Demo/CORTEX_LPC1768_GCC_RedSuite/src/FreeRTOSConfig.h b/Demo/CORTEX_LPC1768_GCC_RedSuite/src/FreeRTOSConfig.h
new file mode 100644 (file)
index 0000000..384a761
--- /dev/null
@@ -0,0 +1,157 @@
+/*\r
+       FreeRTOS.org V5.4.0 - Copyright (C) 2003-2009 Richard Barry.\r
+\r
+       This file is part of the FreeRTOS.org distribution.\r
+\r
+       FreeRTOS.org is free software; you can redistribute it and/or modify it\r
+       under the terms of the GNU General Public License (version 2) as published\r
+       by the 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.org without being obliged to provide\r
+       the source code for any proprietary components.  Alternative commercial\r
+       license and support terms are also available upon request.  See the \r
+       licensing section of http://www.FreeRTOS.org for full details.\r
+\r
+       FreeRTOS.org 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 along\r
+       with FreeRTOS.org; if not, write to the Free Software Foundation, Inc., 59\r
+       Temple Place, Suite 330, Boston, MA  02111-1307  USA.\r
+\r
+\r
+       ***************************************************************************\r
+       *                                                                         *\r
+       * Get the FreeRTOS eBook!  See http://www.FreeRTOS.org/Documentation      *\r
+       *                                                                         *\r
+       * This is a concise, step by step, 'hands on' guide that describes both   *\r
+       * general multitasking concepts and FreeRTOS specifics. It presents and   *\r
+       * explains numerous examples that are written using the FreeRTOS API.     *\r
+       * Full source code for all the examples is provided in an accompanying    *\r
+       * .zip file.                                                              *\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
+#ifndef FREERTOS_CONFIG_H\r
+#define FREERTOS_CONFIG_H\r
+\r
+#include "LPC17xx.h"\r
+\r
+/*-----------------------------------------------------------\r
+ * Application specific definitions.\r
+ *\r
+ * These definitions should be adjusted for your particular hardware and\r
+ * application requirements.\r
+ *\r
+ * THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE\r
+ * FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE.\r
+ *----------------------------------------------------------*/\r
+\r
+#define configUSE_PREEMPTION           1\r
+#define configUSE_IDLE_HOOK                    0\r
+#define configMAX_PRIORITIES           ( ( unsigned portBASE_TYPE ) 5 )\r
+#define configUSE_TICK_HOOK                    1\r
+#define configCPU_CLOCK_HZ                     ( ( unsigned portLONG ) 64000000 )\r
+#define configTICK_RATE_HZ                     ( ( portTickType ) 1000 )\r
+#define configMINIMAL_STACK_SIZE       ( ( unsigned portSHORT ) 80 )\r
+#define configTOTAL_HEAP_SIZE          ( ( size_t ) ( 19 * 1024 ) )\r
+#define configMAX_TASK_NAME_LEN                ( 12 )\r
+#define configUSE_TRACE_FACILITY       1\r
+#define configUSE_16_BIT_TICKS         0\r
+#define configIDLE_SHOULD_YIELD                0\r
+#define configUSE_CO_ROUTINES          0\r
+#define configUSE_MUTEXES                      1\r
+\r
+#define configMAX_CO_ROUTINE_PRIORITIES ( 2 )\r
+\r
+#define configUSE_COUNTING_SEMAPHORES  0\r
+#define configUSE_ALTERNATIVE_API              0\r
+#define configCHECK_FOR_STACK_OVERFLOW 2\r
+#define configUSE_RECURSIVE_MUTEXES            1\r
+#define configQUEUE_REGISTRY_SIZE              10\r
+#define configGENERATE_RUN_TIME_STATS  1\r
+\r
+/* Set the following definitions to 1 to include the API function, or zero\r
+to exclude the API function. */\r
+\r
+#define INCLUDE_vTaskPrioritySet                       1\r
+#define INCLUDE_uxTaskPriorityGet                      1\r
+#define INCLUDE_vTaskDelete                                    1\r
+#define INCLUDE_vTaskCleanUpResources          0\r
+#define INCLUDE_vTaskSuspend                           1\r
+#define INCLUDE_vTaskDelayUntil                                1\r
+#define INCLUDE_vTaskDelay                                     1\r
+#define INCLUDE_uxTaskGetStackHighWaterMark    1\r
+\r
+/*-----------------------------------------------------------\r
+ * Ethernet configuration.\r
+ *-----------------------------------------------------------*/\r
+\r
+/* MAC address configuration. */\r
+#define configMAC_ADDR0        0x00\r
+#define configMAC_ADDR1        0x12\r
+#define configMAC_ADDR2        0x13\r
+#define configMAC_ADDR3        0x10\r
+#define configMAC_ADDR4        0x15\r
+#define configMAC_ADDR5        0x11\r
+\r
+/* IP address configuration. */\r
+#define configIP_ADDR0         192\r
+#define configIP_ADDR1         168\r
+#define configIP_ADDR2         0\r
+#define configIP_ADDR3         201\r
+\r
+/* Netmask configuration. */\r
+#define configNET_MASK0                255\r
+#define configNET_MASK1                255\r
+#define configNET_MASK2                255\r
+#define configNET_MASK3                0\r
+\r
+/* Use the system definition, if there is one */\r
+#ifdef __NVIC_PRIO_BITS\r
+       #define configPRIO_BITS       __NVIC_PRIO_BITS\r
+#else\r
+       #define configPRIO_BITS       5        /* 32 priority levels */\r
+#endif\r
+\r
+/* The lowest priority. */\r
+#define configKERNEL_INTERRUPT_PRIORITY        ( 31 << (8 - configPRIO_BITS) )\r
+/* Priority 5, or 160 as only the top three bits are implemented. */\r
+#define configMAX_SYSCALL_INTERRUPT_PRIORITY   ( 5 << (8 - configPRIO_BITS) )\r
+\r
+\r
+\r
+\r
+\r
+/*-----------------------------------------------------------\r
+ * Macros required to setup the timer for the run time stats.\r
+ *-----------------------------------------------------------*/\r
+extern void vConfigureTimerForRunTimeStats( void );\r
+#define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() vConfigureTimerForRunTimeStats()\r
+#define portGET_RUN_TIME_COUNTER_VALUE() TIM0->TC\r
+\r
+\r
+/* The structure that is passed on the xLCDQueue.  Put here for convenience. */\r
+typedef struct\r
+{\r
+       char *pcMessage;\r
+} xLCDMessage;\r
+\r
+#endif /* FREERTOS_CONFIG_H */\r