mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-09-26 06:47:45 +08:00
2008-01-29 Joel Sherrill <joel.sherrill@oarcorp.com>
* Makefile.am, configure.ac, sp02/task1.c, sp24/resume.c, sp30/resume.c, sp41/init.c, sp42/init.c: Add new Object Services collection. This changed the name of a few previously public but undocumented services and added a some new services. * sp43/.cvsignore, sp43/Makefile.am, sp43/init.c, sp43/sp43.scn, sp43/system.h: New files.
This commit is contained in:
@@ -1,3 +1,12 @@
|
||||
2008-01-29 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* Makefile.am, configure.ac, sp02/task1.c, sp24/resume.c,
|
||||
sp30/resume.c, sp41/init.c, sp42/init.c: Add new Object Services
|
||||
collection. This changed the name of a few previously public but
|
||||
undocumented services and added a some new services.
|
||||
* sp43/.cvsignore, sp43/Makefile.am, sp43/init.c, sp43/sp43.scn,
|
||||
sp43/system.h: New files.
|
||||
|
||||
2008-01-29 Joel Sherrill <joel.sherrill@OARcorp.com>
|
||||
|
||||
* spfatal10/.cvsignore: New file.
|
||||
|
||||
@@ -7,7 +7,7 @@ ACLOCAL_AMFLAGS = -I ../aclocal
|
||||
## spfatal is not included for now
|
||||
SUBDIRS = sp01 sp02 sp03 sp04 sp05 sp06 sp07 sp08 sp09 sp11 sp12 sp13 sp14 \
|
||||
sp15 sp16 sp17 sp19 sp20 sp21 sp22 sp23 sp24 sp25 sp26 sp27 sp28 sp29 \
|
||||
sp30 sp31 sp32 sp33 sp34 sp35 sp37 sp38 sp39 sp40 sp41 sp42 spsize \
|
||||
sp30 sp31 sp32 sp33 sp34 sp35 sp37 sp38 sp39 sp40 sp41 sp42 sp43 spsize \
|
||||
spfatal01 spfatal02 spfatal03 spfatal04 spfatal05 spfatal06 spfatal07 \
|
||||
spfatal08 spfatal09 spfatal10
|
||||
|
||||
|
||||
@@ -67,6 +67,7 @@ sp39/Makefile
|
||||
sp40/Makefile
|
||||
sp41/Makefile
|
||||
sp42/Makefile
|
||||
sp43/Makefile
|
||||
spsize/Makefile
|
||||
spfatal/Makefile
|
||||
spfatal01/Makefile
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
*
|
||||
* Output parameters: NONE
|
||||
*
|
||||
* COPYRIGHT (c) 1989-1999.
|
||||
* COPYRIGHT (c) 1989-2008.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
@@ -38,10 +38,10 @@ rtems_task Task_1(
|
||||
|
||||
printf( "TA1 - rtems_task_ident - tid of TA2 (0x%.8x)\n", tid2 );
|
||||
|
||||
status = rtems_object_id_to_name( tid2, &tid2_name );
|
||||
directive_failed( status, "rtems_object_id_to_name of TA2" );
|
||||
status = rtems_object_get_classic_name( tid2, &tid2_name );
|
||||
directive_failed( status, "rtems_object_get_classic_name of TA2" );
|
||||
|
||||
printf( "TA1 - rtems_id_to_name - id -> name of TA2 %sOK\n",
|
||||
printf( "TA1 - rtems_get_classic_name - id -> name of TA2 %sOK\n",
|
||||
(tid2_name != Task_name[2]) ? "NOT " : "" );
|
||||
|
||||
status = rtems_task_ident( Task_name[ 3 ], RTEMS_SEARCH_ALL_NODES, &tid3 );
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
*
|
||||
* Output parameters: NONE
|
||||
*
|
||||
* COPYRIGHT (c) 1989-1999.
|
||||
* COPYRIGHT (c) 1989-2008.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
@@ -27,7 +27,7 @@ rtems_timer_service_routine Resume_task(
|
||||
rtems_id task_to_resume;
|
||||
rtems_status_code status;
|
||||
|
||||
task_to_resume = Task_id[ rtems_get_index( timer_id ) ];
|
||||
task_to_resume = Task_id[ rtems_object_id_get_index( timer_id ) ];
|
||||
status = rtems_task_resume( task_to_resume );
|
||||
directive_failed_with_level( status, "rtems_task_resume", 1 );
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
*
|
||||
* Output parameters: NONE
|
||||
*
|
||||
* COPYRIGHT (c) 1989-2002.
|
||||
* COPYRIGHT (c) 1989-2008.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
@@ -27,7 +27,7 @@ rtems_timer_service_routine Resume_task(
|
||||
rtems_id task_to_resume;
|
||||
rtems_status_code status;
|
||||
|
||||
task_to_resume = Task_id[ rtems_get_index( timer_id ) ];
|
||||
task_to_resume = Task_id[ rtems_object_id_get_index( timer_id ) ];
|
||||
status = rtems_task_resume( task_to_resume );
|
||||
directive_failed_with_level( status, "rtems_task_resume", 1 );
|
||||
}
|
||||
|
||||
@@ -192,6 +192,6 @@ rtems_task Init(
|
||||
break;
|
||||
}
|
||||
|
||||
puts( "*** END OF TEST SP41 ***" );
|
||||
puts( "*** END OF TEST 41 ***" );
|
||||
rtems_test_exit( 0 );
|
||||
}
|
||||
|
||||
@@ -151,7 +151,7 @@ rtems_task Init(
|
||||
puts( "Exercising blocking discipline w/unblock in priority order" );
|
||||
do_test( RTEMS_PRIORITY, FALSE );
|
||||
|
||||
puts( "*** END OF TEST 40 ***" );
|
||||
puts( "*** END OF TEST 42 ***" );
|
||||
exit(0);
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
Makefile
|
||||
Makefile.in
|
||||
@@ -0,0 +1,27 @@
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
|
||||
MANAGERS = all
|
||||
|
||||
rtems_tests_PROGRAMS = sp43.exe
|
||||
sp43_exe_SOURCES = init.c system.h
|
||||
|
||||
dist_rtems_tests_DATA = sp43.scn
|
||||
|
||||
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
|
||||
include $(top_srcdir)/../automake/compile.am
|
||||
include $(top_srcdir)/../automake/leaf.am
|
||||
|
||||
sp43_exe_LDADD = $(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel)
|
||||
|
||||
AM_CPPFLAGS += -I$(top_srcdir)/../support/include
|
||||
|
||||
LINK_OBJS = $(sp43_exe_OBJECTS) $(sp43_exe_LDADD)
|
||||
LINK_LIBS = $(sp43_exe_LDLIBS)
|
||||
|
||||
sp43.exe$(EXEEXT): $(sp43_exe_OBJECTS) $(sp43_exe_DEPENDENCIES)
|
||||
@rm -f sp43.exe$(EXEEXT)
|
||||
$(make-exe)
|
||||
|
||||
include $(top_srcdir)/../automake/local.am
|
||||
@@ -0,0 +1,272 @@
|
||||
/*
|
||||
* Exercise Object Manager Services
|
||||
*
|
||||
* COPYRIGHT (c) 1989-2008.
|
||||
* 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.rtems.com/license/LICENSE.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#define TEST_INIT
|
||||
#include "system.h"
|
||||
|
||||
#undef rtems_build_id
|
||||
#undef rtems_build_name
|
||||
#undef rtems_object_id_api_maximum
|
||||
#undef rtems_object_id_api_minimum
|
||||
#undef rtems_object_id_get_api
|
||||
#undef rtems_object_id_get_class
|
||||
#undef rtems_object_id_get_index
|
||||
#undef rtems_object_id_get_node
|
||||
|
||||
void print_class_info(
|
||||
uint32_t api,
|
||||
uint32_t class,
|
||||
rtems_object_api_class_information *info
|
||||
)
|
||||
{
|
||||
printf(
|
||||
"%s API %s Information\n"
|
||||
" minimum id : 0x%08x maximum id: 0x%08x\n"
|
||||
" maximum : %7d available : %d\n"
|
||||
" auto_extend : %s\n",
|
||||
rtems_object_get_api_name(api),
|
||||
rtems_object_get_api_class_name(api, class),
|
||||
info->minimum_id,
|
||||
info->maximum_id,
|
||||
info->maximum,
|
||||
info->unallocated,
|
||||
((info->auto_extend) ? "yes" : "no")
|
||||
);
|
||||
}
|
||||
|
||||
rtems_task Init(
|
||||
rtems_task_argument argument
|
||||
)
|
||||
{
|
||||
rtems_status_code status;
|
||||
rtems_id main_task;
|
||||
rtems_name main_name;
|
||||
rtems_id tmpId;
|
||||
rtems_name tmpName;
|
||||
char name[5];
|
||||
char *ptr;
|
||||
const char newName[5] = "New1";
|
||||
uint32_t part;
|
||||
rtems_object_api_class_information info;
|
||||
|
||||
|
||||
puts( "\n\n*** TEST 43 ***" );
|
||||
|
||||
main_task = rtems_task_self();
|
||||
|
||||
puts( "rtems_object_get_classic_name - INVALID_ADDRESS" );
|
||||
status = rtems_object_get_classic_name( main_task, NULL );
|
||||
fatal_directive_status(
|
||||
status,
|
||||
RTEMS_INVALID_ADDRESS,
|
||||
"rtems_object_get_classic_name"
|
||||
);
|
||||
|
||||
puts( "rtems_object_get_classic_name - INVALID_ID" );
|
||||
status = rtems_object_get_classic_name( main_task + 5, &tmpId );
|
||||
fatal_directive_status(
|
||||
status,
|
||||
RTEMS_INVALID_ID,
|
||||
"rtems_object_get_classic_name"
|
||||
);
|
||||
|
||||
status = rtems_object_get_classic_name( main_task, &main_name );
|
||||
directive_failed( status, "rtems_object_get_classic_name" );
|
||||
put_name( main_name, FALSE );
|
||||
puts( " - name returned by rtems_object_get_classic_name" );
|
||||
|
||||
tmpName = rtems_build_name( 'T', 'E', 'M', 'P' );
|
||||
put_name( tmpName, FALSE );
|
||||
puts( " - rtems_build_name for TEMP" );
|
||||
|
||||
|
||||
/*
|
||||
* rtems_object_get_name - cases
|
||||
*/
|
||||
puts( "rtems_object_get_name - bad id for class with instances" );
|
||||
ptr = rtems_object_get_name( main_task + 5, 5, name );
|
||||
rtems_test_assert(ptr == NULL);
|
||||
|
||||
puts( "rtems_object_get_name - bad id for class without instances" );
|
||||
ptr = rtems_object_get_name(
|
||||
rtems_build_id( OBJECTS_CLASSIC_API, OBJECTS_RTEMS_BARRIERS, 1, 1 ),
|
||||
5,
|
||||
name
|
||||
);
|
||||
rtems_test_assert(ptr == NULL);
|
||||
|
||||
puts( "rtems_object_get_name - bad length" );
|
||||
ptr = rtems_object_get_name( main_task, 0, name );
|
||||
rtems_test_assert(ptr == NULL);
|
||||
|
||||
puts( "rtems_object_get_name - bad pointer" );
|
||||
ptr = rtems_object_get_name( main_task, 5, NULL );
|
||||
rtems_test_assert(ptr == NULL);
|
||||
|
||||
ptr = rtems_object_get_name( main_task, 5, name );
|
||||
rtems_test_assert(ptr != NULL);
|
||||
printf( "rtems_object_get_name returned (%s) for init task\n", ptr );
|
||||
|
||||
/*
|
||||
* rtems_object_set_name - change name of init task
|
||||
*/
|
||||
|
||||
puts( "rtems_object_set_name - change name of init task" );
|
||||
status = rtems_object_set_name( main_task, newName );
|
||||
directive_failed( status, "rtems_object_set_name" );
|
||||
|
||||
status = rtems_object_get_classic_name( main_task, &main_name );
|
||||
directive_failed( status, "rtems_object_get_classic_name" );
|
||||
put_name( main_name, FALSE );
|
||||
puts( " - name returned by rtems_object_get_classic_name" );
|
||||
|
||||
ptr = rtems_object_get_name( main_task, 5, name );
|
||||
rtems_test_assert(ptr != NULL);
|
||||
printf( "rtems_object_get_name returned (%s) for init task\n", ptr );
|
||||
|
||||
/*
|
||||
* Exercise id build and extraction routines
|
||||
*/
|
||||
|
||||
puts( "rtems_build_id - build an id to match init task" );
|
||||
tmpId = rtems_build_id( OBJECTS_CLASSIC_API, OBJECTS_RTEMS_TASKS, 1, 1 ),
|
||||
assert( tmpId == main_task );
|
||||
|
||||
puts( "rtems_object_id_get_api - OK" );
|
||||
part = rtems_object_id_get_api( main_task );
|
||||
assert( part == OBJECTS_CLASSIC_API );
|
||||
|
||||
puts( "rtems_object_id_get_class - OK" );
|
||||
part = rtems_object_id_get_class( main_task );
|
||||
assert( part == OBJECTS_RTEMS_TASKS );
|
||||
|
||||
puts( "rtems_object_id_get_node - OK" );
|
||||
part = rtems_object_id_get_node( main_task );
|
||||
assert( part == 1 );
|
||||
|
||||
puts( "rtems_object_id_get_index - OK" );
|
||||
part = rtems_object_id_get_index( main_task );
|
||||
assert( part == 1 );
|
||||
|
||||
/*
|
||||
* Start another screen and do the API/Class min/max routines
|
||||
*/
|
||||
rtems_test_pause();
|
||||
|
||||
printf( "rtems_object_id_api_minimum returned %d\n",
|
||||
rtems_object_id_api_minimum() );
|
||||
printf( "rtems_object_id_api_maximum returned %d\n",
|
||||
rtems_object_id_api_maximum() );
|
||||
|
||||
printf( "rtems_object_api_minimum_class(0) returned %d\n",
|
||||
rtems_object_api_minimum_class(0) );
|
||||
printf( "rtems_object_api_maximum_class(0) returned %d\n",
|
||||
rtems_object_api_maximum_class(0) );
|
||||
|
||||
printf( "rtems_object_api_minimum_class(0) returned %d\n",
|
||||
rtems_object_api_minimum_class(0) );
|
||||
printf( "rtems_object_api_maximum_class(0) returned %d\n",
|
||||
rtems_object_api_maximum_class(0) );
|
||||
|
||||
printf( "rtems_object_api_minimum_class(OBJECTS_INTERNAL_API) returned %d\n",
|
||||
rtems_object_api_minimum_class(OBJECTS_INTERNAL_API) );
|
||||
printf( "rtems_object_api_maximum_class(OBJECTS_INTERNAL_API) returned %d\n",
|
||||
rtems_object_api_maximum_class(OBJECTS_INTERNAL_API) );
|
||||
|
||||
printf( "rtems_object_api_minimum_class(OBJECTS_CLASSIC_API) returned %d\n",
|
||||
rtems_object_api_minimum_class(OBJECTS_CLASSIC_API) );
|
||||
printf( "rtems_object_api_maximum_class(OBJECTS_CLASSIC_API) returned %d\n",
|
||||
rtems_object_api_maximum_class(OBJECTS_CLASSIC_API) );
|
||||
|
||||
printf( "rtems_object_api_minimum_class(OBJECTS_POSIX_API) returned %d\n",
|
||||
rtems_object_api_minimum_class(OBJECTS_POSIX_API) );
|
||||
printf( "rtems_object_api_maximum_class(OBJECTS_POSIX_API) returned %d\n",
|
||||
rtems_object_api_maximum_class(OBJECTS_POSIX_API) );
|
||||
|
||||
printf( "rtems_object_api_minimum_class(OBJECTS_ITRON_API) returned %d\n",
|
||||
rtems_object_api_minimum_class(OBJECTS_ITRON_API) );
|
||||
printf( "rtems_object_api_maximum_class(OBJECTS_ITRON_API) returned %d\n",
|
||||
rtems_object_api_maximum_class(OBJECTS_ITRON_API) );
|
||||
|
||||
|
||||
/*
|
||||
* Another screen break for the API and class name tests
|
||||
*/
|
||||
rtems_test_pause();
|
||||
|
||||
printf( "rtems_object_get_api_name(0) = %s\n", rtems_object_get_api_name(0) );
|
||||
printf( "rtems_object_get_api_name(255) = %s\n", rtems_object_get_api_name(255));
|
||||
|
||||
printf( "rtems_object_get_api_name(INTERNAL_API) = %s\n",
|
||||
rtems_object_get_api_name(OBJECTS_INTERNAL_API) );
|
||||
printf( "rtems_object_get_api_name(CLASSIC_API) = %s\n",
|
||||
rtems_object_get_api_name(OBJECTS_CLASSIC_API) );
|
||||
printf( "rtems_object_get_api_name(POSIX_API) = %s\n",
|
||||
rtems_object_get_api_name(OBJECTS_POSIX_API) );
|
||||
printf( "rtems_object_get_api_name(ITRON_API) = %s\n",
|
||||
rtems_object_get_api_name(OBJECTS_ITRON_API) );
|
||||
|
||||
printf( "rtems_object_get_api_class_name(0, RTEMS_TASKS) = %s\n",
|
||||
rtems_object_get_api_class_name( 0, OBJECTS_RTEMS_TASKS ) );
|
||||
printf( "rtems_object_get_api_class_name(CLASSIC_API, 0) = %s\n",
|
||||
rtems_object_get_api_class_name( OBJECTS_CLASSIC_API, 0 ) );
|
||||
printf( "rtems_object_get_api_class_name(CLASSIC_API, RTEMS_BARRIERS) = %s\n",
|
||||
rtems_object_get_api_class_name(OBJECTS_CLASSIC_API, OBJECTS_RTEMS_BARRIERS));
|
||||
|
||||
/*
|
||||
* Another screen break for the information
|
||||
*/
|
||||
|
||||
rtems_test_pause();
|
||||
|
||||
puts( "rtems_object_get_class_information - INVALID_ADDRESS" );
|
||||
status = rtems_object_get_class_information(
|
||||
OBJECTS_INTERNAL_API, OBJECTS_INTERNAL_THREADS, NULL );
|
||||
fatal_directive_status(
|
||||
status,
|
||||
RTEMS_INVALID_ADDRESS,
|
||||
"rtems_object_get_class_information"
|
||||
);
|
||||
|
||||
puts( "rtems_object_get_class_information - INVALID_NUMBER (bad API)" );
|
||||
status = rtems_object_get_class_information(0, OBJECTS_INTERNAL_THREADS, &info);
|
||||
fatal_directive_status(
|
||||
status,
|
||||
RTEMS_INVALID_NUMBER,
|
||||
"rtems_object_get_class_information (API)"
|
||||
);
|
||||
|
||||
puts( "rtems_object_get_class_information - INVALID_NUMBER (bad class)" );
|
||||
status = rtems_object_get_class_information( OBJECTS_INTERNAL_API, 0, &info );
|
||||
fatal_directive_status(
|
||||
status,
|
||||
RTEMS_INVALID_NUMBER,
|
||||
"rtems_object_get_class_information (API)"
|
||||
);
|
||||
|
||||
puts( "rtems_object_get_class_information - Classic Tasks - OK" );
|
||||
status = rtems_object_get_class_information(
|
||||
OBJECTS_CLASSIC_API, OBJECTS_RTEMS_TASKS, &info );
|
||||
directive_failed( status, "rtems_object_get_class_information" );
|
||||
print_class_info( OBJECTS_CLASSIC_API, OBJECTS_RTEMS_TASKS, &info );
|
||||
|
||||
puts( "rtems_object_get_class_information - Classic Timers - OK" );
|
||||
status = rtems_object_get_class_information(
|
||||
OBJECTS_CLASSIC_API, OBJECTS_RTEMS_TIMERS, &info );
|
||||
directive_failed( status, "rtems_object_get_class_information" );
|
||||
print_class_info( OBJECTS_CLASSIC_API, OBJECTS_RTEMS_TIMERS, &info );
|
||||
|
||||
|
||||
puts( "*** END OF TEST 43 ***" );
|
||||
rtems_test_exit( 0 );
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
*** TEST 43 ***
|
||||
rtems_object_get_classic_name - INVALID_ADDRESS
|
||||
rtems_object_get_classic_name - INVALID_ID
|
||||
UI1 - name returned by rtems_object_get_classic_name
|
||||
TEMP - rtems_build_name for TEMP
|
||||
rtems_object_get_name - bad id for class with instances
|
||||
rtems_object_get_name - bad id for class without instances
|
||||
rtems_object_get_name - bad length
|
||||
rtems_object_get_name - bad pointer
|
||||
rtems_object_get_name returned (UI1 ) for init task
|
||||
rtems_object_set_name - change name of init task
|
||||
New1 - name returned by rtems_object_get_classic_name
|
||||
rtems_object_get_name returned (New1) for init task
|
||||
rtems_build_id - build an id to match init task
|
||||
rtems_object_id_get_api - OK
|
||||
rtems_object_id_get_class - OK
|
||||
rtems_object_id_get_node - OK
|
||||
rtems_object_id_get_index - OK
|
||||
<pause>
|
||||
rtems_object_id_api_minimum returned 1
|
||||
rtems_object_id_api_maximum returned 4
|
||||
rtems_object_api_minimum_class(0) returned -1
|
||||
rtems_object_api_maximum_class(0) returned -1
|
||||
rtems_object_api_minimum_class(0) returned -1
|
||||
rtems_object_api_maximum_class(0) returned -1
|
||||
rtems_object_api_minimum_class(OBJECTS_INTERNAL_API) returned 1
|
||||
rtems_object_api_maximum_class(OBJECTS_INTERNAL_API) returned 2
|
||||
rtems_object_api_minimum_class(OBJECTS_CLASSIC_API) returned 1
|
||||
rtems_object_api_maximum_class(OBJECTS_CLASSIC_API) returned 10
|
||||
rtems_object_api_minimum_class(OBJECTS_POSIX_API) returned 1
|
||||
rtems_object_api_maximum_class(OBJECTS_POSIX_API) returned 12
|
||||
rtems_object_api_minimum_class(OBJECTS_ITRON_API) returned 1
|
||||
rtems_object_api_maximum_class(OBJECTS_ITRON_API) returned 8
|
||||
<pause>
|
||||
rtems_object_get_api_name(0) = BAD CLASS
|
||||
rtems_object_get_api_name(255) = BAD CLASS
|
||||
rtems_object_get_api_name(INTERNAL_API) = Internal
|
||||
rtems_object_get_api_name(CLASSIC_API) = Classic
|
||||
rtems_object_get_api_name(POSIX_API) = POSIX
|
||||
rtems_object_get_api_name(ITRON_API) = ITRON
|
||||
rtems_object_get_api_class_name(0, RTEMS_TASKS) = BAD API
|
||||
rtems_object_get_api_class_name(CLASSIC_API, 0) = BAD CLASS
|
||||
rtems_object_get_api_class_name(CLASSIC_API, RTEMS_BARRIERS) = Barrier
|
||||
<pause>
|
||||
rtems_object_get_class_information - INVALID_ADDRESS
|
||||
rtems_object_get_class_information - INVALID_NUMBER (bad API)
|
||||
rtems_object_get_class_information - INVALID_NUMBER (bad class)
|
||||
rtems_object_get_class_information - Classic Tasks - OK
|
||||
Classic API Task Information
|
||||
minimum id : 0x0a010001 maximum id: 0x0a010002
|
||||
maximum : 2 available : 1
|
||||
auto_extend : no
|
||||
rtems_object_get_class_information - Classic Timers - OK
|
||||
Classic API Timer Information
|
||||
minimum id : 0x12010001 maximum id: 0x12010001
|
||||
maximum : 1 available : 1
|
||||
auto_extend : no
|
||||
*** END OF TEST 43 ***
|
||||
@@ -0,0 +1,37 @@
|
||||
/* system.h
|
||||
*
|
||||
* This include file contains information that is included in every
|
||||
* function in the test set.
|
||||
*
|
||||
* COPYRIGHT (c) 1989-2008.
|
||||
* 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.rtems.com/license/LICENSE.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#include <tmacros.h>
|
||||
|
||||
/* functions */
|
||||
|
||||
rtems_task Init(
|
||||
rtems_task_argument argument
|
||||
);
|
||||
|
||||
/* configuration information */
|
||||
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
||||
|
||||
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
|
||||
|
||||
#define CONFIGURE_MAXIMUM_TASKS 2
|
||||
#define CONFIGURE_MAXIMUM_TIMERS 1
|
||||
#define CONFIGURE_MAXIMUM_SEMAPHORES 1
|
||||
|
||||
#include <rtems/confdefs.h>
|
||||
|
||||
/* end of include file */
|
||||
Reference in New Issue
Block a user