mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-10-14 00:37:44 -04:00
Use new QEMU test project to improve stream/message buffer tests (#168)
* Add Eclipse/GCC project that targets the LM3S8962 QEMU model. * Get the Cortex-M QEMU project working. * Continue working on making stream buffer demo more robust and QEMU project. * Rename directory CORTEX_LM3S8986_QEMU to CORTEX_LM3S6965_QEMU. Work on making the Stream Buffer tests more robust. Check in before adding in the trace recorder. * Rename CORTEX_LM3S6969_QEMU to CORTEX_LM3S6969_GCC_QEMU. * Make the StreamBufferDemo.c common demo file (test file) more robust to other test tasks running at an equally high priority. * Work in progress checkin only - comments in main.c are incorrect. * Correct comments at the top of FreeRTOS/Demo/CORTEX_LM3S6965_GCC_QEMU/main.c Make the message buffer tests more robust in the case the a message buffer becomes full when prvSenderTask() has a higher priority than the reader task. * Disable trace recorder in the LM3S6965 QEMU demo. * I'm dropping FreeRTOS-Kernel reference update, since this seems to break the CMBC CI. Co-authored-by: Yuhui Zheng <10982575+yuhui-zheng@users.noreply.github.com>
This commit is contained in:
parent
157a7fc39f
commit
0e0edd96e8
23 changed files with 4139 additions and 28 deletions
|
@ -129,7 +129,11 @@ void vStartMessageBufferTasks( configSTACK_DEPTH_TYPE xStackSize )
|
|||
{
|
||||
MessageBufferHandle_t xMessageBuffer;
|
||||
|
||||
#ifndef configMESSAGE_BUFFER_BLOCK_TASK_STACK_SIZE
|
||||
xBlockingStackSize = ( xStackSize + ( xStackSize >> 1U ) );
|
||||
#else
|
||||
xBlockingStackSize = configMESSAGE_BUFFER_BLOCK_TASK_STACK_SIZE;
|
||||
#endif
|
||||
|
||||
/* 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
|
||||
|
@ -543,6 +547,7 @@ char cRxString[ 12 ];
|
|||
char cTxString[ 12 ]; /* Large enough to hold a 32 number in ASCII. */
|
||||
const TickType_t xTicksToWait = mbRX_TX_BLOCK_TIME, xShortDelay = pdMS_TO_TICKS( 50 );
|
||||
StaticMessageBuffer_t xStaticMessageBuffer;
|
||||
size_t xBytesSent;
|
||||
|
||||
|
||||
/* The task's priority is used as an index into the loop counters used to
|
||||
|
@ -583,7 +588,11 @@ char cRxString[ 12 ];
|
|||
then overflows. */
|
||||
memset( cTxString, 0x00, sizeof( cTxString ) );
|
||||
sprintf( cTxString, "%d", ( int ) iDataToSend );
|
||||
xMessageBufferSend( xMessageBuffer, ( void * ) cTxString, strlen( cTxString ), xTicksToWait );
|
||||
|
||||
do
|
||||
{
|
||||
xBytesSent = xMessageBufferSend( xMessageBuffer, ( void * ) cTxString, strlen( cTxString ), xTicksToWait );
|
||||
} while ( xBytesSent == 0 ); /* Buffer may become full when receiver is running at the idle priority. */
|
||||
|
||||
iDataToSend++;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue