]> git.sur5r.net Git - freertos/commitdiff
Add #error statements in FreeRTOSConfig.h header files where the CreateProjectDirecto...
authorrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Fri, 6 Apr 2012 20:20:35 +0000 (20:20 +0000)
committerrichardbarry <richardbarry@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Fri, 6 Apr 2012 20:20:35 +0000 (20:20 +0000)
Added the CreateProjectDirectoryStructure.bat file for the XMC4500 Tasking demo.

git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@1730 1d2547de-c912-0410-9cb9-b8ca96c0e9e2

17 files changed:
Demo/CORTEX_A2F200_SoftConsole/FreeRTOSConfig.h
Demo/CORTEX_LPC1768_GCC_RedSuite/src/FreeRTOSConfig.h
Demo/CORTEX_M0_LPC1114_LPCXpresso/RTOSDemo/Source/FreeRTOSConfig.h
Demo/CORTEX_M4F_Infineon_XMC4500_GCC_Atollic/CreateProjectDirectoryStructure.bat
Demo/CORTEX_M4F_Infineon_XMC4500_GCC_Atollic/src/FreeRTOSConfig.h
Demo/CORTEX_M4F_Infineon_XMC4500_Tasking/.cproject
Demo/CORTEX_M4F_Infineon_XMC4500_Tasking/CreateProjectDirectoryStructure.bat [new file with mode: 0644]
Demo/CORTEX_M4F_Infineon_XMC4500_Tasking/FreeRTOSConfig.h
Demo/CORTEX_M4F_Infineon_XMC4500_Tasking/FreeRTOS_Source/portable/Tasking/ARM_CM4F/port.c [deleted file]
Demo/CORTEX_M4F_Infineon_XMC4500_Tasking/FreeRTOS_Source/portable/Tasking/ARM_CM4F/port_asm.asm [deleted file]
Demo/CORTEX_M4F_Infineon_XMC4500_Tasking/FreeRTOS_Source/portable/Tasking/ARM_CM4F/portmacro.h [deleted file]
Demo/CORTEX_MPU_LPC1768_GCC_RedSuite/src/FreeRTOSConfig.h
Demo/MSP430X_MSP430F5438_CCS/Demo_Source/FreeRTOSConfig.h
Demo/MicroBlaze_Spartan-6_EthernetLite/SDKProjects/RTOSDemo/FreeRTOSConfig.h
Demo/NiosII_CycloneIII_DBC3C40_GCC/RTOSDemo/FreeRTOSConfig.h
Demo/TriCore_TC1782_TriBoard_GCC/RTOSDemo/FreeRTOSConfig.h
Demo/WIN32-MingW/FreeRTOSConfig.h

index 407653ea285fc55358c00044a9042e9de5aa41e2..d21e4d48d42d2c1c0d01bd6c415572b76ffd04e0 100644 (file)
 */\r
 \r
 \r
-/* The following #error directive is to remind users that a batch file must be\r
+/* \r
+ * The following #error directive is to remind users that a batch file must be\r
  * executed prior to this project being built.  The batch file *cannot* be \r
- * executed from within CCS4!  Once it has been executed, re-open or refresh \r
- * the CCS4 project and remove the #error line below.\r
+ * executed from within the IDE!  Once it has been executed, re-open or refresh \r
+ * the Eclipse project and remove the #error line below.\r
  */\r
 #error Ensure CreateProjectDirectoryStructure.bat has been executed before building.  See comment immediately above.\r
 \r
index cfda4838e8b2ba1ca341c2fdfcf9996355b1b25c..2a184ff48c656a0c24458cfdc9152ddcae9dea5f 100644 (file)
 #ifndef FREERTOS_CONFIG_H\r
 #define FREERTOS_CONFIG_H\r
 \r
+/* \r
+ * The following #error directive is to remind users that a batch file must be\r
+ * executed prior to this project being built.  The batch file *cannot* be \r
+ * executed from within the IDE!  Once it has been executed, re-open or refresh \r
+ * the Eclipse project and remove the #error line below.\r
+ */\r
+#error Ensure CreateProjectDirectoryStructure.bat has been executed before building.  See comment immediately above.\r
+\r
 #include "LPC17xx.h"\r
 \r
 /*-----------------------------------------------------------\r
index 1f0fc4c866ac37657af0e85ddc30ebe71616fb3f..d2285866987164096055203a3b796ddfd8142d88 100644 (file)
 #ifndef FREERTOS_CONFIG_H\r
 #define FREERTOS_CONFIG_H\r
 \r
+/* \r
+ * The following #error directive is to remind users that a batch file must be\r
+ * executed prior to this project being built.  The batch file *cannot* be \r
+ * executed from within the IDE!  Once it has been executed, re-open or refresh \r
+ * the Eclipse project and remove the #error line below.\r
+ */\r
+#error Ensure CreateProjectDirectoryStructure.bat has been executed before building.  See comment immediately above.\r
+\r
 /*-----------------------------------------------------------\r
  * Application specific definitions.\r
  *\r
index ed8c106c64ee8d8d8f84606bd8b1eea6f9552ee6..7ffb1cdee9a533859ccf458e0dfb0048ceb8a828 100644 (file)
@@ -17,7 +17,8 @@ IF EXIST src\FreeRTOS_Source Goto END
 \r
     REM Create the required directory structure.\r
     MD src\FreeRTOS_Source\r
-    MD src\FreeRTOS_Source\include    \r
+    MD src\FreeRTOS_Source\include\r
+    MD src\FreeRTOS_Source\portable\r
     MD src\FreeRTOS_Source\portable\GCC\r
     MD src\FreeRTOS_Source\portable\GCC\ARM_CM4F\r
     MD src\FreeRTOS_Source\portable\MemMang    \r
index 65b233fc07ebc957e5ab226f7667ca89441d326a..39ddd6d7db9d812cc9e84559e8d0c40391ba3d0d 100644 (file)
 #ifndef FREERTOS_CONFIG_H\r
 #define FREERTOS_CONFIG_H\r
 \r
+/* \r
+ * The following #error directive is to remind users that a batch file must be\r
+ * executed prior to this project being built.  The batch file *cannot* be \r
+ * executed from within the IDE!  Once it has been executed, re-open or refresh \r
+ * the Eclipse project and remove the #error line below.\r
+ */\r
+#error Ensure CreateProjectDirectoryStructure.bat has been executed before building.  See comment immediately above.\r
 \r
 /*-----------------------------------------------------------\r
  * Application specific definitions.\r
index ac60aeaeba7cab4d945a35c31a43637cf8f376c5..678730da71f7867a80970a6fbf1da9f5b67cd000 100644 (file)
                        </storageModule>\r
                        <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>\r
                        <storageModule moduleId="com.tasking.toolInfo">\r
-                               <toolInfo>TASKING VX-toolset for ARM Cortex: object linker v4.2r1 Build 135 SN 00521976</toolInfo>\r
-                               <toolInfo>TASKING VX-toolset for ARM Cortex: control program v4.2r1 Build 118</toolInfo>\r
-                               <toolInfo>TASKING VX-toolset for ARM Cortex: assembler v4.2r1 Build 141</toolInfo>\r
                                <toolInfo>TASKING program builder v4.2r1 Build 063</toolInfo>\r
-                               <toolInfo>TASKING VX-toolset for ARM Cortex: C compiler v4.2r1 Build 652 SN 00521976</toolInfo>\r
                        </storageModule>\r
                </cconfiguration>\r
                <cconfiguration id="com.tasking.config.arm.abs.debug.1826238485.654381753">\r
diff --git a/Demo/CORTEX_M4F_Infineon_XMC4500_Tasking/CreateProjectDirectoryStructure.bat b/Demo/CORTEX_M4F_Infineon_XMC4500_Tasking/CreateProjectDirectoryStructure.bat
new file mode 100644 (file)
index 0000000..65b7e62
--- /dev/null
@@ -0,0 +1,59 @@
+REM This file should be executed from the command line prior to the first\r
+REM build.  It will be necessary to refresh the Eclipse project once the\r
+REM .bat file has been executed (normally just press F5 to refresh).\r
+\r
+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 Standard paths\r
+SET FREERTOS_SOURCE=..\..\Source\r
+SET COMMON_SOURCE=..\Common\minimal\r
+SET COMMON_INCLUDE=..\Common\include\r
+\r
+REM Have the files already been copied?\r
+IF EXIST FreeRTOS_Source Goto END\r
+\r
+    REM Create the required directory structure.\r
+    MD FreeRTOS_Source\r
+    MD FreeRTOS_Source\include    \r
+    MD FreeRTOS_Source\portable\\r
+       MD FreeRTOS_Source\portable\Tasking\r
+    MD FreeRTOS_Source\portable\Tasking\ARM_CM4F\r
+    MD FreeRTOS_Source\portable\MemMang    \r
+    MD Common_Demo_Source\r
+    MD Common_Demo_Source\include\r
+    \r
+    REM Copy the core kernel files into the SDK projects directory\r
+    copy %FREERTOS_SOURCE%\tasks.c FreeRTOS_Source\r
+    copy %FREERTOS_SOURCE%\queue.c FreeRTOS_Source\r
+    copy %FREERTOS_SOURCE%\list.c FreeRTOS_Source\r
+    copy %FREERTOS_SOURCE%\timers.c FreeRTOS_Source\r
+\r
+    REM Copy the common header files into the SDK projects directory\r
+    copy %FREERTOS_SOURCE%\include\*.* FreeRTOS_Source\include\r
+    \r
+    REM Copy the portable layer files into the projects directory\r
+    copy %FREERTOS_SOURCE%\portable\Tasking\ARM_CM4F\*.* FreeRTOS_Source\portable\Tasking\ARM_CM4F\r
+    \r
+    REM Copy the basic memory allocation files into the SDK projects directory\r
+    copy %FREERTOS_SOURCE%\portable\MemMang\heap_2.c FreeRTOS_Source\portable\MemMang\r
+\r
+    REM Copy the files that define the common demo tasks.\r
+    copy %COMMON_SOURCE%\dynamic.c         Common_Demo_Source\r
+    copy %COMMON_SOURCE%\BlockQ.c          Common_Demo_Source\r
+    copy %COMMON_SOURCE%\death.c           Common_Demo_Source\r
+    copy %COMMON_SOURCE%\blocktim.c        Common_Demo_Source\r
+    copy %COMMON_SOURCE%\semtest.c         Common_Demo_Source\r
+    copy %COMMON_SOURCE%\PollQ.c           Common_Demo_Source\r
+    copy %COMMON_SOURCE%\GenQTest.c        Common_Demo_Source\r
+    copy %COMMON_SOURCE%\recmutex.c        Common_Demo_Source\r
+    copy %COMMON_SOURCE%\sp_flop.c         Common_Demo_Source\r
+    copy %COMMON_SOURCE%\countsem.c        Common_Demo_Source\r
+    copy %COMMON_SOURCE%\integer.c         Common_Demo_Source\r
+    \r
+    REM Copy the common demo file headers.\r
+    copy %COMMON_INCLUDE%\*.h              Common_Demo_Source\include\r
+    \r
+: END\r
index bc8fcf3c0292f48cfaccfbf042f635e1c5c5d898..41228ef6cfe0055a4d0764c6ef03e005da8ff7aa 100644 (file)
  * See http://www.freertos.org/a00110.html.\r
  *----------------------------------------------------------*/\r
 \r
+ /* \r
+ * The following #error directive is to remind users that a batch file must be\r
+ * executed prior to this project being built.  The batch file *cannot* be \r
+ * executed from within the IDE!  Once it has been executed, re-open or refresh \r
+ * the Eclipse project and remove the #error line below.\r
+ */\r
+#error Ensure CreateProjectDirectoryStructure.bat has been executed before building.  See comment immediately above.\r
+\r
 #include <stdint.h>\r
 extern uint32_t SystemCoreClock;\r
 \r
diff --git a/Demo/CORTEX_M4F_Infineon_XMC4500_Tasking/FreeRTOS_Source/portable/Tasking/ARM_CM4F/port.c b/Demo/CORTEX_M4F_Infineon_XMC4500_Tasking/FreeRTOS_Source/portable/Tasking/ARM_CM4F/port.c
deleted file mode 100644 (file)
index 2e34b87..0000000
+++ /dev/null
@@ -1,234 +0,0 @@
-/*\r
-    FreeRTOS V7.1.0 - Copyright (C) 2011 Real Time Engineers Ltd.\r
-\r
-\r
-    ***************************************************************************\r
-     *                                                                       *\r
-     *    FreeRTOS tutorial books are available in pdf and paperback.        *\r
-     *    Complete, revised, and edited pdf reference manuals are also       *\r
-     *    available.                                                         *\r
-     *                                                                       *\r
-     *    Purchasing FreeRTOS documentation will not only help you, by       *\r
-     *    ensuring you get running as quickly as possible and with an        *\r
-     *    in-depth knowledge of how to use FreeRTOS, it will also help       *\r
-     *    the FreeRTOS project to continue with its mission of providing     *\r
-     *    professional grade, cross platform, de facto standard solutions    *\r
-     *    for microcontrollers - completely free of charge!                  *\r
-     *                                                                       *\r
-     *    >>> See http://www.FreeRTOS.org/Documentation for details. <<<     *\r
-     *                                                                       *\r
-     *    Thank you for using FreeRTOS, and thank you for your support!      *\r
-     *                                                                       *\r
-    ***************************************************************************\r
-\r
-\r
-    This file is part of the FreeRTOS distribution.\r
-\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 modification to the GPL is included to allow you to\r
-    distribute a combined work that includes FreeRTOS without being obliged to\r
-    provide the source code for proprietary components outside of the FreeRTOS\r
-    kernel.  FreeRTOS is distributed in the hope that it will be useful, but\r
-    WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\r
-    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for\r
-    more details. You should have received a copy of the GNU General Public\r
-    License and the FreeRTOS license exception along with FreeRTOS; if not it\r
-    can be viewed here: http://www.freertos.org/a00114.html and also obtained\r
-    by writing to Richard Barry, contact details for whom are available on the\r
-    FreeRTOS WEB site.\r
-\r
-    1 tab == 4 spaces!\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
- * Implementation of functions defined in portable.h for the ARM CM4F port.\r
- *----------------------------------------------------------*/\r
-\r
-/* Scheduler includes. */\r
-#include "FreeRTOS.h"\r
-#include "task.h"\r
-\r
-/* Constants required to manipulate the NVIC. */\r
-#define portNVIC_SYSTICK_CTRL          ( ( volatile unsigned long * ) 0xe000e010 )\r
-#define portNVIC_SYSTICK_LOAD          ( ( volatile unsigned long * ) 0xe000e014 )\r
-#define portNVIC_INT_CTRL                      ( ( volatile unsigned long * ) 0xe000ed04 )\r
-#define portNVIC_SYSPRI2                       ( ( volatile unsigned long * ) 0xe000ed20 )\r
-#define portNVIC_SYSTICK_CLK           0x00000004\r
-#define portNVIC_SYSTICK_INT           0x00000002\r
-#define portNVIC_SYSTICK_ENABLE                0x00000001\r
-#define portNVIC_PENDSVSET                     0x10000000\r
-#define portNVIC_PENDSV_PRI                    ( ( ( unsigned long ) configKERNEL_INTERRUPT_PRIORITY ) << 16 )\r
-#define portNVIC_SYSTICK_PRI           ( ( ( unsigned long ) configKERNEL_INTERRUPT_PRIORITY ) << 24 )\r
-\r
-/* Constants required to manipulate the VFP. */\r
-#define portFPCCR                                      ( ( volatile unsigned long * ) 0xe000ef34 ) /* Floating point context control register. */\r
-#define portASPEN_AND_LSPEN_BITS       ( 0x3UL << 30UL )\r
-\r
-/* Constants required to set up the initial stack. */\r
-#define portINITIAL_XPSR                       ( 0x01000000 )\r
-#define portINITIAL_EXEC_RETURN                ( 0xfffffffd )\r
-\r
-/* The priority used by the kernel is assigned to a variable to make access\r
-from inline assembler easier. */\r
-const unsigned long ulKernelPriority = configKERNEL_INTERRUPT_PRIORITY;\r
-\r
-/* Each task maintains its own interrupt status in the critical nesting\r
-variable. */\r
-static unsigned long ulCriticalNesting = 0xaaaaaaaaUL;\r
-\r
-/*\r
- * Setup the timer to generate the tick interrupts.\r
- */\r
-static void prvSetupTimerInterrupt( void );\r
-\r
-/*\r
- * Exception handlers.\r
- */\r
-void SysTick_Handler( void );\r
-\r
-/*\r
- * Functions defined in port_asm.asm.\r
- */\r
-extern void vPortEnableVFP( void );\r
-extern void vPortStartFirstTask( void );\r
-\r
-/* This exists purely to allow the const to be used from within the\r
-port_asm.asm assembly file. */\r
-const unsigned long ulMaxSyscallInterruptPriorityConst = configMAX_SYSCALL_INTERRUPT_PRIORITY;\r
-\r
-/*-----------------------------------------------------------*/\r
-\r
-/*\r
- * See header file for description.\r
- */\r
-portSTACK_TYPE *pxPortInitialiseStack( portSTACK_TYPE *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )\r
-{\r
-       /* Simulate the stack frame as it would be created by a context switch\r
-       interrupt. */\r
-\r
-       /* Offset added to account for the way the MCU uses the stack on entry/exit\r
-       of interrupts, and to ensure alignment. */\r
-       pxTopOfStack -= 2;\r
-\r
-       *pxTopOfStack = portINITIAL_XPSR;       /* xPSR */\r
-       pxTopOfStack--;\r
-       *pxTopOfStack = ( portSTACK_TYPE ) pxCode;      /* PC */\r
-       pxTopOfStack--;\r
-       *pxTopOfStack = 0;      /* LR */\r
-\r
-       /* Save code space by skipping register initialisation. */\r
-       pxTopOfStack -= 5;      /* R12, R3, R2 and R1. */\r
-       *pxTopOfStack = ( portSTACK_TYPE ) pvParameters;        /* R0 */\r
-\r
-       /* A save method is being used that requiers each task to maintain its\r
-       own exec return value. */\r
-       pxTopOfStack--;\r
-       *pxTopOfStack = portINITIAL_EXEC_RETURN;\r
-\r
-       pxTopOfStack -= 8;      /* R11, R10, R9, R8, R7, R6, R5 and R4. */\r
-\r
-       return pxTopOfStack;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-/*\r
- * See header file for description.\r
- */\r
-portBASE_TYPE xPortStartScheduler( void )\r
-{\r
-       /* Make PendSV and SysTick the lowest priority interrupts. */\r
-       *(portNVIC_SYSPRI2) |= portNVIC_PENDSV_PRI;\r
-       *(portNVIC_SYSPRI2) |= portNVIC_SYSTICK_PRI;\r
-\r
-       /* Start the timer that generates the tick ISR.  Interrupts are disabled\r
-       here already. */\r
-       prvSetupTimerInterrupt();\r
-\r
-       /* Initialise the critical nesting count ready for the first task. */\r
-       ulCriticalNesting = 0;\r
-\r
-       /* Ensure the VFP is enabled - it should be anyway. */\r
-       vPortEnableVFP();\r
-\r
-       /* Lazy save always. */\r
-       *( portFPCCR ) |= portASPEN_AND_LSPEN_BITS;\r
-\r
-       /* Start the first task. */\r
-       vPortStartFirstTask();\r
-\r
-       /* Should not get here! */\r
-       return 0;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-void vPortEndScheduler( void )\r
-{\r
-       /* It is unlikely that the CM4F port will require this function as there\r
-       is nothing to return to.  */\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-void vPortYieldFromISR( void )\r
-{\r
-       /* Set a PendSV to request a context switch. */\r
-       *(portNVIC_INT_CTRL) = portNVIC_PENDSVSET;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-void vPortEnterCritical( void )\r
-{\r
-       portDISABLE_INTERRUPTS();\r
-       ulCriticalNesting++;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-void vPortExitCritical( void )\r
-{\r
-       ulCriticalNesting--;\r
-       if( ulCriticalNesting == 0 )\r
-       {\r
-               portENABLE_INTERRUPTS();\r
-       }\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-void SysTick_Handler( void )\r
-{\r
-unsigned long ulDummy;\r
-\r
-       /* If using preemption, also force a context switch. */\r
-       #if configUSE_PREEMPTION == 1\r
-               *(portNVIC_INT_CTRL) = portNVIC_PENDSVSET;\r
-       #endif\r
-\r
-       ulDummy = portSET_INTERRUPT_MASK_FROM_ISR();\r
-       {\r
-               vTaskIncrementTick();\r
-       }\r
-       portCLEAR_INTERRUPT_MASK_FROM_ISR( ulDummy );\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
-/*\r
- * Setup the systick timer to generate the tick interrupts at the required\r
- * frequency.\r
- */\r
-void prvSetupTimerInterrupt( void )\r
-{\r
-       /* Configure SysTick to interrupt at the requested rate. */\r
-       *(portNVIC_SYSTICK_LOAD) = ( configCPU_CLOCK_HZ / configTICK_RATE_HZ ) - 1UL;\r
-       *(portNVIC_SYSTICK_CTRL) = portNVIC_SYSTICK_CLK | portNVIC_SYSTICK_INT | portNVIC_SYSTICK_ENABLE;\r
-}\r
-/*-----------------------------------------------------------*/\r
-\r
diff --git a/Demo/CORTEX_M4F_Infineon_XMC4500_Tasking/FreeRTOS_Source/portable/Tasking/ARM_CM4F/port_asm.asm b/Demo/CORTEX_M4F_Infineon_XMC4500_Tasking/FreeRTOS_Source/portable/Tasking/ARM_CM4F/port_asm.asm
deleted file mode 100644 (file)
index 3f9dd6d..0000000
+++ /dev/null
@@ -1,168 +0,0 @@
-;/*\r
-;    FreeRTOS V7.1.0 - Copyright (C) 2011 Real Time Engineers Ltd.\r
-;\r
-;\r
-;    ***************************************************************************\r
-;     *                                                                       *\r
-;     *    FreeRTOS tutorial books are available in pdf and paperback.        *\r
-;     *    Complete, revised, and edited pdf reference manuals are also       *\r
-;     *    available.                                                         *\r
-;     *                                                                       *\r
-;     *    Purchasing FreeRTOS documentation will not only help you, by       *\r
-;     *    ensuring you get running as quickly as possible and with an        *\r
-;     *    in-depth knowledge of how to use FreeRTOS, it will also help       *\r
-;     *    the FreeRTOS project to continue with its mission of providing     *\r
-;     *    professional grade, cross platform, de facto standard solutions    *\r
-;     *    for microcontrollers - completely free of charge!                  *\r
-;     *                                                                       *\r
-;     *    >>> See http://www.FreeRTOS.org/Documentation for details. <<<     *\r
-;     *                                                                       *\r
-;     *    Thank you for using FreeRTOS, and thank you for your support!      *\r
-;     *                                                                       *\r
-;    ***************************************************************************\r
-;\r
-;\r
-;    This file is part of the FreeRTOS distribution.\r
-;\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 modification to the GPL is included to allow you to\r
-;    distribute a combined work that includes FreeRTOS without being obliged to\r
-;    provide the source code for proprietary components outside of the FreeRTOS\r
-;    kernel.  FreeRTOS is distributed in the hope that it will be useful, but\r
-;    WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\r
-;    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for\r
-;    more details. You should have received a copy of the GNU General Public\r
-;    License and the FreeRTOS license exception along with FreeRTOS; if not it\r
-;    can be viewed here: http://www.freertos.org/a00114.html and also obtained\r
-;    by writing to Richard Barry, contact details for whom are available on the\r
-;    FreeRTOS WEB site.\r
-;\r
-;    1 tab == 4 spaces!\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
-       .extern pxCurrentTCB\r
-       .extern vTaskSwitchContext\r
-       .extern ulMaxSyscallInterruptPriorityConst\r
-\r
-       .global PendSV_Handler\r
-       .global SVC_Handler\r
-       .global vPortStartFirstTask\r
-       .global vPortEnableVFP\r
-       \r
-;-----------------------------------------------------------\r
-\r
-       .section .text\r
-       .thumb\r
-       .align 4\r
-PendSV_Handler: .type func\r
-       mrs r0, psp\r
-\r
-       ;Get the location of the current TCB.\r
-       ldr.w   r3, =pxCurrentTCB\r
-       ldr     r2, [r3]\r
-\r
-       ;Is the task using the FPU context?  If so, push high vfp registers.\r
-       tst r14, #0x10\r
-       it eq\r
-       vstmdbeq r0!, {s16-s31}\r
-\r
-       ;Save the core registers.\r
-       stmdb r0!, {r4-r11, r14}\r
-\r
-       ;Save the new top of stack into the first member of the TCB.\r
-       str r0, [r2]\r
-\r
-       stmdb sp!, {r3, r14}\r
-       ldr.w r0, =ulMaxSyscallInterruptPriorityConst\r
-       msr basepri, r0\r
-       bl vTaskSwitchContext\r
-       mov r0, #0\r
-       msr basepri, r0\r
-       ldmia sp!, {r3, r14}\r
-\r
-       ;The first item in pxCurrentTCB is the task top of stack.\r
-       ldr r1, [r3]\r
-       ldr r0, [r1]\r
-\r
-       ;Pop the core registers.\r
-       ldmia r0!, {r4-r11, r14}\r
-\r
-       ;Is the task using the FPU context?  If so, pop the high vfp registers too.\r
-       tst r14, #0x10\r
-       it eq\r
-       vldmiaeq r0!, {s16-s31}\r
-\r
-       msr psp, r0\r
-       bx r14\r
-\r
-       .size   PendSV_Handler, $-PendSV_Handler\r
-       .endsec\r
-\r
-;-----------------------------------------------------------\r
-\r
-       .section .text\r
-       .thumb\r
-       .align 4\r
-SVC_Handler: .type func\r
-       ;Get the location of the current TCB.\r
-       ldr.w   r3, =pxCurrentTCB\r
-       ldr r1, [r3]\r
-       ldr r0, [r1]\r
-       ;Pop the core registers.\r
-       ldmia r0!, {r4-r11, r14}\r
-       msr psp, r0\r
-       mov r0, #0\r
-       msr     basepri, r0\r
-       bx r14\r
-       .size   SVC_Handler, $-SVC_Handler\r
-       .endsec\r
-\r
-;-----------------------------------------------------------\r
-\r
-       .section .text\r
-       .thumb\r
-       .align 4\r
-vPortStartFirstTask .type func\r
-       ;Use the NVIC offset register to locate the stack.\r
-       ldr.w r0, =0xE000ED08\r
-       ldr r0, [r0]\r
-       ldr r0, [r0]\r
-       ;Set the msp back to the start of the stack.\r
-       msr msp, r0\r
-       ;Call SVC to start the first task.\r
-       cpsie i\r
-       svc 0\r
-       .size   vPortStartFirstTask, $-vPortStartFirstTask\r
-       .endsec\r
-\r
-;-----------------------------------------------------------\r
-\r
-       .section .text\r
-       .thumb\r
-       .align 4\r
-vPortEnableVFP .type func\r
-       ;The FPU enable bits are in the CPACR.\r
-       ldr.w r0, =0xE000ED88\r
-       ldr     r1, [r0]\r
-\r
-       ;Enable CP10 and CP11 coprocessors, then save back.\r
-       orr     r1, r1, #( 0xf << 20 )\r
-       str r1, [r0]\r
-       bx      r14\r
-       .size   vPortEnableVFP, $-vPortEnableVFP\r
-       .endsec\r
-\r
-\r
-       .end\r
-       \r
diff --git a/Demo/CORTEX_M4F_Infineon_XMC4500_Tasking/FreeRTOS_Source/portable/Tasking/ARM_CM4F/portmacro.h b/Demo/CORTEX_M4F_Infineon_XMC4500_Tasking/FreeRTOS_Source/portable/Tasking/ARM_CM4F/portmacro.h
deleted file mode 100644 (file)
index 2f671fb..0000000
+++ /dev/null
@@ -1,144 +0,0 @@
-/*\r
-    FreeRTOS V7.1.0 - Copyright (C) 2011 Real Time Engineers Ltd.\r
-       \r
-\r
-    ***************************************************************************\r
-     *                                                                       *\r
-     *    FreeRTOS tutorial books are available in pdf and paperback.        *\r
-     *    Complete, revised, and edited pdf reference manuals are also       *\r
-     *    available.                                                         *\r
-     *                                                                       *\r
-     *    Purchasing FreeRTOS documentation will not only help you, by       *\r
-     *    ensuring you get running as quickly as possible and with an        *\r
-     *    in-depth knowledge of how to use FreeRTOS, it will also help       *\r
-     *    the FreeRTOS project to continue with its mission of providing     *\r
-     *    professional grade, cross platform, de facto standard solutions    *\r
-     *    for microcontrollers - completely free of charge!                  *\r
-     *                                                                       *\r
-     *    >>> See http://www.FreeRTOS.org/Documentation for details. <<<     *\r
-     *                                                                       *\r
-     *    Thank you for using FreeRTOS, and thank you for your support!      *\r
-     *                                                                       *\r
-    ***************************************************************************\r
-\r
-\r
-    This file is part of the FreeRTOS distribution.\r
-\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 modification to the GPL is included to allow you to\r
-    distribute a combined work that includes FreeRTOS without being obliged to\r
-    provide the source code for proprietary components outside of the FreeRTOS\r
-    kernel.  FreeRTOS is distributed in the hope that it will be useful, but\r
-    WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\r
-    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for\r
-    more details. You should have received a copy of the GNU General Public\r
-    License and the FreeRTOS license exception along with FreeRTOS; if not it\r
-    can be viewed here: http://www.freertos.org/a00114.html and also obtained\r
-    by writing to Richard Barry, contact details for whom are available on the\r
-    FreeRTOS WEB site.\r
-\r
-    1 tab == 4 spaces!\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
-#ifndef PORTMACRO_H\r
-#define PORTMACRO_H\r
-\r
-#ifdef __cplusplus\r
-extern "C" {\r
-#endif\r
-\r
-/*-----------------------------------------------------------\r
- * Port specific definitions.  \r
- *\r
- * The settings in this file configure FreeRTOS correctly for the\r
- * given hardware and compiler.\r
- *\r
- * These settings should not be altered.\r
- *-----------------------------------------------------------\r
- */\r
-\r
-/* Type definitions. */\r
-#define portCHAR               char\r
-#define portFLOAT              float\r
-#define portDOUBLE             double\r
-#define portLONG               long\r
-#define portSHORT              short\r
-#define portSTACK_TYPE unsigned portLONG\r
-#define portBASE_TYPE  long\r
-\r
-#if( configUSE_16_BIT_TICKS == 1 )\r
-       typedef unsigned portSHORT portTickType;\r
-       #define portMAX_DELAY ( portTickType ) 0xffff\r
-#else\r
-       typedef unsigned portLONG portTickType;\r
-       #define portMAX_DELAY ( portTickType ) 0xffffffff\r
-#endif\r
-/*-----------------------------------------------------------*/        \r
-\r
-/* Architecture specifics. */\r
-#define portSTACK_GROWTH                       ( -1 )\r
-#define portTICK_RATE_MS                       ( ( portTickType ) 1000 / configTICK_RATE_HZ )          \r
-#define portBYTE_ALIGNMENT                     8\r
-/*-----------------------------------------------------------*/        \r
-\r
-\r
-/* Scheduler utilities. */\r
-extern void vPortYieldFromISR( void );\r
-\r
-#define portYIELD()                                    vPortYieldFromISR()\r
-\r
-#define portEND_SWITCHING_ISR( xSwitchRequired ) if( xSwitchRequired ) vPortYieldFromISR()\r
-/*-----------------------------------------------------------*/\r
-\r
-\r
-/* Critical section management. */\r
-\r
-/* \r
- * Set basepri to portMAX_SYSCALL_INTERRUPT_PRIORITY without effecting other\r
- * registers.  r0 is clobbered.\r
- */ \r
-#define portSET_INTERRUPT_MASK() __set_BASEPRI( configMAX_SYSCALL_INTERRUPT_PRIORITY )\r
-       \r
-/*\r
- * Set basepri back to 0 without effective other registers.\r
- * r0 is clobbered.\r
- */\r
-#define portCLEAR_INTERRUPT_MASK() __set_BASEPRI( 0 )\r
-\r
-#define portSET_INTERRUPT_MASK_FROM_ISR()              0;portSET_INTERRUPT_MASK()\r
-#define portCLEAR_INTERRUPT_MASK_FROM_ISR(x)   portCLEAR_INTERRUPT_MASK();(void)x\r
-\r
-\r
-extern void vPortEnterCritical( void );\r
-extern void vPortExitCritical( void );\r
-\r
-#define portDISABLE_INTERRUPTS()       portSET_INTERRUPT_MASK()\r
-#define portENABLE_INTERRUPTS()                portCLEAR_INTERRUPT_MASK()\r
-#define portENTER_CRITICAL()           vPortEnterCritical()\r
-#define portEXIT_CRITICAL()                    vPortExitCritical()\r
-/*-----------------------------------------------------------*/\r
-\r
-/* Task function macros as described on the FreeRTOS.org WEB site. */\r
-#define portTASK_FUNCTION_PROTO( vFunction, pvParameters ) void vFunction( void *pvParameters )\r
-#define portTASK_FUNCTION( vFunction, pvParameters ) void vFunction( void *pvParameters )\r
-\r
-#define portNOP()\r
-\r
-#ifdef __cplusplus\r
-}\r
-#endif\r
-\r
-#endif /* PORTMACRO_H */\r
-\r
index eee498453f85626e68e060deeee5a13722f2ade5..9e45f86797ef7f99d18469c6dc999f75709c08f5 100644 (file)
 #ifndef FREERTOS_CONFIG_H\r
 #define FREERTOS_CONFIG_H\r
 \r
+/* \r
+ * The following #error directive is to remind users that a batch file must be\r
+ * executed prior to this project being built.  The batch file *cannot* be \r
+ * executed from within the IDE!  Once it has been executed, re-open or refresh \r
+ * the Eclipse project and remove the #error line below.\r
+ */\r
+#error Ensure CreateProjectDirectoryStructure.bat has been executed before building.  See comment immediately above.\r
+\r
 #include "LPC17xx.h"\r
 \r
 /*-----------------------------------------------------------\r
index e320f7590e50400e4f6f33198521b2d4296703a1..323dfda064105dc3a525ebe43ed51e4bf7ea9da8 100644 (file)
@@ -57,7 +57,7 @@
  * executed from within CCS4!  Once it has been executed, re-open or refresh\r
  * the CCS4 project and remove the #error line below.\r
  */\r
-//#error Ensure CreateProjectDirectoryStructure.bat has been executed before building.  See comment immediately above.\r
+#error Ensure CreateProjectDirectoryStructure.bat has been executed before building.  See comment immediately above.\r
 \r
 \r
 #ifndef FREERTOS_CONFIG_H\r
index 942ac72d05bd3734ca7bb1f78014a4e5ec64f9ae..089bd7c9d7b3394deb03f67d665bac957b802393 100644 (file)
@@ -58,7 +58,7 @@
  * from within the Xilinx SDK.  Once it has been executed, re-open or refresh \r
  * the Eclipse project and remove the #error line below.\r
  */\r
-//#error Ensure CreateProjectDirectoryStructure.bat has been executed before building.  See comment immediately above.\r
+#error Ensure CreateProjectDirectoryStructure.bat has been executed before building.  See comment immediately above.\r
 \r
 \r
 #ifndef FREERTOS_CONFIG_H\r
index 4ee8fb20a04c81c88caf8e9d3177555add8c2bac..710c9f62aa15cd87182013870c77db5621f42d34 100644 (file)
 #ifndef FREERTOS_CONFIG_H\r
 #define FREERTOS_CONFIG_H\r
 \r
+/* \r
+ * The following #error directive is to remind users that a batch file must be\r
+ * executed prior to this project being built.  The batch file *cannot* be \r
+ * executed from within the IDE!  Once it has been executed, re-open or refresh \r
+ * the Eclipse project and remove the #error line below.\r
+ */\r
+#error Ensure CreateProjectDirectoryStructure.bat has been executed before building.  See comment immediately above.\r
+\r
 #include "system.h"\r
 \r
 /*-----------------------------------------------------------\r
index c92f8029db4c409d041ecd6f74ddaa479b22a358..d5e1ede276be2f82a01871c00a4d21f4abfb8846 100644 (file)
 #ifndef FREERTOS_CONFIG_H\r
 #define FREERTOS_CONFIG_H\r
 \r
+/* \r
+ * The following #error directive is to remind users that a batch file must be\r
+ * executed prior to this project being built.  The batch file *cannot* be \r
+ * executed from within the IDE!  Once it has been executed, re-open or refresh \r
+ * the Eclipse project and remove the #error line below.\r
+ */\r
+#error Ensure CreateProjectDirectoryStructure.bat has been executed before building.  See comment immediately above.\r
+\r
 /*-----------------------------------------------------------\r
  * Application specific definitions.\r
  *\r
index 0c6b3172dd65c1985b26fc3b0b6a3f53e916701b..9957fd7f3a02dd81efc0caa8909071b355ee1966 100644 (file)
 #ifndef FREERTOS_CONFIG_H\r
 #define FREERTOS_CONFIG_H\r
 \r
+/* \r
+ * The following #error directive is to remind users that a batch file must be\r
+ * executed prior to this project being built.  The batch file *cannot* be \r
+ * executed from within the IDE!  Once it has been executed, re-open or refresh \r
+ * the Eclipse project and remove the #error line below.\r
+ */\r
+#error Ensure CreateProjectDirectoryStructure.bat has been executed before building.  See comment immediately above.\r
+\r
 /*-----------------------------------------------------------\r
  * Application specific definitions.\r
  *\r