diff options
Diffstat (limited to '')
-rw-r--r-- | c/src/tests/sptests/sp13/Makefile.am | 6 | ||||
-rw-r--r-- | c/src/tests/sptests/sp13/fillbuff.c | 16 | ||||
-rw-r--r-- | c/src/tests/sptests/sp13/init.c | 8 | ||||
-rw-r--r-- | c/src/tests/sptests/sp13/putbuff.c | 12 | ||||
-rw-r--r-- | c/src/tests/sptests/sp13/system.h | 7 | ||||
-rw-r--r-- | c/src/tests/sptests/sp13/task1.c | 32 | ||||
-rw-r--r-- | c/src/tests/sptests/sp13/task2.c | 16 |
7 files changed, 65 insertions, 32 deletions
diff --git a/c/src/tests/sptests/sp13/Makefile.am b/c/src/tests/sptests/sp13/Makefile.am index e5cd4b406b..d6c57a86ff 100644 --- a/c/src/tests/sptests/sp13/Makefile.am +++ b/c/src/tests/sptests/sp13/Makefile.am @@ -1,6 +1,6 @@ -## +## ## $Id$ -## +## AUTOMAKE_OPTIONS = foreign 1.4 @@ -12,7 +12,7 @@ C_FILES = init.c fillbuff.c putbuff.c task1.c task2.c task3.c C_O_FILES = $(C_FILES:%.c=${ARCH}/%.o) H_FILES = system.h -noinst_HEADERS =$(H_FILES) +noinst_HEADERS = $(H_FILES) DOCTYPES = scn doc DOCS = $(DOCTYPES:%=$(TEST).%) diff --git a/c/src/tests/sptests/sp13/fillbuff.c b/c/src/tests/sptests/sp13/fillbuff.c index 728606e5bb..6930913d3d 100644 --- a/c/src/tests/sptests/sp13/fillbuff.c +++ b/c/src/tests/sptests/sp13/fillbuff.c @@ -21,10 +21,26 @@ #include "system.h" +#define MESSAGE_SIZE (sizeof(long) * 4) + void Fill_buffer( char *source, long *buffer ) { + char *p; + int i; +/* memcpy( buffer, source, 16 ); +*/ + p = source; + for ( i=0 ; i<MESSAGE_SIZE ; i++ ) { + buffer[i] = *p++; + buffer[i] <<= 8; + buffer[i] |= *p++; + buffer[i] <<= 8; + buffer[i] |= *p++; + buffer[i] <<= 8; + buffer[i] |= *p++; + } } diff --git a/c/src/tests/sptests/sp13/init.c b/c/src/tests/sptests/sp13/init.c index 2614d2a5d4..5d89586c86 100644 --- a/c/src/tests/sptests/sp13/init.c +++ b/c/src/tests/sptests/sp13/init.c @@ -24,6 +24,8 @@ #define TEST_INIT #include "system.h" +#define MESSAGE_SIZE (sizeof(long) * 4) + rtems_task Init( rtems_task_argument argument ) @@ -82,7 +84,7 @@ rtems_task Init( status = rtems_message_queue_create( Queue_name[ 1 ], 100, - 16, + MESSAGE_SIZE, RTEMS_DEFAULT_ATTRIBUTES, &Queue_id[ 1 ] ); @@ -91,7 +93,7 @@ rtems_task Init( status = rtems_message_queue_create( Queue_name[ 2 ], 10, - 16, + MESSAGE_SIZE, RTEMS_PRIORITY, &Queue_id[ 2 ] ); @@ -100,7 +102,7 @@ rtems_task Init( status = rtems_message_queue_create( Queue_name[ 3 ], 100, - 16, + MESSAGE_SIZE, RTEMS_DEFAULT_ATTRIBUTES, &Queue_id[ 3 ] ); diff --git a/c/src/tests/sptests/sp13/putbuff.c b/c/src/tests/sptests/sp13/putbuff.c index 26bf149049..70b23ff72f 100644 --- a/c/src/tests/sptests/sp13/putbuff.c +++ b/c/src/tests/sptests/sp13/putbuff.c @@ -20,9 +20,21 @@ #include "system.h" +#define MESSAGE_SIZE (4) + void Put_buffer( long *buffer ) { + int i; +/* printf( "%16s", (char *)buffer ); +*/ + for ( i=0 ; i< MESSAGE_SIZE ; i++ ) { + printf( "%c%c%c%c", (char) (buffer[i] >> 24), + (char) (buffer[i] >> 16 & 0xff), + (char) (buffer[i] >> 8 & 0xff), + (char) (buffer[i] >> 0 & 0xff) ); + } + } diff --git a/c/src/tests/sptests/sp13/system.h b/c/src/tests/sptests/sp13/system.h index 49b6d6feaf..fea6a652a6 100644 --- a/c/src/tests/sptests/sp13/system.h +++ b/c/src/tests/sptests/sp13/system.h @@ -44,11 +44,10 @@ rtems_task Task_3( /* configuration information */ -#define CONFIGURE_SPTEST - -#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER +#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER +#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER +#define CONFIGURE_MAXIMUM_TASKS 4 #define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 10 #define CONFIGURE_TICKS_PER_TIMESLICE 100 diff --git a/c/src/tests/sptests/sp13/task1.c b/c/src/tests/sptests/sp13/task1.c index 859c3d46ab..015259b0f0 100644 --- a/c/src/tests/sptests/sp13/task1.c +++ b/c/src/tests/sptests/sp13/task1.c @@ -25,6 +25,8 @@ char big_receive_buffer[2048]; long buffer[ 4 ]; +#define MESSAGE_SIZE (sizeof(long) * 4) + void dope_buffer(unsigned char *buff, int buff_size, unsigned32 v) @@ -64,12 +66,12 @@ rtems_task Task_1( Fill_buffer( "BUFFER 1 TO Q 1", buffer ); puts( "TA1 - rtems_message_queue_send - BUFFER 1 TO Q 1" ); - status = rtems_message_queue_send( Queue_id[ 1 ], buffer, 16 ); + status = rtems_message_queue_send( Queue_id[ 1 ], buffer, MESSAGE_SIZE ); directive_failed( status, "rtems_message_queue_send" ); Fill_buffer( "BUFFER 2 TO Q 1", buffer ); puts( "TA1 - rtems_message_queue_send - BUFFER 2 TO Q 1" ); - status = rtems_message_queue_send( Queue_id[ 1 ], buffer, 16 ); + status = rtems_message_queue_send( Queue_id[ 1 ], buffer, MESSAGE_SIZE ); directive_failed( status, "rtems_message_queue_send" ); puts( "TA1 - rtems_task_wake_after - sleep 5 seconds" ); @@ -78,7 +80,7 @@ rtems_task Task_1( Fill_buffer( "BUFFER 3 TO Q 1", buffer ); puts( "TA1 - rtems_message_queue_send - BUFFER 3 TO Q 1" ); - status = rtems_message_queue_send( Queue_id[ 1 ], buffer, 16 ); + status = rtems_message_queue_send( Queue_id[ 1 ], buffer, MESSAGE_SIZE ); directive_failed( status, "rtems_message_queue_send" ); puts( "TA1 - rtems_task_wake_after - sleep 5 seconds" ); @@ -89,7 +91,7 @@ rtems_test_pause(); Fill_buffer( "BUFFER 1 TO Q 2", buffer ); puts( "TA1 - rtems_message_queue_send - BUFFER 1 TO Q 2" ); - status = rtems_message_queue_send( Queue_id[ 2 ], buffer, 16 ); + status = rtems_message_queue_send( Queue_id[ 2 ], buffer, MESSAGE_SIZE ); directive_failed( status, "rtems_message_queue_send" ); puts_nocr( "TA1 - rtems_message_queue_receive - receive from queue 1 - " ); @@ -112,7 +114,7 @@ rtems_test_pause(); Fill_buffer( "BUFFER 1 TO Q 3", buffer ); puts( "TA1 - rtems_message_queue_send - BUFFER 1 TO Q 3" ); - status = rtems_message_queue_send( Queue_id[ 3 ], buffer, 16 ); + status = rtems_message_queue_send( Queue_id[ 3 ], buffer, MESSAGE_SIZE ); directive_failed( status, "rtems_message_queue_send" ); puts( "TA1 - rtems_task_wake_after - sleep 5 seconds" ); @@ -123,22 +125,22 @@ rtems_test_pause(); Fill_buffer( "BUFFER 2 TO Q 3", buffer ); puts( "TA1 - rtems_message_queue_send - BUFFER 2 TO Q 3" ); - status = rtems_message_queue_send( Queue_id[ 3 ], buffer, 16 ); + status = rtems_message_queue_send( Queue_id[ 3 ], buffer, MESSAGE_SIZE ); directive_failed( status, "rtems_message_queue_send" ); Fill_buffer( "BUFFER 3 TO Q 3", buffer ); puts( "TA1 - rtems_message_queue_send - BUFFER 3 TO Q 3" ); - status = rtems_message_queue_send( Queue_id[ 3 ], buffer, 16 ); + status = rtems_message_queue_send( Queue_id[ 3 ], buffer, MESSAGE_SIZE ); directive_failed( status, "rtems_message_queue_send" ); Fill_buffer( "BUFFER 4 TO Q 3", buffer ); puts( "TA1 - rtems_message_queue_send - BUFFER 4 TO Q 3" ); - status = rtems_message_queue_send( Queue_id[ 3 ], buffer, 16 ); + status = rtems_message_queue_send( Queue_id[ 3 ], buffer, MESSAGE_SIZE ); directive_failed( status, "rtems_message_queue_send" ); Fill_buffer( "BUFFER 5 TO Q 3", buffer ); puts( "TA1 - rtems_message_queue_urgent - BUFFER 5 TO Q 3" ); - status = rtems_message_queue_urgent( Queue_id[ 3 ], buffer, 16 ); + status = rtems_message_queue_urgent( Queue_id[ 3 ], buffer, MESSAGE_SIZE ); directive_failed( status, "rtems_message_queue_urgent" ); for ( index = 1 ; index <= 4 ; index++ ) { @@ -161,7 +163,7 @@ rtems_test_pause(); Fill_buffer( "BUFFER 3 TO Q 2", buffer ); puts( "TA1 - rtems_message_queue_urgent - BUFFER 3 TO Q 2" ); - status = rtems_message_queue_urgent( Queue_id[ 2 ], buffer, 16 ); + status = rtems_message_queue_urgent( Queue_id[ 2 ], buffer, MESSAGE_SIZE ); directive_failed( status, "rtems_message_queue_urgent" ); puts( @@ -188,7 +190,7 @@ rtems_test_pause(); Fill_buffer( "BUFFER 3 TO Q 2", buffer ); puts( "TA1 - rtems_message_queue_urgent - BUFFER 3 TO Q 2" ); - status = rtems_message_queue_urgent( Queue_id[ 2 ], buffer, 16 ); + status = rtems_message_queue_urgent( Queue_id[ 2 ], buffer, MESSAGE_SIZE ); directive_failed( status, "rtems_message_queue_urgent" ); puts( "TA1 - rtems_message_queue_delete - delete queue 2" ); @@ -205,12 +207,12 @@ rtems_test_pause(); Fill_buffer( "BUFFER 1 TO Q 3", buffer ); puts( "TA1 - rtems_message_queue_send - BUFFER 1 TO Q 3" ); - status = rtems_message_queue_send( Queue_id[ 3 ], buffer, 16 ); + status = rtems_message_queue_send( Queue_id[ 3 ], buffer, MESSAGE_SIZE ); directive_failed( status, "rtems_message_queue_send" ); Fill_buffer( "BUFFER 2 TO Q 3", buffer ); puts( "TA1 - rtems_message_queue_send - BUFFER 2 TO Q 3" ); - status = rtems_message_queue_send( Queue_id[ 3 ], buffer, 16 ); + status = rtems_message_queue_send( Queue_id[ 3 ], buffer, MESSAGE_SIZE ); directive_failed( status, "rtems_message_queue_send" ); /* this broadcast should have no effect on the queue */ @@ -231,7 +233,7 @@ rtems_test_pause(); Fill_buffer( "BUFFER 3 TO Q 3", buffer ); puts( "TA1 - rtems_message_queue_send - BUFFER 3 TO Q 3" ); - status = rtems_message_queue_send( Queue_id[ 3 ], buffer, 16 ); + status = rtems_message_queue_send( Queue_id[ 3 ], buffer, MESSAGE_SIZE ); directive_failed( status, "rtems_message_queue_send" ); puts( "TA1 - rtems_message_queue_flush - Q 3" ); @@ -240,7 +242,7 @@ rtems_test_pause(); puts( "TA1 - rtems_message_queue_send until all message buffers consumed" ); while ( FOREVER ) { - status = rtems_message_queue_send( Queue_id[ 3 ], buffer, 16 ); + status = rtems_message_queue_send( Queue_id[ 3 ], buffer, MESSAGE_SIZE ); if ( status == RTEMS_TOO_MANY ) break; directive_failed( status, "rtems_message_queue_send loop" ); } diff --git a/c/src/tests/sptests/sp13/task2.c b/c/src/tests/sptests/sp13/task2.c index c3e117fae3..258a036f8c 100644 --- a/c/src/tests/sptests/sp13/task2.c +++ b/c/src/tests/sptests/sp13/task2.c @@ -20,6 +20,8 @@ #include "system.h" +#define MESSAGE_SIZE (sizeof(long) * 4) + rtems_task Task_2( rtems_task_argument argument ) @@ -34,7 +36,7 @@ rtems_task Task_2( ); status = rtems_message_queue_receive( Queue_id[ 1 ], - (long (*)[4])buffer, + buffer, &size, RTEMS_NO_WAIT, RTEMS_NO_TIMEOUT @@ -50,7 +52,7 @@ rtems_task Task_2( ); status = rtems_message_queue_receive( Queue_id[ 1 ], - (long (*)[4])buffer, + buffer, &size, RTEMS_DEFAULT_OPTIONS, RTEMS_NO_TIMEOUT @@ -66,7 +68,7 @@ rtems_task Task_2( ); status = rtems_message_queue_receive( Queue_id[ 1 ], - (long (*)[4])buffer, + buffer, &size, RTEMS_DEFAULT_OPTIONS, RTEMS_NO_TIMEOUT @@ -86,7 +88,7 @@ rtems_task Task_2( ); status = rtems_message_queue_receive( Queue_id[ 2 ], - (long (*)[4])buffer, + buffer, &size, RTEMS_DEFAULT_OPTIONS, RTEMS_NO_TIMEOUT @@ -100,7 +102,7 @@ rtems_task Task_2( puts( "TA2 - rtems_message_queue_send - BUFFER 2 TO Q 2" ); directive_failed( status, "rtems_message_queue_send" ); - status = rtems_message_queue_send( Queue_id[ 2 ], (long (*)[4])buffer, 16 ); + status = rtems_message_queue_send( Queue_id[ 2 ], buffer, MESSAGE_SIZE ); directive_failed( status, "rtems_message_queue_send" ); puts( @@ -109,7 +111,7 @@ rtems_task Task_2( ); status = rtems_message_queue_receive( Queue_id[ 1 ], - (long (*)[4])buffer, + buffer, &size, RTEMS_DEFAULT_OPTIONS, 10 * TICKS_PER_SECOND @@ -125,7 +127,7 @@ rtems_task Task_2( ); status = rtems_message_queue_receive( Queue_id[ 3 ], - (long (*)[4])buffer, + buffer, &size, RTEMS_DEFAULT_OPTIONS, RTEMS_NO_TIMEOUT |