From 5027fc3607387a9d4ff4e75af681a2c0a1d318a1 Mon Sep 17 00:00:00 2001 From: richardbarry Date: Tue, 12 Feb 2013 17:35:43 +0000 Subject: [PATCH] Added more files to the Rowley and IAR LM3S demos to test building the newer files and queue sets. Made queue function prototypes consistent so xQueueHandle parameters are always xQueue, and xQUEUE * parameters pxQueue. Likewise make the task API using px for pointers to TCBs, and just x for task handles. Heap_x functions now automatically align the start of the heap without using the portDOUBLE union member. Queue.c now includes queue.h. git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@1825 1d2547de-c912-0410-9cb9-b8ca96c0e9e2 --- .../CORTEX_LM3Sxxxx_IAR_Keil/FreeRTOSConfig.h | 55 ++-- .../CORTEX_LM3Sxxxx_IAR_Keil/RTOSDemo.ewp | 31 +- FreeRTOS/Demo/CORTEX_LM3Sxxxx_IAR_Keil/main.c | 80 +++--- .../settings/RTOSDemo.cspy.bat | 2 +- .../settings/RTOSDemo.dbgdt | 12 +- .../settings/RTOSDemo.dni | 6 +- .../settings/RTOSDemo.wsdt | 4 +- .../CORTEX_LM3Sxxxx_Rowley/FreeRTOSConfig.h | 12 +- .../Demo/CORTEX_LM3Sxxxx_Rowley/RTOSDemo.hzp | 2 +- .../Demo/CORTEX_LM3Sxxxx_Rowley/RTOSDemo.hzs | 31 +- FreeRTOS/Demo/Common/Minimal/QueueSet.c | 10 +- FreeRTOS/Demo/WIN32-MSVC/FreeRTOSConfig.h | 8 +- FreeRTOS/Demo/WIN32-MSVC/WIN32.vcxproj | 1 + .../Demo/WIN32-MSVC/WIN32.vcxproj.filters | 3 + FreeRTOS/Source/croutine.c | 62 ++-- FreeRTOS/Source/include/queue.h | 101 +++---- FreeRTOS/Source/include/task.h | 46 +-- FreeRTOS/Source/portable/MemMang/heap_1.c | 29 +- FreeRTOS/Source/portable/MemMang/heap_2.c | 99 ++++--- FreeRTOS/Source/portable/MemMang/heap_4.c | 32 +-- FreeRTOS/Source/queue.c | 272 +++++++++--------- FreeRTOS/Source/tasks.c | 54 ++-- 22 files changed, 497 insertions(+), 455 deletions(-) diff --git a/FreeRTOS/Demo/CORTEX_LM3Sxxxx_IAR_Keil/FreeRTOSConfig.h b/FreeRTOS/Demo/CORTEX_LM3Sxxxx_IAR_Keil/FreeRTOSConfig.h index f7fa17e6a..6ab7fe32f 100644 --- a/FreeRTOS/Demo/CORTEX_LM3Sxxxx_IAR_Keil/FreeRTOSConfig.h +++ b/FreeRTOS/Demo/CORTEX_LM3Sxxxx_IAR_Keil/FreeRTOSConfig.h @@ -1,7 +1,7 @@ /* FreeRTOS V7.3.0 - Copyright (C) 2012 Real Time Engineers Ltd. - FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME. PLEASE VISIT + FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME. PLEASE VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION. *************************************************************************** @@ -42,7 +42,7 @@ FreeRTOS WEB site. 1 tab == 4 spaces! - + *************************************************************************** * * * Having a problem? Start by reading the FAQ "My application does * @@ -52,17 +52,17 @@ * * *************************************************************************** - - http://www.FreeRTOS.org - Documentation, training, latest versions, license - and contact details. - + + http://www.FreeRTOS.org - Documentation, training, latest versions, license + and contact details. + http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products, including FreeRTOS+Trace - an indispensable productivity tool. - Real Time Engineers ltd license FreeRTOS to High Integrity Systems, who sell - the code with commercial support, indemnification, and middleware, under + Real Time Engineers ltd license FreeRTOS to High Integrity Systems, who sell + the code with commercial support, indemnification, and middleware, under the OpenRTOS brand: http://www.OpenRTOS.com. High Integrity Systems also - provide a safety engineered and independently SIL3 certified version under + provide a safety engineered and independently SIL3 certified version under the SafeRTOS brand: http://www.SafeRTOS.com. */ @@ -92,28 +92,41 @@ #define configUSE_TRACE_FACILITY 1 #define configUSE_16_BIT_TICKS 0 #define configIDLE_SHOULD_YIELD 0 -#define configUSE_CO_ROUTINES 0 +#define configUSE_CO_ROUTINES 1 #define configUSE_MUTEXES 1 #define configUSE_RECURSIVE_MUTEXES 1 #define configCHECK_FOR_STACK_OVERFLOW 2 +#define configUSE_QUEUE_SETS 1 +#define configUSE_COUNTING_SEMAPHORES 1 +#define configUSE_ALTERNATIVE_API 1 #define configMAX_PRIORITIES ( 5UL ) #define configMAX_CO_ROUTINE_PRIORITIES ( 2 ) -#define configQUEUE_REGISTRY_SIZE 10 +#define configQUEUE_REGISTRY_SIZE 10 + +/* Timer related defines. */ +#define configUSE_TIMERS 1 +#define configTIMER_TASK_PRIORITY 2 +#define configTIMER_QUEUE_LENGTH 20 +#define configTIMER_TASK_STACK_DEPTH ( configMINIMAL_STACK_SIZE * 2 ) /* Set the following definitions to 1 to include the API function, or zero to exclude the API function. */ -#define INCLUDE_vTaskPrioritySet 1 -#define INCLUDE_uxTaskPriorityGet 1 -#define INCLUDE_vTaskDelete 1 -#define INCLUDE_vTaskCleanUpResources 0 -#define INCLUDE_vTaskSuspend 1 -#define INCLUDE_vTaskDelayUntil 1 -#define INCLUDE_vTaskDelay 1 -#define INCLUDE_uxTaskGetStackHighWaterMark 1 - - +#define INCLUDE_vTaskPrioritySet 1 +#define INCLUDE_uxTaskPriorityGet 1 +#define INCLUDE_vTaskDelete 1 +#define INCLUDE_vTaskCleanUpResources 0 +#define INCLUDE_vTaskSuspend 1 +#define INCLUDE_vTaskDelayUntil 1 +#define INCLUDE_vTaskDelay 1 +#define INCLUDE_uxTaskGetStackHighWaterMark 1 +#define INCLUDE_xTaskGetSchedulerState 1 +#define INCLUDE_xTimerGetTimerDaemonTaskHandle 1 +#define INCLUDE_xTaskGetIdleTaskHandle 1 +#define INCLUDE_pcTaskGetTaskName 1 +#define INCLUDE_eTaskGetState 1 +#define INCLUDE_xSemaphoreGetMutexHolder 1 #define configKERNEL_INTERRUPT_PRIORITY ( 7 << 5 ) /* Priority 7, or 255 as only the top three bits are implemented. This is the lowest priority. */ /* !!!! configMAX_SYSCALL_INTERRUPT_PRIORITY must not be set to zero !!!! diff --git a/FreeRTOS/Demo/CORTEX_LM3Sxxxx_IAR_Keil/RTOSDemo.ewp b/FreeRTOS/Demo/CORTEX_LM3Sxxxx_IAR_Keil/RTOSDemo.ewp index 79013b234..0634e8f8a 100644 --- a/FreeRTOS/Demo/CORTEX_LM3Sxxxx_IAR_Keil/RTOSDemo.ewp +++ b/FreeRTOS/Demo/CORTEX_LM3Sxxxx_IAR_Keil/RTOSDemo.ewp @@ -33,8 +33,8 @@