OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /openrisc/trunk/rtos/rtems/c/src/tests/sptests/sp16
    from Rev 30 to Rev 173
    Reverse comparison

Rev 30 → Rev 173

/init.c
0,0 → 1,127
/* Init
*
* This routine is the initialization task for this test program.
* It is a user initialization task and has the responsibility for creating
* and starting the tasks that make up the test. If the time of day
* clock is required for the test, it should also be set to a known
* value by this function.
*
* Input parameters:
* argument - task argument
*
* Output parameters: NONE
*
* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.OARcorp.com/rtems/license.html.
*
* $Id: init.c,v 1.2 2001-09-27 12:02:33 chris Exp $
*/
 
#define TEST_INIT
#include "system.h"
 
rtems_task Init(
rtems_task_argument argument
)
{
rtems_status_code status;
 
puts( "\n\n*** TEST 16 ***" );
 
Task_name[ 1 ] = rtems_build_name( 'T', 'A', '1', ' ' );
Task_name[ 2 ] = rtems_build_name( 'T', 'A', '2', ' ' );
Task_name[ 3 ] = rtems_build_name( 'T', 'A', '3', ' ' );
Task_name[ 4 ] = rtems_build_name( 'T', 'A', '4', ' ' );
Task_name[ 5 ] = rtems_build_name( 'T', 'A', '5', ' ' );
 
status = rtems_task_create(
Task_name[ 1 ],
BASE_PRIORITY,
RTEMS_MINIMUM_STACK_SIZE * 2,
RTEMS_DEFAULT_MODES,
RTEMS_DEFAULT_ATTRIBUTES,
&Task_id[ 1 ]
);
directive_failed( status, "rtems_task_create of TA1" );
 
status = rtems_task_create(
Task_name[ 2 ],
BASE_PRIORITY,
RTEMS_MINIMUM_STACK_SIZE,
RTEMS_DEFAULT_MODES,
RTEMS_DEFAULT_ATTRIBUTES,
&Task_id[ 2 ]
);
directive_failed( status, "rtems_task_create of TA2" );
 
status = rtems_task_create(
Task_name[ 3 ],
BASE_PRIORITY,
RTEMS_MINIMUM_STACK_SIZE,
RTEMS_DEFAULT_MODES,
RTEMS_DEFAULT_ATTRIBUTES,
&Task_id[ 3 ]
);
directive_failed( status, "rtems_task_create of TA3" );
 
status = rtems_task_start( Task_id[ 1 ], Task_1, 0 );
directive_failed( status, "rtems_task_start of TA1" );
 
status = rtems_task_start( Task_id[ 2 ], Task_2, 0 );
directive_failed( status, "rtems_task_start of TA2" );
 
status = rtems_task_start( Task_id[ 3 ], Task_3, 0 );
directive_failed( status, "rtems_task_start of TA3" );
 
Region_name[ 1 ] = rtems_build_name( 'R', 'N', '1', ' ' );
Region_name[ 2 ] = rtems_build_name( 'R', 'N', '2', ' ' );
Region_name[ 3 ] = rtems_build_name( 'R', 'N', '3', ' ' );
Region_name[ 4 ] = rtems_build_name( 'R', 'N', '4', ' ' );
 
status = rtems_region_create(
Region_name[ 1 ],
Area_1,
4096,
128,
RTEMS_DEFAULT_ATTRIBUTES,
&Region_id[ 1 ]
);
directive_failed( status, "rtems_region_create of RN1" );
 
status = rtems_region_create(
Region_name[ 2 ],
Area_2,
4096,
128,
RTEMS_PRIORITY,
&Region_id[ 2 ]
);
directive_failed( status, "rtems_region_create of RN2" );
 
status = rtems_region_create(
Region_name[ 3 ],
Area_3,
4096,
128,
RTEMS_DEFAULT_ATTRIBUTES,
&Region_id[ 3 ]
);
directive_failed( status, "rtems_region_create of RN3" );
 
status = rtems_region_create(
Region_name[ 4 ],
Area_4,
4096,
128,
RTEMS_DEFAULT_ATTRIBUTES,
&Region_id[ 4 ]
);
directive_failed( status, "rtems_region_create of RN4" );
 
status = rtems_task_delete( RTEMS_SELF );
directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
}
/task1.c
0,0 → 1,281
/* Task_1
*
* This routine serves as a test task. It tests the region manager.
*
* Input parameters:
* argument - task argument
*
* Output parameters: NONE
*
* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.OARcorp.com/rtems/license.html.
*
* $Id: task1.c,v 1.2 2001-09-27 12:02:33 chris Exp $
*/
 
#include "system.h"
 
rtems_task Task_1(
rtems_task_argument argument
)
{
rtems_id rnid;
void *segment_address_1;
void *segment_address_2;
void *segment_address_3;
void *segment_address_4;
rtems_status_code status;
 
status = rtems_region_ident( Region_name[ 1 ], &rnid );
printf( "TA1 - rtems_region_ident - rnid => %08x\n", rnid );
directive_failed( status, "rtems_region_ident of RN1" );
 
puts(
"TA1 - rtems_region_get_segment - wait on 100 byte segment from region 2"
);
status = rtems_region_get_segment(
Region_id[ 2 ],
100,
RTEMS_DEFAULT_OPTIONS,
RTEMS_NO_TIMEOUT,
&segment_address_1
);
directive_failed( status, "rtems_region_get_segment" );
puts_nocr( "TA1 - got segment from region 2 - " );
Put_address_from_area_2( segment_address_1 );
new_line;
 
puts( "TA1 - rtems_region_get_segment - wait on 3K segment from region 3" );
status = rtems_region_get_segment(
Region_id[ 3 ],
3072,
RTEMS_DEFAULT_OPTIONS,
RTEMS_NO_TIMEOUT,
&segment_address_2
);
directive_failed( status, "rtems_region_get_segment" );
puts_nocr( "TA1 - got segment from region 3 - " );
Put_address_from_area_3( segment_address_2 );
new_line;
 
puts_nocr( "TA1 - rtems_region_get_segment - get 3080 byte segment " );
puts ( "from region 1 - NO_WAIT" );
status = rtems_region_get_segment(
Region_id[ 1 ],
3080,
RTEMS_NO_WAIT,
RTEMS_NO_TIMEOUT,
&segment_address_3
);
directive_failed( status, "rtems_region_get_segment" );
puts_nocr( "TA1 - got segment from region 1 - " );
Put_address_from_area_1( segment_address_3 );
new_line;
 
puts( "TA1 - rtems_task_wake_after - yield processor" );
status = rtems_task_wake_after( RTEMS_YIELD_PROCESSOR );
directive_failed( status, "rtems_task_wake_after" );
 
rtems_test_pause();
 
puts_nocr(
"TA1 - rtems_region_return_segment - return segment to region 1 - "
);
Put_address_from_area_1( segment_address_3 );
status = rtems_region_return_segment( Region_id[ 1 ], segment_address_3 );
directive_failed( status, "rtems_region_return_segment" );
new_line;
 
puts(
"TA1 - rtems_region_get_segment - wait 10 seconds for 3K "
"segment from region 1"
);
status = rtems_region_get_segment(
Region_id[ 1 ],
3072,
RTEMS_DEFAULT_OPTIONS,
10 * TICKS_PER_SECOND,
&segment_address_4
);
directive_failed( status, "rtems_region_get_segment" );
puts_nocr( "TA1 - got segment from region 1 - " );
Put_address_from_area_1( segment_address_4 );
new_line;
 
puts_nocr(
"TA1 - rtems_region_return_segment - return segment to region 2 - "
);
Put_address_from_area_2( segment_address_1 );
new_line;
status = rtems_region_return_segment( Region_id[ 2 ], segment_address_1 );
directive_failed( status, "rtems_region_return_segment" );
 
puts( "TA1 - rtems_task_wake_after - yield processor" );
status = rtems_task_wake_after( RTEMS_YIELD_PROCESSOR );
directive_failed( status, "rtems_task_wake_after" );
 
puts( "TA1 - rtems_task_delete - delete TA3" );
status = rtems_task_delete( Task_id[ 3 ] );
directive_failed( status, "rtems_task_delete of TA3" );
 
rtems_test_pause();
 
status = rtems_task_create(
Task_name[ 4 ],
BASE_PRIORITY,
RTEMS_MINIMUM_STACK_SIZE,
RTEMS_DEFAULT_MODES,
RTEMS_DEFAULT_ATTRIBUTES,
&Task_id[ 4 ]
);
directive_failed( status, "rtems_task_create of TA4" );
 
status = rtems_task_create(
Task_name[ 5 ],
BASE_PRIORITY,
RTEMS_MINIMUM_STACK_SIZE,
RTEMS_DEFAULT_MODES,
RTEMS_DEFAULT_ATTRIBUTES,
&Task_id[ 5 ]
);
directive_failed( status, "rtems_task_create of TA5" );
 
status = rtems_task_start( Task_id[ 4 ], Task_4, 0 );
directive_failed( status, "rtems_task_start of TA4" );
 
status = rtems_task_start( Task_id[ 5 ], Task5, 0 );
directive_failed( status, "rtems_task_start of TA5" );
 
puts( "TA1 - rtems_task_wake_after - yield processor" );
status = rtems_task_wake_after( 1 * TICKS_PER_SECOND );
directive_failed( status, "rtems_task_wake_after" );
 
puts_nocr(
"TA1 - rtems_region_return_segment - return segment to region 1 - "
);
Put_address_from_area_1( segment_address_4 );
status = rtems_region_return_segment( Region_id[ 1 ], segment_address_4 );
directive_failed( status, "rtems_region_return_segment" );
new_line;
 
puts( "TA1 - rtems_task_wake_after - yield processor" );
status = rtems_task_wake_after( 1 * TICKS_PER_SECOND );
directive_failed( status, "rtems_task_wake_after" );
 
puts_nocr( "TA1 - rtems_region_get_segment - wait 10 seconds for 3K " );
puts ( "segment from region 1");
status = rtems_region_get_segment(
Region_id[ 1 ],
3072,
RTEMS_DEFAULT_OPTIONS,
10 * TICKS_PER_SECOND,
&segment_address_4
);
directive_failed( status, "rtems_region_get_segment" );
puts_nocr( "TA1 - got segment from region 1 - " );
Put_address_from_area_1( segment_address_4 );
new_line;
 
puts( "TA1 - rtems_task_wake_after - yield processor" );
status = rtems_task_wake_after( 1 * TICKS_PER_SECOND );
directive_failed( status, "rtems_task_wake_after" );
 
puts( "TA1 - rtems_task_delete - delete TA4" );
status = rtems_task_delete( Task_id[ 4 ] );
directive_failed( status, "rtems_task_delete of TA4" );
 
puts_nocr(
"TA1 - rtems_region_return_segment - return segment to region 1 - "
);
Put_address_from_area_1( segment_address_4 );
status = rtems_region_return_segment( Region_id[ 1 ], segment_address_4 );
directive_failed( status, "rtems_region_return_segment" );
new_line;
 
puts( "TA1 - rtems_task_wake_after - yield processor" );
status = rtems_task_wake_after( RTEMS_YIELD_PROCESSOR );
 
puts( "TA1 - rtems_region_delete - delete region 1" );
status = rtems_region_delete( Region_id[ 1 ] );
directive_failed( status, "rtems_region_delete" );
 
puts( "TA1 - rtems_region_get_segment - get 3K segment from region 4" );
status = rtems_region_get_segment(
Region_id[ 4 ],
3072,
RTEMS_DEFAULT_OPTIONS,
RTEMS_NO_TIMEOUT,
&segment_address_1
);
directive_failed( status, "rtems_region_get_segment" );
puts_nocr( "TA1 - got segment from region 4 - " );
Put_address_from_area_4( segment_address_1 );
new_line;
 
puts(
"TA1 - rtems_region_get_segment - attempt to get 3K segment from region 4"
);
status = rtems_region_get_segment(
Region_id[ 4 ],
3072,
RTEMS_NO_WAIT,
RTEMS_NO_TIMEOUT,
&segment_address_2
);
fatal_directive_status(
status,
RTEMS_UNSATISFIED,
"rtems_task_get_segment with no memory left"
);
puts( "TA1 - rtems_task_get_note - RTEMS_UNSATISFIED" );
 
puts( "TA1 - rtems_region_extend - extend region 4 by 4K" );
status = rtems_region_extend(
Region_id[ 4 ],
&Area_4[4096],
4096
);
directive_failed( status, "rtems_region_extend" );
 
puts(
"TA1 - rtems_region_get_segment - attempt to get 3K segment from region 4"
);
status = rtems_region_get_segment(
Region_id[ 4 ],
3072,
RTEMS_NO_WAIT,
RTEMS_NO_TIMEOUT,
&segment_address_3
);
directive_failed( status, "rtems_region_get_segment" );
puts_nocr( "TA1 - got 3K segment from region 4 - " );
Put_address_from_area_4( segment_address_3 );
new_line;
 
puts_nocr(
"TA1 - rtems_region_return_segment - return segment to region 4 - "
);
Put_address_from_area_4( segment_address_1 );
status = rtems_region_return_segment( Region_id[ 4 ], segment_address_1 );
directive_failed( status, "rtems_region_return_segment" );
new_line;
 
puts_nocr(
"TA1 - rtems_region_return_segment - return segment to region 4 - "
);
Put_address_from_area_4( segment_address_3 );
status = rtems_region_return_segment( Region_id[ 4 ], segment_address_3 );
directive_failed( status, "rtems_region_return_segment" );
new_line;
 
puts( "TA1 - rtems_region_delete - delete region 4" );
status = rtems_region_delete( Region_id[ 4 ] );
directive_failed( status, "rtems_region_delete" );
 
puts( "*** END OF TEST 16 ***" );
exit( 0 );
}
/task2.c
0,0 → 1,85
/* Task_2
*
* This routine serves as a test task. It competes with the other tasks
* for region resources.
*
* Input parameters:
* argument - task argument
*
* Output parameters: NONE
*
* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.OARcorp.com/rtems/license.html.
*
* $Id: task2.c,v 1.2 2001-09-27 12:02:33 chris Exp $
*/
 
#include "system.h"
 
rtems_task Task_2(
rtems_task_argument argument
)
{
rtems_status_code status;
rtems_task_priority previous_priority;
void *segment_address_1;
void *segment_address_2;
 
puts( "TA2 - rtems_region_get_segment - wait on 2K segment from region 1" );
status = rtems_region_get_segment(
Region_id[ 1 ],
2048,
RTEMS_DEFAULT_OPTIONS,
RTEMS_NO_TIMEOUT,
&segment_address_1
);
directive_failed( status, "rtems_region_get_segment" );
puts_nocr( "TA2 - got segment from region 1 - " );
Put_address_from_area_1( segment_address_1 );
new_line;
 
puts_nocr(
"TA2 - rtems_region_return_segment - return segment to region 1 - "
);
Put_address_from_area_1( segment_address_1 );
status = rtems_region_return_segment( Region_id[ 1 ], segment_address_1 );
directive_failed( status, "rtems_region_return_segment" );
new_line;
 
puts( "TA2 - rtems_task_set_priority - make self highest priority task" );
status = rtems_task_set_priority(
RTEMS_SELF,
BASE_PRIORITY-1,
&previous_priority
);
directive_failed( status, "rtems_task_set_priority" );
 
puts("TA2 - rtems_region_get_segment - wait on 3968 byte segment");
status = rtems_region_get_segment(
Region_id[ 2 ],
3968,
RTEMS_DEFAULT_OPTIONS,
RTEMS_NO_TIMEOUT,
&segment_address_2
);
directive_failed( status, "rtems_region_get_segment" );
puts_nocr( "TA2 - got segment from region 2 - ");
Put_address_from_area_2( segment_address_2 );
new_line;
 
puts_nocr(
"TA2 - rtems_region_return_segment - return segment to region 2 - "
);
Put_address_from_area_2( segment_address_2 );
status = rtems_region_return_segment( Region_id[ 2 ], segment_address_2 );
directive_failed( status, "rtems_region_return_segment" );
new_line;
 
puts( "TA2 - rtems_task_delete - delete self" );
status = rtems_task_delete( RTEMS_SELF );
directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
}
/task3.c
0,0 → 1,56
/* Task_3
*
* This routine serves as a test task. It competes with the other tasks
* for region resources.
*
* Input parameters:
* argument - task argument
*
* Output parameters: NONE
*
* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.OARcorp.com/rtems/license.html.
*
* $Id: task3.c,v 1.2 2001-09-27 12:02:33 chris Exp $
*/
 
#include "system.h"
 
rtems_task Task_3(
rtems_task_argument argument
)
{
rtems_status_code status;
void *segment_address_1;
void *segment_address_2;
 
puts(
"TA3 - rtems_region_get_segment - wait on 3968 byte segment from region 2"
);
status = rtems_region_get_segment(
Region_id[ 2 ],
3968,
RTEMS_DEFAULT_OPTIONS,
RTEMS_NO_TIMEOUT,
&segment_address_1
);
directive_failed( status, "rtems_region_get_segment" );
puts_nocr( "TA3 - got segment from region 2 - " );
Put_address_from_area_2( segment_address_1 );
new_line;
directive_failed( status, "rtems_region_return_segment" );
 
puts( "TA3 - rtems_region_get_segment - wait on 2K segment from region 3" );
status = rtems_region_get_segment(
Region_id[ 3 ],
2048,
RTEMS_DEFAULT_OPTIONS,
RTEMS_NO_TIMEOUT,
&segment_address_2
);
directive_failed( status, "rtems_region_get_segment" );
}
/task4.c
0,0 → 1,59
/* Task_4
*
* This routine serves as a test task. It competes with the other tasks
* for region resources.
*
* Input parameters:
* argument - task argument
*
* Output parameters: NONE
*
* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.OARcorp.com/rtems/license.html.
*
* $Id: task4.c,v 1.2 2001-09-27 12:02:33 chris Exp $
*/
 
#include "system.h"
 
rtems_task Task_4(
rtems_task_argument argument
)
{
rtems_status_code status;
void *segment_address_1;
void *segment_address_2;
 
puts( "TA4 - rtems_region_get_segment - wait on 1.5K segment from region 1" );
status = rtems_region_get_segment(
Region_id[ 1 ],
1536,
RTEMS_DEFAULT_OPTIONS,
RTEMS_NO_TIMEOUT,
&segment_address_1
);
directive_failed( status, "rtems_region_get_segment" );
 
status = rtems_region_return_segment( Region_id[ 1 ], segment_address_1 );
directive_failed( status, "rtems_region_return_segment" );
puts_nocr( "TA4 - got and returned " );
Put_address_from_area_1( segment_address_1 );
new_line;
 
status = rtems_task_wake_after( TICKS_PER_SECOND );
directive_failed( status, "rtems_task_wake_after" );
 
puts( "TA4 - rtems_region_get_segment - wait on 3K segment from region 1" );
status = rtems_region_get_segment(
Region_id[ 1 ],
3072,
RTEMS_DEFAULT_OPTIONS,
RTEMS_NO_TIMEOUT,
&segment_address_2
);
directive_failed( status, "rtems_region_get_segment" );
}
/task5.c
0,0 → 1,72
/* Task5
*
* This routine serves as a test task. It competes with the other tasks
* for region resources.
*
* Input parameters:
* argument - task argument
*
* Output parameters: NONE
*
* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.OARcorp.com/rtems/license.html.
*
* $Id: task5.c,v 1.2 2001-09-27 12:02:33 chris Exp $
*/
 
#include "system.h"
 
rtems_task Task5(
rtems_task_argument argument
)
{
void *segment_address_1;
void *segment_address_2;
rtems_status_code status;
 
puts( "TA5 - rtems_region_get_segment - wait on 1.5K segment from region 1" );
status = rtems_region_get_segment(
Region_id[ 1 ],
1536,
RTEMS_DEFAULT_OPTIONS,
RTEMS_NO_TIMEOUT,
&segment_address_1
);
directive_failed( status, "rtems_region_get_segment" );
 
status = rtems_region_return_segment( Region_id[ 1 ], segment_address_1 );
directive_failed( status, "rtems_region_return_segment" );
puts_nocr( "TA5 - got and returned " );
Put_address_from_area_1( segment_address_1 );
new_line;
 
status = rtems_task_wake_after( TICKS_PER_SECOND );
directive_failed( status, "rtems_task_wake_after" );
 
puts( "TA5 - rtems_region_get_segment - wait on 3K segment from region 1" );
status = rtems_region_get_segment(
Region_id[ 1 ],
3072,
RTEMS_DEFAULT_OPTIONS,
RTEMS_NO_TIMEOUT,
&segment_address_2
);
puts_nocr( "TA5 - got segment from region 1 - " );
Put_address_from_area_1( segment_address_2 );
new_line;
 
status = rtems_region_return_segment( Region_id[ 1 ], segment_address_2 );
puts_nocr(
"TA5 - rtems_region_return_segment - return segment to region 1 - "
);
Put_address_from_area_1( segment_address_2 );
new_line;
 
puts( "TA5 - rtems_task_delete - delete self" );
status = rtems_task_delete( RTEMS_SELF );
directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
}
/Makefile.am
0,0 → 1,38
##
## $Id: Makefile.am,v 1.2 2001-09-27 12:02:33 chris Exp $
##
 
AUTOMAKE_OPTIONS = foreign 1.4
 
TEST = sp16
 
MANAGERS = io region
 
C_FILES = init.c task1.c task2.c task3.c task4.c task5.c
C_O_FILES = $(C_FILES:%.c=${ARCH}/%.o)
 
H_FILES = system.h
noinst_HEADERS = $(H_FILES)
 
DOCTYPES = scn doc
DOCS = $(DOCTYPES:%=$(TEST).%)
 
SRCS = $(C_FILES) $(H_FILES)
OBJS = $(C_O_FILES)
 
PRINT_SRCS = $(DOCS)
 
PGM = ${ARCH}/$(TEST).exe
 
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
include $(RTEMS_ROOT)/make/leaf.cfg
include $(top_srcdir)/sptests.am
 
${PGM}: $(OBJS) $(LINK_FILES)
$(make-exe)
 
all-local: $(ARCH) $(TMPINSTALL_FILES)
 
EXTRA_DIST = $(C_FILES) $(DOCS)
 
include $(top_srcdir)/../../../../automake/local.am
/system.h
0,0 → 1,89
/* system.h
*
* This include file contains information that is included in every
* function in the test set.
*
* COPYRIGHT (c) 1989-1999.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.OARcorp.com/rtems/license.html.
*
* $Id: system.h,v 1.2 2001-09-27 12:02:33 chris Exp $
*/
 
#include <tmacros.h>
 
/* functions */
 
rtems_task Init(
rtems_task_argument argument
);
rtems_task Task_1(
rtems_task_argument argument
);
rtems_task Task_2(
rtems_task_argument argument
);
rtems_task Task_3(
rtems_task_argument argument
);
rtems_task Task_4(
rtems_task_argument argument
);
rtems_task Task5(
rtems_task_argument argument
);
/* configuration information */
 
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
 
#define CONFIGURE_MAXIMUM_TASKS 4
#define CONFIGURE_MAXIMUM_REGIONS 4
#define CONFIGURE_TICKS_PER_TIMESLICE 100
 
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
 
#define CONFIGURE_EXTRA_TASK_STACKS (1 * RTEMS_MINIMUM_STACK_SIZE)
 
#include <confdefs.h>
 
/* global variables */
 
TEST_EXTERN rtems_id Task_id[ 6 ]; /* array of task ids */
TEST_EXTERN rtems_name Task_name[ 6 ]; /* array of task names */
TEST_EXTERN rtems_id Region_id[ 5 ]; /* array of region ids */
TEST_EXTERN rtems_name Region_name[ 5 ]; /* array of region names */
 
TEST_EXTERN rtems_unsigned8 Area_1[4096] CPU_STRUCTURE_ALIGNMENT;
TEST_EXTERN rtems_unsigned8 Area_2[4096] CPU_STRUCTURE_ALIGNMENT;
TEST_EXTERN rtems_unsigned8 Area_3[4096] CPU_STRUCTURE_ALIGNMENT;
TEST_EXTERN rtems_unsigned8 Area_4[8192] CPU_STRUCTURE_ALIGNMENT;
 
#define BASE_PRIORITY 140
 
#define Put_address_from_area_1( _to_be_printed ) \
printf( "0x%08lx", \
(unsigned long) ((rtems_unsigned8 *)(_to_be_printed) - Area_1 ) )
 
#define Put_address_from_area_2( _to_be_printed ) \
printf( "0x%08lx", \
(unsigned long) ((rtems_unsigned8 *)(_to_be_printed) - Area_2 ) )
 
#define Put_address_from_area_3( _to_be_printed ) \
printf( "0x%08lx", \
(unsigned long) ((rtems_unsigned8 *)(_to_be_printed) - Area_3 ) )
 
#define Put_address_from_area_4( _to_be_printed ) \
printf( "0x%08lx", \
(unsigned long) ((rtems_unsigned8 *)(_to_be_printed) - Area_4 ) )
 
/* end of include file */
/sp16.scn
0,0 → 1,58
*** TEST 16 ***
TA1 - rtems_region_ident - rnid => 24010002
TA1 - rtems_region_get_segment - wait on 100 byte segment from region 2
TA1 - got segment from region 2 - 0x00000f78
TA1 - rtems_region_get_segment - wait on 3K segment from region 3
TA1 - got segment from region 3 - 0x000003f8
TA1 - rtems_region_get_segment - get 3080 byte segment from region 1 - NO_WAIT
TA1 - got segment from region 1 - 0x00000378
TA1 - rtems_task_wake_after - yield processor
TA2 - rtems_region_get_segment - wait on 2K segment from region 1
TA3 - rtems_region_get_segment - wait on 3968 byte segment from region 2
<pause>
TA1 - rtems_region_return_segment - return segment to region 1 - 0x00000378
TA1 - rtems_region_get_segment - wait 10 seconds for 3K segment from region 1
TA2 - got segment from region 1 - 0x000007f8
TA2 - rtems_region_return_segment - return segment to region 1 - 0x000007f8
TA2 - rtems_task_set_priority - make self highest priority task
TA2 - rtems_region_get_segment - wait on 3968 byte segment
TA1 - got segment from region 1 - 0x000003f8
TA1 - rtems_region_return_segment - return segment to region 2 - 0x00000f78
TA2 - got segment from region 2 - 0x00000008
TA2 - rtems_region_return_segment - return segment to region 2 - 0x00000008
TA2 - rtems_task_delete - delete self
TA1 - rtems_task_wake_after - yield processor
TA3 - got segment from region 2 - 0x00000008
TA3 - rtems_region_get_segment - wait on 2K segment from region 3
TA1 - rtems_task_delete - delete TA3
<pause>
TA1 - rtems_task_wake_after - yield processor
TA4 - rtems_region_get_segment - wait on 1.5K segment from region 1
TA5 - rtems_region_get_segment - wait on 1.5K segment from region 1
TA1 - rtems_region_return_segment - return segment to region 1 - 0x000003f8
TA1 - rtems_task_wake_after - yield processor
TA4 - got and returned 0x000009f8
TA5 - got and returned 0x000003f0
TA1 - rtems_region_get_segment - wait 10 seconds for 3K segment from region 1
TA1 - got segment from region 1 - 0x000003f8
TA1 - rtems_task_wake_after - yield processor
TA4 - rtems_region_get_segment - wait on 3K segment from region 1
TA5 - rtems_region_get_segment - wait on 3K segment from region 1
TA1 - rtems_task_delete - delete TA4
TA1 - rtems_region_return_segment - return segment to region 1 - 0x000003f8
TA1 - rtems_task_wake_after - yield processor
TA5 - got segment from region 1 - 0x000003f8
TA5 - rtems_region_return_segment - return segment to region 1 - 0x000003f8
TA5 - rtems_task_delete - delete self
TA1 - rtems_region_delete - delete region 1
TA1 - rtems_region_get_segment - get 3K segment from region 4
TA1 - got segment from region 4 - 0x000003f8
TA1 - rtems_region_get_segment - attempt to get 3K segment from region 4
TA1 - rtems_task_get_note - RTEMS_UNSATISFIED
TA1 - rtems_region_extend - extend region 4 by 4K
TA1 - rtems_region_get_segment - attempt to get 3K segment from region 4
TA1 - got 3K segment from region 4 - 0x00001400
TA1 - rtems_region_return_segment - return segment to region 4 - 0x000003f8
TA1 - rtems_region_return_segment - return segment to region 4 - 0x00001400
TA1 - rtems_region_delete - delete region 4
*** END OF TEST 16 ***
/sp16.doc
0,0 → 1,23
#
# $Id: sp16.doc,v 1.7 1999/11/17 17:51:32 joel Exp $
#
# COPYRIGHT (c) 1989-1999.
# On-Line Applications Research Corporation (OAR).
#
# The license and distribution terms for this file may be
# found in the file LICENSE in this distribution or at
# http://www.OARcorp.com/rtems/license.html.
#
 
 
This file describes the directives and concepts tested by this test set.
 
test set name: test16
 
directives:
ex_init, ex_start, t_create, t_start, t_delete, tm_tick, i_return,
rn_create, rn_ident, rn_getbuf, rn_retbuf, rn_delete
 
concepts:
 
a. This test checks out the region manager.

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.