Add the option to specify a stack size in the standard demo MessageBuffer tests.

Add stream and message buffer tests into the Zynq demo project.
This commit is contained in:
Richard Barry 2018-06-13 16:50:16 +00:00
parent 4fbcdbf13b
commit d6fcd5dbba
14 changed files with 134 additions and 54 deletions

View file

@ -219,7 +219,7 @@
</matcher> </matcher>
</filter> </filter>
<filter> <filter>
<id>1461598461900</id> <id>1528755597221</id>
<name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name> <name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>
<type>5</type> <type>5</type>
<matcher> <matcher>
@ -228,7 +228,7 @@
</matcher> </matcher>
</filter> </filter>
<filter> <filter>
<id>1461598461910</id> <id>1528755597236</id>
<name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name> <name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>
<type>5</type> <type>5</type>
<matcher> <matcher>
@ -237,7 +237,7 @@
</matcher> </matcher>
</filter> </filter>
<filter> <filter>
<id>1461598461930</id> <id>1528755597244</id>
<name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name> <name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>
<type>5</type> <type>5</type>
<matcher> <matcher>
@ -246,7 +246,7 @@
</matcher> </matcher>
</filter> </filter>
<filter> <filter>
<id>1461598461940</id> <id>1528755597250</id>
<name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name> <name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>
<type>5</type> <type>5</type>
<matcher> <matcher>
@ -255,7 +255,7 @@
</matcher> </matcher>
</filter> </filter>
<filter> <filter>
<id>1461598461940</id> <id>1528755597254</id>
<name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name> <name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>
<type>5</type> <type>5</type>
<matcher> <matcher>
@ -264,7 +264,7 @@
</matcher> </matcher>
</filter> </filter>
<filter> <filter>
<id>1461598461950</id> <id>1528755597258</id>
<name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name> <name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>
<type>5</type> <type>5</type>
<matcher> <matcher>
@ -273,7 +273,7 @@
</matcher> </matcher>
</filter> </filter>
<filter> <filter>
<id>1461598461960</id> <id>1528755597263</id>
<name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name> <name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>
<type>5</type> <type>5</type>
<matcher> <matcher>
@ -282,7 +282,7 @@
</matcher> </matcher>
</filter> </filter>
<filter> <filter>
<id>1461598461960</id> <id>1528755597267</id>
<name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name> <name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>
<type>5</type> <type>5</type>
<matcher> <matcher>
@ -291,7 +291,7 @@
</matcher> </matcher>
</filter> </filter>
<filter> <filter>
<id>1461598461980</id> <id>1528755597271</id>
<name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name> <name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>
<type>5</type> <type>5</type>
<matcher> <matcher>
@ -300,7 +300,7 @@
</matcher> </matcher>
</filter> </filter>
<filter> <filter>
<id>1461598461990</id> <id>1528755597278</id>
<name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name> <name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>
<type>5</type> <type>5</type>
<matcher> <matcher>
@ -309,7 +309,7 @@
</matcher> </matcher>
</filter> </filter>
<filter> <filter>
<id>1461598461990</id> <id>1528755597282</id>
<name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name> <name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>
<type>5</type> <type>5</type>
<matcher> <matcher>
@ -318,7 +318,7 @@
</matcher> </matcher>
</filter> </filter>
<filter> <filter>
<id>1461598462000</id> <id>1528755597288</id>
<name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name> <name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>
<type>5</type> <type>5</type>
<matcher> <matcher>
@ -327,7 +327,7 @@
</matcher> </matcher>
</filter> </filter>
<filter> <filter>
<id>1461598462000</id> <id>1528755597292</id>
<name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name> <name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>
<type>5</type> <type>5</type>
<matcher> <matcher>
@ -336,7 +336,7 @@
</matcher> </matcher>
</filter> </filter>
<filter> <filter>
<id>1461598462020</id> <id>1528755597302</id>
<name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name> <name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>
<type>5</type> <type>5</type>
<matcher> <matcher>
@ -345,7 +345,7 @@
</matcher> </matcher>
</filter> </filter>
<filter> <filter>
<id>1461598462020</id> <id>1528755597306</id>
<name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name> <name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>
<type>5</type> <type>5</type>
<matcher> <matcher>
@ -354,7 +354,7 @@
</matcher> </matcher>
</filter> </filter>
<filter> <filter>
<id>1461598462030</id> <id>1528755597310</id>
<name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name> <name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>
<type>5</type> <type>5</type>
<matcher> <matcher>
@ -363,7 +363,7 @@
</matcher> </matcher>
</filter> </filter>
<filter> <filter>
<id>1461598462040</id> <id>1528755597314</id>
<name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name> <name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>
<type>5</type> <type>5</type>
<matcher> <matcher>
@ -372,7 +372,7 @@
</matcher> </matcher>
</filter> </filter>
<filter> <filter>
<id>1461598462040</id> <id>1528755597318</id>
<name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name> <name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>
<type>5</type> <type>5</type>
<matcher> <matcher>
@ -381,7 +381,7 @@
</matcher> </matcher>
</filter> </filter>
<filter> <filter>
<id>1461598462050</id> <id>1528755597321</id>
<name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name> <name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>
<type>5</type> <type>5</type>
<matcher> <matcher>
@ -389,6 +389,42 @@
<arguments>1.0-name-matches-false-false-AbortDelay.c</arguments> <arguments>1.0-name-matches-false-false-AbortDelay.c</arguments>
</matcher> </matcher>
</filter> </filter>
<filter>
<id>1528755597325</id>
<name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>
<type>5</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-MessageBufferAMP.c</arguments>
</matcher>
</filter>
<filter>
<id>1528755597330</id>
<name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>
<type>5</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-MessageBufferDemo.c</arguments>
</matcher>
</filter>
<filter>
<id>1528755597334</id>
<name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>
<type>5</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-StreamBufferDemo.c</arguments>
</matcher>
</filter>
<filter>
<id>1528755597338</id>
<name>src/Full_Demo/Standard-Demo-Tasks/Minimal</name>
<type>5</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-StreamBufferInterrupt.c</arguments>
</matcher>
</filter>
<filter> <filter>
<id>1461598705091</id> <id>1461598705091</id>
<name>src/lwIP_Demo/lwip-1.4.0/src/core</name> <name>src/lwIP_Demo/lwip-1.4.0/src/core</name>

View file

@ -78,7 +78,7 @@
#define configUSE_TICK_HOOK 1 #define configUSE_TICK_HOOK 1
#define configMAX_PRIORITIES ( 7 ) #define configMAX_PRIORITIES ( 7 )
#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. */ #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. */
#define configTOTAL_HEAP_SIZE ( 90 * 1024 ) #define configTOTAL_HEAP_SIZE ( 125 * 1024 )
#define configMAX_TASK_NAME_LEN ( 10 ) #define configMAX_TASK_NAME_LEN ( 10 )
#define configUSE_TRACE_FACILITY 1 #define configUSE_TRACE_FACILITY 1
#define configUSE_16_BIT_TICKS 0 #define configUSE_16_BIT_TICKS 0

View file

@ -110,6 +110,10 @@
#include "IntSemTest.h" #include "IntSemTest.h"
#include "StaticAllocation.h" #include "StaticAllocation.h"
#include "AbortDelay.h" #include "AbortDelay.h"
#include "MessageBufferDemo.h"
#include "StreamBufferDemo.h"
#include "StreamBufferInterrupt.h"
#include "MessageBufferAMP.h"
/* Priorities for the demo application tasks. */ /* Priorities for the demo application tasks. */
@ -149,6 +153,9 @@ purpose of ensuring parameters are passed into tasks correctly. */
/* The base period used by the timer test tasks. */ /* The base period used by the timer test tasks. */
#define mainTIMER_TEST_PERIOD ( 50 ) #define mainTIMER_TEST_PERIOD ( 50 )
/* Base stack size of tasks created in the message buffer demos. */
#define mainMESSAGE_BUFFER_STACK_SIZE ( configMINIMAL_STACK_SIZE * 2 )
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
@ -221,6 +228,10 @@ void main_full( void )
vStartInterruptSemaphoreTasks(); vStartInterruptSemaphoreTasks();
vStartStaticallyAllocatedTasks(); vStartStaticallyAllocatedTasks();
vCreateAbortDelayTasks(); vCreateAbortDelayTasks();
vStartMessageBufferTasks( mainMESSAGE_BUFFER_STACK_SIZE );
vStartStreamBufferTasks();
vStartStreamBufferInterruptDemo();
vStartMessageBufferAMPTasks( mainMESSAGE_BUFFER_STACK_SIZE );
/* Start the tasks that implements the command console on the UART, as /* Start the tasks that implements the command console on the UART, as
described above. */ described above. */
@ -372,17 +383,37 @@ unsigned long ulErrorFound = pdFALSE;
ulErrorFound |= 1UL << 16UL; ulErrorFound |= 1UL << 16UL;
} }
if( xAreStreamBufferTasksStillRunning() != pdTRUE )
{
ulErrorFound |= 1UL << 17UL;
}
if( xAreMessageBufferTasksStillRunning() != pdTRUE )
{
ulErrorFound |= 1UL << 18UL;
}
if( xIsInterruptStreamBufferDemoStillRunning() != pdPASS )
{
ulErrorFound |= 1UL << 19UL;
}
if( xAreMessageBufferAMPTasksStillRunning() != pdPASS )
{
ulErrorFound |= 1UL << 20UL;
}
/* Check that the register test 1 task is still running. */ /* Check that the register test 1 task is still running. */
if( ulLastRegTest1Value == ulRegTest1LoopCounter ) if( ulLastRegTest1Value == ulRegTest1LoopCounter )
{ {
ulErrorFound |= 1UL << 17UL; ulErrorFound |= 1UL << 21UL;
} }
ulLastRegTest1Value = ulRegTest1LoopCounter; ulLastRegTest1Value = ulRegTest1LoopCounter;
/* Check that the register test 2 task is still running. */ /* Check that the register test 2 task is still running. */
if( ulLastRegTest2Value == ulRegTest2LoopCounter ) if( ulLastRegTest2Value == ulRegTest2LoopCounter )
{ {
ulErrorFound |= 1UL << 18UL; ulErrorFound |= 1UL << 22UL;
} }
ulLastRegTest2Value = ulRegTest2LoopCounter; ulLastRegTest2Value = ulRegTest2LoopCounter;

View file

@ -76,6 +76,8 @@
#include "EventGroupsDemo.h" #include "EventGroupsDemo.h"
#include "TaskNotify.h" #include "TaskNotify.h"
#include "IntSemTest.h" #include "IntSemTest.h"
#include "StreamBufferInterrupt.h"
#include "StreamBufferDemo.h"
/* Xilinx includes. */ /* Xilinx includes. */
#include "platform.h" #include "platform.h"
@ -293,6 +295,14 @@ void vApplicationTickHook( void )
/* Use mutexes from interrupts. */ /* Use mutexes from interrupts. */
vInterruptSemaphorePeriodicTest(); vInterruptSemaphorePeriodicTest();
/* Writes to stream buffer byte by byte to test the stream buffer trigger
level functionality. */
vPeriodicStreamBufferProcessing();
/* Writes a string to a string buffer four bytes at a time to demonstrate
a stream being sent from an interrupt to a task. */
vBasicStreamBufferSendFromISR();
/* Test flop alignment in interrupts - calling printf from an interrupt /* Test flop alignment in interrupts - calling printf from an interrupt
is BAD! */ is BAD! */
#if( configASSERT_DEFINED == 1 ) #if( configASSERT_DEFINED == 1 )

View file

@ -220,7 +220,7 @@ int main( void )
vStartQueuePeekTasks(); vStartQueuePeekTasks();
vStartQueueSetTasks(); vStartQueueSetTasks();
vStartEventGroupTasks(); vStartEventGroupTasks();
vStartMessageBufferTasks(); vStartMessageBufferTasks( configMINIMAL_STACK_SIZE );
vStartStreamBufferTasks(); vStartStreamBufferTasks();
/* Exclude some tasks if using the kickstart version to ensure we stay within /* Exclude some tasks if using the kickstart version to ensure we stay within

View file

@ -191,7 +191,7 @@ void main_full( void )
vStartTaskNotifyTask(); vStartTaskNotifyTask();
vStartInterruptSemaphoreTasks(); vStartInterruptSemaphoreTasks();
vStartStreamBufferTasks(); vStartStreamBufferTasks();
vStartMessageBufferTasks(); vStartMessageBufferTasks( configMINIMAL_STACK_SIZE );
/* Create the register check tasks, as described at the top of this file */ /* Create the register check tasks, as described at the top of this file */
xTaskCreate( prvRegTestTaskEntry1, "Reg1", configMINIMAL_STACK_SIZE, mainREG_TEST_TASK_1_PARAMETER, tskIDLE_PRIORITY, NULL ); xTaskCreate( prvRegTestTaskEntry1, "Reg1", configMINIMAL_STACK_SIZE, mainREG_TEST_TASK_1_PARAMETER, tskIDLE_PRIORITY, NULL );

View file

@ -126,7 +126,7 @@ BaseType_t xDemoStatus = pdPASS;
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
void vStartMessageBufferAMPTasks( void ) void vStartMessageBufferAMPTasks( configSTACK_DEPTH_TYPE xStackSize )
{ {
BaseType_t x; BaseType_t x;
@ -134,7 +134,7 @@ BaseType_t x;
xTaskCreate( prvCoreATask, /* The function that implements the task. */ xTaskCreate( prvCoreATask, /* The function that implements the task. */
"AMPCoreA", /* Human readable name for the task. */ "AMPCoreA", /* Human readable name for the task. */
configMINIMAL_STACK_SIZE, /* Stack size (in words!). */ xStackSize, /* Stack size (in words!). */
NULL, /* Task parameter is not used. */ NULL, /* Task parameter is not used. */
tskIDLE_PRIORITY, /* The priority at which the task is created. */ tskIDLE_PRIORITY, /* The priority at which the task is created. */
NULL ); /* No use for the task handle. */ NULL ); /* No use for the task handle. */
@ -149,7 +149,7 @@ BaseType_t x;
ulCycleCounters and xCoreBMessageBuffers arrays. */ ulCycleCounters and xCoreBMessageBuffers arrays. */
xTaskCreate( prvCoreBTasks, xTaskCreate( prvCoreBTasks,
"AMPCoreB1", "AMPCoreB1",
configMINIMAL_STACK_SIZE, xStackSize,
( void * ) x, ( void * ) x,
tskIDLE_PRIORITY + 1, tskIDLE_PRIORITY + 1,
NULL ); NULL );

View file

@ -62,9 +62,6 @@ priority tasks, and from high to low priority tasks. */
/* A block time of 0 means "don't block". */ /* A block time of 0 means "don't block". */
#define mbDONT_BLOCK ( 0 ) #define mbDONT_BLOCK ( 0 )
/* The size of the stack allocated to the tasks that run as part of this demo/
test. The stack size is over generous in most cases. */
#define mbSTACK_SIZE ( configMINIMAL_STACK_SIZE + ( configMINIMAL_STACK_SIZE >> 1 ) )
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
/* /*
@ -122,33 +119,38 @@ static uint32_t ulNonBlockingRxCounter = 0;
message buffer to test writing different lengths at different offsets. */ message buffer to test writing different lengths at different offsets. */
static const char *pc55ByteString = "One two three four five six seven eight nine ten eleve"; static const char *pc55ByteString = "One two three four five six seven eight nine ten eleve";
/* Remember the required stack size so tasks can be created at run time (after
initialisation time. */
static configSTACK_DEPTH_TYPE xBlockingStackSize = 0;
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
void vStartMessageBufferTasks( void ) void vStartMessageBufferTasks( configSTACK_DEPTH_TYPE xStackSize )
{ {
MessageBufferHandle_t xMessageBuffer; MessageBufferHandle_t xMessageBuffer;
xBlockingStackSize = ( xStackSize + ( xStackSize >> 1U ) );
/* The echo servers sets up the message buffers before creating the echo /* The echo servers sets up the message buffers before creating the echo
client tasks. One set of tasks has the server as the higher priority, and client tasks. One set of tasks has the server as the higher priority, and
the other has the client as the higher priority. */ the other has the client as the higher priority. */
xTaskCreate( prvEchoServer, "1EchoServer", mbSTACK_SIZE, NULL, mbHIGHER_PRIORITY, NULL ); xTaskCreate( prvEchoServer, "1EchoServer", xBlockingStackSize, NULL, mbHIGHER_PRIORITY, NULL );
xTaskCreate( prvEchoServer, "2EchoServer", mbSTACK_SIZE, NULL, mbLOWER_PRIORITY, NULL ); xTaskCreate( prvEchoServer, "2EchoServer", xBlockingStackSize, NULL, mbLOWER_PRIORITY, NULL );
/* The non blocking tasks run continuously and will interleave with each /* The non blocking tasks run continuously and will interleave with each
other, so must be created at the lowest priority. The message buffer they other, so must be created at the lowest priority. The message buffer they
use is created and passed in using the task's parameter. */ use is created and passed in using the task's parameter. */
xMessageBuffer = xMessageBufferCreate( mbMESSAGE_BUFFER_LENGTH_BYTES ); xMessageBuffer = xMessageBufferCreate( mbMESSAGE_BUFFER_LENGTH_BYTES );
xTaskCreate( prvNonBlockingReceiverTask, "NonBlkRx", configMINIMAL_STACK_SIZE, ( void * ) xMessageBuffer, tskIDLE_PRIORITY, NULL ); xTaskCreate( prvNonBlockingReceiverTask, "NonBlkRx", xStackSize, ( void * ) xMessageBuffer, tskIDLE_PRIORITY, NULL );
xTaskCreate( prvNonBlockingSenderTask, "NonBlkTx", configMINIMAL_STACK_SIZE, ( void * ) xMessageBuffer, tskIDLE_PRIORITY, NULL ); xTaskCreate( prvNonBlockingSenderTask, "NonBlkTx", xStackSize, ( void * ) xMessageBuffer, tskIDLE_PRIORITY, NULL );
#if( configSUPPORT_STATIC_ALLOCATION == 1 ) #if( configSUPPORT_STATIC_ALLOCATION == 1 )
{ {
/* The sender tasks set up the message buffers before creating the /* The sender tasks set up the message buffers before creating the
receiver tasks. Priorities must be 0 and 1 as the priority is used to receiver tasks. Priorities must be 0 and 1 as the priority is used to
index into the xStaticMessageBuffers and ucBufferStorage arrays. */ index into the xStaticMessageBuffers and ucBufferStorage arrays. */
xTaskCreate( prvSenderTask, "1Sender", mbSTACK_SIZE, NULL, mbHIGHER_PRIORITY, NULL ); xTaskCreate( prvSenderTask, "1Sender", xBlockingStackSize, NULL, mbHIGHER_PRIORITY, NULL );
xTaskCreate( prvSenderTask, "2Sender", mbSTACK_SIZE, NULL, mbLOWER_PRIORITY, NULL ); xTaskCreate( prvSenderTask, "2Sender", xBlockingStackSize, NULL, mbLOWER_PRIORITY, NULL );
} }
#endif /* configSUPPORT_STATIC_ALLOCATION */ #endif /* configSUPPORT_STATIC_ALLOCATION */
} }
@ -567,11 +569,11 @@ char cRxString[ 12 ];
/* Here prvSingleTaskTests() performs various tests on a message buffer /* Here prvSingleTaskTests() performs various tests on a message buffer
that was created statically. */ that was created statically. */
prvSingleTaskTests( xMessageBuffer ); prvSingleTaskTests( xMessageBuffer );
xTaskCreate( prvReceiverTask, "MsgReceiver", mbSTACK_SIZE, ( void * ) xMessageBuffer, mbHIGHER_PRIORITY, NULL ); xTaskCreate( prvReceiverTask, "MsgReceiver", xBlockingStackSize, ( void * ) xMessageBuffer, mbHIGHER_PRIORITY, NULL );
} }
else else
{ {
xTaskCreate( prvReceiverTask, "MsgReceiver", mbSTACK_SIZE, ( void * ) xMessageBuffer, mbLOWER_PRIORITY, NULL ); xTaskCreate( prvReceiverTask, "MsgReceiver", xBlockingStackSize, ( void * ) xMessageBuffer, mbLOWER_PRIORITY, NULL );
} }
for( ;; ) for( ;; )

View file

@ -652,7 +652,7 @@ BaseType_t xNonBlockingReceiveError = pdFALSE;
static void prvReceiverTask( void *pvParameters ) static void prvReceiverTask( void *pvParameters )
{ {
StreamBufferHandle_t * const pxStreamBuffer = ( StreamBufferHandle_t * ) pvParameters; StreamBufferHandle_t const pxStreamBuffer = ( StreamBufferHandle_t ) pvParameters;
char cRxString[ 12 ]; /* Large enough to hold a 32-bit number in ASCII. */ char cRxString[ 12 ]; /* Large enough to hold a 32-bit number in ASCII. */
const TickType_t xTicksToWait = pdMS_TO_TICKS( 5UL ); const TickType_t xTicksToWait = pdMS_TO_TICKS( 5UL );
const size_t xStringLength = strlen( pc55ByteString ); const size_t xStringLength = strlen( pc55ByteString );

View file

@ -28,7 +28,7 @@
#ifndef MESSAGE_BUFFER_AMP_H #ifndef MESSAGE_BUFFER_AMP_H
#define MESSAGE_BUFFER_AMP_H #define MESSAGE_BUFFER_AMP_H
void vStartMessageBufferAMPTasks( void ); void vStartMessageBufferAMPTasks( configSTACK_DEPTH_TYPE xStackSize );
BaseType_t xAreMessageBufferAMPTasksStillRunning( void ); BaseType_t xAreMessageBufferAMPTasksStillRunning( void );
void vGenerateCoreBInterrupt( void * xUpdatedMessageBuffer ); void vGenerateCoreBInterrupt( void * xUpdatedMessageBuffer );

View file

@ -28,7 +28,7 @@
#ifndef MESSAGE_BUFFER_TEST_H #ifndef MESSAGE_BUFFER_TEST_H
#define MESSAGE_BUFFER_TEST_H #define MESSAGE_BUFFER_TEST_H
void vStartMessageBufferTasks( void ); void vStartMessageBufferTasks( configSTACK_DEPTH_TYPE xStackSize );
BaseType_t xAreMessageBufferTasksStillRunning( void ); BaseType_t xAreMessageBufferTasksStillRunning( void );
#endif /* MESSAGE_BUFFER_TEST_H */ #endif /* MESSAGE_BUFFER_TEST_H */

View file

@ -204,10 +204,10 @@ int main_full( void )
xTaskCreate( prvPermanentlyBlockingSemaphoreTask, "BlockSem", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL ); xTaskCreate( prvPermanentlyBlockingSemaphoreTask, "BlockSem", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL );
xTaskCreate( prvPermanentlyBlockingNotificationTask, "BlockNoti", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL ); xTaskCreate( prvPermanentlyBlockingNotificationTask, "BlockNoti", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL );
vStartMessageBufferTasks(); vStartMessageBufferTasks( configMINIMAL_STACK_SIZE );
vStartStreamBufferTasks(); vStartStreamBufferTasks();
vStartStreamBufferInterruptDemo(); vStartStreamBufferInterruptDemo();
vStartMessageBufferAMPTasks(); vStartMessageBufferAMPTasks( configMINIMAL_STACK_SIZE );
#if( configSUPPORT_STATIC_ALLOCATION == 1 ) #if( configSUPPORT_STATIC_ALLOCATION == 1 )
{ {

View file

@ -211,10 +211,10 @@ int main_full( void )
xTaskCreate( prvPermanentlyBlockingSemaphoreTask, "BlockSem", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL ); xTaskCreate( prvPermanentlyBlockingSemaphoreTask, "BlockSem", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL );
xTaskCreate( prvPermanentlyBlockingNotificationTask, "BlockNoti", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL ); xTaskCreate( prvPermanentlyBlockingNotificationTask, "BlockNoti", configMINIMAL_STACK_SIZE, NULL, tskIDLE_PRIORITY, NULL );
vStartMessageBufferTasks(); vStartMessageBufferTasks( configMINIMAL_STACK_SIZE );
vStartStreamBufferTasks(); vStartStreamBufferTasks();
vStartStreamBufferInterruptDemo(); vStartStreamBufferInterruptDemo();
vStartMessageBufferAMPTasks(); vStartMessageBufferAMPTasks( configMINIMAL_STACK_SIZE );
#if( configSUPPORT_STATIC_ALLOCATION == 1 ) #if( configSUPPORT_STATIC_ALLOCATION == 1 )
{ {

View file

@ -37,6 +37,7 @@
extern "C" { extern "C" {
#endif #endif
#include "task.h"
/** /**
* Type by which queues are referenced. For example, a call to xQueueCreate() * Type by which queues are referenced. For example, a call to xQueueCreate()