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. |