]> git.sur5r.net Git - freertos/commitdiff
Add the option to specify a stack size in the standard demo MessageBuffer tests.
authorrtel <rtel@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Wed, 13 Jun 2018 16:50:16 +0000 (16:50 +0000)
committerrtel <rtel@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Wed, 13 Jun 2018 16:50:16 +0000 (16:50 +0000)
Add stream and message buffer tests into the Zynq demo project.

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

14 files changed:
FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702/RTOSDemo/.project
FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702/RTOSDemo/src/FreeRTOSConfig.h
FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702/RTOSDemo/src/Full_Demo/main_full.c
FreeRTOS/Demo/CORTEX_A9_Zynq_ZC702/RTOSDemo/src/main.c
FreeRTOS/Demo/CORTEX_LM3Sxxxx_IAR_Keil/main.c
FreeRTOS/Demo/CORTEX_M4_SimpleLink_CC3220SF_CCS/Full_Demo/main_full.c
FreeRTOS/Demo/Common/Minimal/MessageBufferAMP.c
FreeRTOS/Demo/Common/Minimal/MessageBufferDemo.c
FreeRTOS/Demo/Common/Minimal/StreamBufferDemo.c
FreeRTOS/Demo/Common/include/MessageBufferAMP.h
FreeRTOS/Demo/Common/include/MessageBufferDemo.h
FreeRTOS/Demo/WIN32-MSVC/main_full.c
FreeRTOS/Demo/WIN32-MingW/main_full.c
FreeRTOS/Source/include/queue.h

index 5dcf587a95c79ff81d967534984ab1ef3da39800..783ec011232fa071f2bd24205acb67179bc99b5a 100644 (file)
                        </matcher>\r
                </filter>\r
                <filter>\r
-                       <id>1461598461900</id>\r
+                       <id>1528755597221</id>\r
                        <name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>\r
                        <type>5</type>\r
                        <matcher>\r
                        </matcher>\r
                </filter>\r
                <filter>\r
-                       <id>1461598461910</id>\r
+                       <id>1528755597236</id>\r
                        <name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>\r
                        <type>5</type>\r
                        <matcher>\r
                        </matcher>\r
                </filter>\r
                <filter>\r
-                       <id>1461598461930</id>\r
+                       <id>1528755597244</id>\r
                        <name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>\r
                        <type>5</type>\r
                        <matcher>\r
                        </matcher>\r
                </filter>\r
                <filter>\r
-                       <id>1461598461940</id>\r
+                       <id>1528755597250</id>\r
                        <name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>\r
                        <type>5</type>\r
                        <matcher>\r
                        </matcher>\r
                </filter>\r
                <filter>\r
-                       <id>1461598461940</id>\r
+                       <id>1528755597254</id>\r
                        <name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>\r
                        <type>5</type>\r
                        <matcher>\r
                        </matcher>\r
                </filter>\r
                <filter>\r
-                       <id>1461598461950</id>\r
+                       <id>1528755597258</id>\r
                        <name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>\r
                        <type>5</type>\r
                        <matcher>\r
                        </matcher>\r
                </filter>\r
                <filter>\r
-                       <id>1461598461960</id>\r
+                       <id>1528755597263</id>\r
                        <name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>\r
                        <type>5</type>\r
                        <matcher>\r
                        </matcher>\r
                </filter>\r
                <filter>\r
-                       <id>1461598461960</id>\r
+                       <id>1528755597267</id>\r
                        <name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>\r
                        <type>5</type>\r
                        <matcher>\r
                        </matcher>\r
                </filter>\r
                <filter>\r
-                       <id>1461598461980</id>\r
+                       <id>1528755597271</id>\r
                        <name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>\r
                        <type>5</type>\r
                        <matcher>\r
                        </matcher>\r
                </filter>\r
                <filter>\r
-                       <id>1461598461990</id>\r
+                       <id>1528755597278</id>\r
                        <name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>\r
                        <type>5</type>\r
                        <matcher>\r
                        </matcher>\r
                </filter>\r
                <filter>\r
-                       <id>1461598461990</id>\r
+                       <id>1528755597282</id>\r
                        <name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>\r
                        <type>5</type>\r
                        <matcher>\r
                        </matcher>\r
                </filter>\r
                <filter>\r
-                       <id>1461598462000</id>\r
+                       <id>1528755597288</id>\r
                        <name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>\r
                        <type>5</type>\r
                        <matcher>\r
                        </matcher>\r
                </filter>\r
                <filter>\r
-                       <id>1461598462000</id>\r
+                       <id>1528755597292</id>\r
                        <name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>\r
                        <type>5</type>\r
                        <matcher>\r
                        </matcher>\r
                </filter>\r
                <filter>\r
-                       <id>1461598462020</id>\r
+                       <id>1528755597302</id>\r
                        <name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>\r
                        <type>5</type>\r
                        <matcher>\r
                        </matcher>\r
                </filter>\r
                <filter>\r
-                       <id>1461598462020</id>\r
+                       <id>1528755597306</id>\r
                        <name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>\r
                        <type>5</type>\r
                        <matcher>\r
                        </matcher>\r
                </filter>\r
                <filter>\r
-                       <id>1461598462030</id>\r
+                       <id>1528755597310</id>\r
                        <name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>\r
                        <type>5</type>\r
                        <matcher>\r
                        </matcher>\r
                </filter>\r
                <filter>\r
-                       <id>1461598462040</id>\r
+                       <id>1528755597314</id>\r
                        <name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>\r
                        <type>5</type>\r
                        <matcher>\r
                        </matcher>\r
                </filter>\r
                <filter>\r
-                       <id>1461598462040</id>\r
+                       <id>1528755597318</id>\r
                        <name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>\r
                        <type>5</type>\r
                        <matcher>\r
                        </matcher>\r
                </filter>\r
                <filter>\r
-                       <id>1461598462050</id>\r
+                       <id>1528755597321</id>\r
                        <name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>\r
                        <type>5</type>\r
                        <matcher>\r
                                <arguments>1.0-name-matches-false-false-AbortDelay.c</arguments>\r
                        </matcher>\r
                </filter>\r
+               <filter>\r
+                       <id>1528755597325</id>\r
+                       <name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>\r
+                       <type>5</type>\r
+                       <matcher>\r
+                               <id>org.eclipse.ui.ide.multiFilter</id>\r
+                               <arguments>1.0-name-matches-false-false-MessageBufferAMP.c</arguments>\r
+                       </matcher>\r
+               </filter>\r
+               <filter>\r
+                       <id>1528755597330</id>\r
+                       <name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>\r
+                       <type>5</type>\r
+                       <matcher>\r
+                               <id>org.eclipse.ui.ide.multiFilter</id>\r
+                               <arguments>1.0-name-matches-false-false-MessageBufferDemo.c</arguments>\r
+                       </matcher>\r
+               </filter>\r
+               <filter>\r
+                       <id>1528755597334</id>\r
+                       <name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>\r
+                       <type>5</type>\r
+                       <matcher>\r
+                               <id>org.eclipse.ui.ide.multiFilter</id>\r
+                               <arguments>1.0-name-matches-false-false-StreamBufferDemo.c</arguments>\r
+                       </matcher>\r
+               </filter>\r
+               <filter>\r
+                       <id>1528755597338</id>\r
+                       <name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>\r
+                       <type>5</type>\r
+                       <matcher>\r
+                               <id>org.eclipse.ui.ide.multiFilter</id>\r
+                               <arguments>1.0-name-matches-false-false-StreamBufferInterrupt.c</arguments>\r
+                       </matcher>\r
+               </filter>\r
                <filter>\r
                        <id>1461598705091</id>\r
                        <name>src/lwIP_Demo/lwip-1.4.0/src/core</name>\r
index 12b5f4af8a465d275bc66d4f5bcb515a8432a3e4..2c61dd6fe5dd4971ac30b017f66d95463bdca163 100644 (file)
@@ -78,7 +78,7 @@
 #define configUSE_TICK_HOOK                                            1\r
 #define configMAX_PRIORITIES                                   ( 7 )\r
 #define configMINIMAL_STACK_SIZE                               ( ( unsigned short ) 250 ) /* Large in case configUSE_TASK_FPU_SUPPORT is 2 in which case all tasks have an FPU context. */\r
-#define configTOTAL_HEAP_SIZE                                  ( 90 * 1024 )\r
+#define configTOTAL_HEAP_SIZE                                  ( 125 * 1024 )\r
 #define configMAX_TASK_NAME_LEN                                        ( 10 )\r
 #define configUSE_TRACE_FACILITY                               1\r
 #define configUSE_16_BIT_TICKS                                 0\r
index 5e25957f6825255c04afbdf2735edff8eafedddc..601776de37211afe4facbff480e5140761c792f5 100644 (file)
 #include "IntSemTest.h"\r
 #include "StaticAllocation.h"\r
 #include "AbortDelay.h"\r
+#include "MessageBufferDemo.h"\r
+#include "StreamBufferDemo.h"\r
+#include "StreamBufferInterrupt.h"\r
+#include "MessageBufferAMP.h"\r
 \r
 \r
 /* Priorities for the demo application tasks. */\r
@@ -149,6 +153,9 @@ purpose of ensuring parameters are passed into tasks correctly. */
 /* The base period used by the timer test tasks. */\r
 #define mainTIMER_TEST_PERIOD                          ( 50 )\r
 \r
+/* Base stack size of tasks created in the message buffer demos. */\r
+#define mainMESSAGE_BUFFER_STACK_SIZE          ( configMINIMAL_STACK_SIZE * 2 )\r
+\r
 /*-----------------------------------------------------------*/\r
 \r
 \r
@@ -221,6 +228,10 @@ void main_full( void )
        vStartInterruptSemaphoreTasks();\r
        vStartStaticallyAllocatedTasks();\r
        vCreateAbortDelayTasks();\r
+       vStartMessageBufferTasks( mainMESSAGE_BUFFER_STACK_SIZE );\r
+       vStartStreamBufferTasks();\r
+       vStartStreamBufferInterruptDemo();\r
+       vStartMessageBufferAMPTasks( mainMESSAGE_BUFFER_STACK_SIZE );\r
 \r
        /* Start the tasks that implements the command console on the UART, as\r
        described above. */\r
@@ -372,17 +383,37 @@ unsigned long ulErrorFound = pdFALSE;
                        ulErrorFound |= 1UL << 16UL;\r
                }\r
 \r
+               if( xAreStreamBufferTasksStillRunning() != pdTRUE )\r
+               {\r
+                       ulErrorFound |= 1UL << 17UL;\r
+               }\r
+\r
+               if( xAreMessageBufferTasksStillRunning() != pdTRUE )\r
+               {\r
+                       ulErrorFound |= 1UL << 18UL;\r
+               }\r
+\r
+               if( xIsInterruptStreamBufferDemoStillRunning() != pdPASS )\r
+               {\r
+                       ulErrorFound |= 1UL << 19UL;\r
+               }\r
+\r
+               if( xAreMessageBufferAMPTasksStillRunning() != pdPASS )\r
+               {\r
+                       ulErrorFound |= 1UL << 20UL;\r
+               }\r
+\r
                /* Check that the register test 1 task is still running. */\r
                if( ulLastRegTest1Value == ulRegTest1LoopCounter )\r
                {\r
-                       ulErrorFound |= 1UL << 17UL;\r
+                       ulErrorFound |= 1UL << 21UL;\r
                }\r
                ulLastRegTest1Value = ulRegTest1LoopCounter;\r
 \r
                /* Check that the register test 2 task is still running. */\r
                if( ulLastRegTest2Value == ulRegTest2LoopCounter )\r
                {\r
-                       ulErrorFound |= 1UL << 18UL;\r
+                       ulErrorFound |= 1UL << 22UL;\r
                }\r
                ulLastRegTest2Value = ulRegTest2LoopCounter;\r
 \r
index 0e73951f660baad25d16dabeb04aa70c84344a83..eac0821589f0017a078be1260e662ede1cb3932a 100644 (file)
@@ -76,6 +76,8 @@
 #include "EventGroupsDemo.h"\r
 #include "TaskNotify.h"\r
 #include "IntSemTest.h"\r
+#include "StreamBufferInterrupt.h"\r
+#include "StreamBufferDemo.h"\r
 \r
 /* Xilinx includes. */\r
 #include "platform.h"\r
@@ -293,6 +295,14 @@ void vApplicationTickHook( void )
                /* Use mutexes from interrupts. */\r
                vInterruptSemaphorePeriodicTest();\r
 \r
+               /* Writes to stream buffer byte by byte to test the stream buffer trigger\r
+               level functionality. */\r
+               vPeriodicStreamBufferProcessing();\r
+\r
+               /* Writes a string to a string buffer four bytes at a time to demonstrate\r
+               a stream being sent from an interrupt to a task. */\r
+               vBasicStreamBufferSendFromISR();\r
+\r
                /* Test flop alignment in interrupts - calling printf from an interrupt\r
                is BAD! */\r
                #if( configASSERT_DEFINED == 1 )\r
index ccfe58b4dd9fb4e1ea18167c6148d738fa3f022f..435b62554da8ee97f67bce577d34a5648b407935 100644 (file)
@@ -220,7 +220,7 @@ int main( void )
        vStartQueuePeekTasks();\r
        vStartQueueSetTasks();\r
        vStartEventGroupTasks();\r
-       vStartMessageBufferTasks();\r
+       vStartMessageBufferTasks( configMINIMAL_STACK_SIZE );\r
        vStartStreamBufferTasks();\r
 \r
        /* Exclude some tasks if using the kickstart version to ensure we stay within\r
@@ -244,8 +244,8 @@ int main( void )
        or not the correct/expected number of tasks are running at any given time. */\r
        vCreateSuicidalTasks( mainCREATOR_TASK_PRIORITY );\r
 \r
-       /* Uncomment the following line to configure the high frequency interrupt \r
-       used to measure the interrupt jitter time. \r
+       /* Uncomment the following line to configure the high frequency interrupt\r
+       used to measure the interrupt jitter time.\r
        vSetupHighFrequencyTimer(); */\r
 \r
        /* Start the scheduler. */\r
@@ -497,7 +497,7 @@ void vApplicationGetTimerTaskMemory( StaticTask_t **ppxTimerTaskTCBBuffer, Stack
 function then they must be declared static - otherwise they will be allocated on\r
 the stack and so not exists after this function exits. */\r
 static StaticTask_t xTimerTaskTCB;\r
-static StackType_t uxTimerTaskStack[ configTIMER_TASK_STACK_DEPTH ];   \r
+static StackType_t uxTimerTaskStack[ configTIMER_TASK_STACK_DEPTH ];\r
 \r
        /* Pass out a pointer to the StaticTask_t structure in which the Timer\r
        task's state will be stored. */\r
index 21a30d125417bdc1df23e96bdf22196dc664661e..b466688667a464901abe4e6194a8053a978c9167 100644 (file)
@@ -191,7 +191,7 @@ void main_full( void )
        vStartTaskNotifyTask();\r
        vStartInterruptSemaphoreTasks();\r
        vStartStreamBufferTasks();\r
-       vStartMessageBufferTasks();\r
+       vStartMessageBufferTasks( configMINIMAL_STACK_SIZE );\r
 \r
        /* Create the register check tasks, as described at the top of this     file */\r
        xTaskCreate( prvRegTestTaskEntry1, "Reg1", configMINIMAL_STACK_SIZE, mainREG_TEST_TASK_1_PARAMETER, tskIDLE_PRIORITY, NULL );\r
index dd7a209c79da225dd50349fcd7f2167543bb44c5..2fa8ed0bae9026ccd363a113187cf4abd1de2f3d 100644 (file)
@@ -126,18 +126,18 @@ BaseType_t xDemoStatus = pdPASS;
 \r
 /*-----------------------------------------------------------*/\r
 \r
-void vStartMessageBufferAMPTasks( void )\r
+void vStartMessageBufferAMPTasks( configSTACK_DEPTH_TYPE xStackSize )\r
 {\r
 BaseType_t x;\r
 \r
        xControlMessageBuffer = xMessageBufferCreate( mbaCONTROL_MESSAGE_BUFFER_SIZE );\r
 \r
-       xTaskCreate( prvCoreATask,                              /* The function that implements the task. */\r
-                                "AMPCoreA",                            /* Human readable name for the task. */\r
-                                configMINIMAL_STACK_SIZE,      /* Stack size (in words!). */\r
-                                NULL,                                          /* Task parameter is not used. */\r
-                                tskIDLE_PRIORITY,                      /* The priority at which the task is created. */\r
-                                NULL );                                        /* No use for the task handle. */\r
+       xTaskCreate( prvCoreATask,              /* The function that implements the task. */\r
+                                "AMPCoreA",            /* Human readable name for the task. */\r
+                                xStackSize,            /* Stack size (in words!). */\r
+                                NULL,                          /* Task parameter is not used. */\r
+                                tskIDLE_PRIORITY,      /* The priority at which the task is created. */\r
+                                NULL );                        /* No use for the task handle. */\r
 \r
        for( x = 0; x < mbaNUMBER_OF_CORE_B_TASKS; x++ )\r
        {\r
@@ -149,7 +149,7 @@ BaseType_t x;
                ulCycleCounters and xCoreBMessageBuffers arrays. */\r
                xTaskCreate( prvCoreBTasks,\r
                                         "AMPCoreB1",\r
-                                        configMINIMAL_STACK_SIZE,\r
+                                        xStackSize,\r
                                         ( void * ) x,\r
                                         tskIDLE_PRIORITY + 1,\r
                                         NULL );\r
index 819600db118ba0253d422c4e283d0b4d9cb70de2..cbcff88e5cd88af6cf7b2601526796bf71feebf0 100644 (file)
@@ -62,9 +62,6 @@ priority tasks, and from high to low priority tasks. */
 /* A block time of 0 means "don't block". */\r
 #define mbDONT_BLOCK                           ( 0 )\r
 \r
-/* The size of the stack allocated to the tasks that run as part of this demo/\r
-test.  The stack size is over generous in most cases. */\r
-#define mbSTACK_SIZE                           ( configMINIMAL_STACK_SIZE + ( configMINIMAL_STACK_SIZE >> 1 ) )\r
 /*-----------------------------------------------------------*/\r
 \r
 /*\r
@@ -122,33 +119,38 @@ static uint32_t ulNonBlockingRxCounter = 0;
 message buffer to test writing different lengths at different offsets. */\r
 static const char *pc55ByteString = "One two three four five six seven eight nine ten eleve";\r
 \r
+/* Remember the required stack size so tasks can be created at run time (after\r
+initialisation time. */\r
+static configSTACK_DEPTH_TYPE xBlockingStackSize = 0;\r
 \r
 /*-----------------------------------------------------------*/\r
 \r
-void vStartMessageBufferTasks( void )\r
+void vStartMessageBufferTasks( configSTACK_DEPTH_TYPE xStackSize  )\r
 {\r
 MessageBufferHandle_t xMessageBuffer;\r
 \r
+       xBlockingStackSize = ( xStackSize + ( xStackSize >> 1U ) );\r
+\r
        /* The echo servers sets up the message buffers before creating the echo\r
        client tasks.  One set of tasks has the server as the higher priority, and\r
        the other has the client as the higher priority. */\r
-       xTaskCreate( prvEchoServer, "1EchoServer", mbSTACK_SIZE, NULL, mbHIGHER_PRIORITY, NULL );\r
-       xTaskCreate( prvEchoServer, "2EchoServer", mbSTACK_SIZE, NULL, mbLOWER_PRIORITY, NULL );\r
+       xTaskCreate( prvEchoServer, "1EchoServer", xBlockingStackSize, NULL, mbHIGHER_PRIORITY, NULL );\r
+       xTaskCreate( prvEchoServer, "2EchoServer", xBlockingStackSize, NULL, mbLOWER_PRIORITY, NULL );\r
 \r
        /* The non blocking tasks run continuously and will interleave with each\r
        other, so must be created at the lowest priority.  The message buffer they\r
        use is created and passed in using the task's parameter. */\r
        xMessageBuffer = xMessageBufferCreate( mbMESSAGE_BUFFER_LENGTH_BYTES );\r
-       xTaskCreate( prvNonBlockingReceiverTask, "NonBlkRx", configMINIMAL_STACK_SIZE, ( void * ) xMessageBuffer, tskIDLE_PRIORITY, NULL );\r
-       xTaskCreate( prvNonBlockingSenderTask, "NonBlkTx", configMINIMAL_STACK_SIZE, ( void * ) xMessageBuffer, tskIDLE_PRIORITY, NULL );\r
+       xTaskCreate( prvNonBlockingReceiverTask, "NonBlkRx", xStackSize, ( void * ) xMessageBuffer, tskIDLE_PRIORITY, NULL );\r
+       xTaskCreate( prvNonBlockingSenderTask, "NonBlkTx", xStackSize, ( void * ) xMessageBuffer, tskIDLE_PRIORITY, NULL );\r
 \r
        #if( configSUPPORT_STATIC_ALLOCATION == 1  )\r
        {\r
                /* The sender tasks set up the message buffers before creating the\r
                receiver tasks.  Priorities must be 0 and 1 as the priority is used to\r
                index into the xStaticMessageBuffers and ucBufferStorage arrays. */\r
-               xTaskCreate( prvSenderTask, "1Sender", mbSTACK_SIZE, NULL, mbHIGHER_PRIORITY, NULL );\r
-               xTaskCreate( prvSenderTask, "2Sender", mbSTACK_SIZE, NULL, mbLOWER_PRIORITY, NULL );\r
+               xTaskCreate( prvSenderTask, "1Sender", xBlockingStackSize, NULL, mbHIGHER_PRIORITY, NULL );\r
+               xTaskCreate( prvSenderTask, "2Sender", xBlockingStackSize, NULL, mbLOWER_PRIORITY, NULL );\r
        }\r
        #endif /* configSUPPORT_STATIC_ALLOCATION */\r
 }\r
@@ -567,11 +569,11 @@ char cRxString[ 12 ];
                        /* Here prvSingleTaskTests() performs various tests on a message buffer\r
                        that was created statically. */\r
                        prvSingleTaskTests( xMessageBuffer );\r
-                       xTaskCreate( prvReceiverTask, "MsgReceiver", mbSTACK_SIZE,  ( void * ) xMessageBuffer, mbHIGHER_PRIORITY, NULL );\r
+                       xTaskCreate( prvReceiverTask, "MsgReceiver", xBlockingStackSize,  ( void * ) xMessageBuffer, mbHIGHER_PRIORITY, NULL );\r
                }\r
                else\r
                {\r
-                       xTaskCreate( prvReceiverTask, "MsgReceiver", mbSTACK_SIZE,  ( void * ) xMessageBuffer, mbLOWER_PRIORITY, NULL );\r
+                       xTaskCreate( prvReceiverTask, "MsgReceiver", xBlockingStackSize,  ( void * ) xMessageBuffer, mbLOWER_PRIORITY, NULL );\r
                }\r
 \r
                for( ;; )\r
index 8250b13d9ed296ef5dd9a612b631b62794341a39..04a93a03f7ee1dc39326e8ba28c5d3387ba63f55 100644 (file)
@@ -652,7 +652,7 @@ BaseType_t xNonBlockingReceiveError = pdFALSE;
 \r
        static void prvReceiverTask( void *pvParameters )\r
        {\r
-       StreamBufferHandle_t * const pxStreamBuffer = ( StreamBufferHandle_t * ) pvParameters;\r
+       StreamBufferHandle_t const pxStreamBuffer = ( StreamBufferHandle_t ) pvParameters;\r
        char cRxString[ 12 ]; /* Large enough to hold a 32-bit number in ASCII. */\r
        const TickType_t xTicksToWait = pdMS_TO_TICKS( 5UL );\r
        const size_t xStringLength = strlen( pc55ByteString );\r
index 80fdfc733dca59c5dc1662fb707c2ab338a88e77..bd001ce6419059bd1ad9713675a7e5df7417cd1a 100644 (file)
@@ -28,7 +28,7 @@
 #ifndef MESSAGE_BUFFER_AMP_H\r
 #define MESSAGE_BUFFER_AMP_H\r
 \r
-void vStartMessageBufferAMPTasks( void );\r
+void vStartMessageBufferAMPTasks( configSTACK_DEPTH_TYPE xStackSize );\r
 BaseType_t xAreMessageBufferAMPTasksStillRunning( void );\r
 void vGenerateCoreBInterrupt( void * xUpdatedMessageBuffer );\r
 \r
index 87cb930f4cff9b85443ca9aa688fd07a4197f554..b993ade72f1f0f2cdcbc55fd8d4a378aefb42acf 100644 (file)
@@ -28,7 +28,7 @@
 #ifndef MESSAGE_BUFFER_TEST_H\r
 #define MESSAGE_BUFFER_TEST_H\r
 \r
-void vStartMessageBufferTasks( void );\r
+void vStartMessageBufferTasks( configSTACK_DEPTH_TYPE xStackSize  );\r
 BaseType_t xAreMessageBufferTasksStillRunning( void );\r
 \r
 #endif /* MESSAGE_BUFFER_TEST_H */\r
index 1d7f5c32c8e2118bfd590a9d8dfd419c7153a9ab..312d044a98d7a2ac98320a3a7856ce65fe7c1fc5 100644 (file)
@@ -204,10 +204,10 @@ int main_full( void )
        xTaskCreate( prvPermanentlyBlockingSemaphoreTask, "BlockSem", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL );\r
        xTaskCreate( prvPermanentlyBlockingNotificationTask, "BlockNoti", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL );\r
 \r
-       vStartMessageBufferTasks();\r
+       vStartMessageBufferTasks( configMINIMAL_STACK_SIZE );\r
        vStartStreamBufferTasks();\r
        vStartStreamBufferInterruptDemo();\r
-       vStartMessageBufferAMPTasks();\r
+       vStartMessageBufferAMPTasks( configMINIMAL_STACK_SIZE );\r
 \r
        #if( configSUPPORT_STATIC_ALLOCATION == 1 )\r
        {\r
index f051af45ce7c5523ee8362c7bf6cd08f6e45ae67..d65f035480363e6f8cf721871357379f2817235f 100644 (file)
@@ -211,10 +211,10 @@ int main_full( void )
        xTaskCreate( prvPermanentlyBlockingSemaphoreTask, "BlockSem", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL );\r
        xTaskCreate( prvPermanentlyBlockingNotificationTask, "BlockNoti", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL );\r
 \r
-       vStartMessageBufferTasks();\r
+       vStartMessageBufferTasks( configMINIMAL_STACK_SIZE );\r
        vStartStreamBufferTasks();\r
        vStartStreamBufferInterruptDemo();\r
-       vStartMessageBufferAMPTasks();\r
+       vStartMessageBufferAMPTasks( configMINIMAL_STACK_SIZE );\r
 \r
        #if( configSUPPORT_STATIC_ALLOCATION == 1 )\r
        {\r
index 1ef514bbe0b8baa6b6a8cc28d2465c9f7fa0a668..d0c432652220709d197af7982ce396d74bdbe397 100644 (file)
@@ -37,6 +37,7 @@
 extern "C" {\r
 #endif\r
 \r
+#include "task.h"\r
 \r
 /**\r
  * Type by which queues are referenced.  For example, a call to xQueueCreate()\r