2003-11-10 Ralf Corsepius <corsepiu@faw.uni-ulm.de>

* sp01/.cvsignore: Remove.
	* sp01/Makefile.am: Remove.
	* sp01/init.c: Remove.
	* sp01/sp01.doc: Remove.
	* sp01/sp01.scn: Remove.
	* sp01/system.h: Remove.
	* sp01/task1.c: Remove.
	* sp02/.cvsignore: Remove.
	* sp02/Makefile.am: Remove.
	* sp02/init.c: Remove.
	* sp02/preempt.c: Remove.
	* sp02/sp02.doc: Remove.
	* sp02/sp02.scn: Remove.
	* sp02/system.h: Remove.
	* sp02/task1.c: Remove.
	* sp02/task2.c: Remove.
	* sp02/task3.c: Remove.
	* .cvsignore: Remove.
	* ChangeLog: Remove.
	* Makefile.am: Remove.
	* README: Remove.
	* configure.ac: Remove.
	* sptests.am: Remove.
	* sp03/.cvsignore: Remove.
	* sp03/Makefile.am: Remove.
	* sp03/init.c: Remove.
	* sp03/sp03.doc: Remove.
	* sp03/sp03.scn: Remove.
	* sp03/system.h: Remove.
	* sp03/task1.c: Remove.
	* sp03/task2.c: Remove.
	* sp04/.cvsignore: Remove.
	* sp04/Makefile.am: Remove.
	* sp04/init.c: Remove.
	* sp04/sp04.doc: Remove.
	* sp04/sp04.scn: Remove.
	* sp04/system.h: Remove.
	* sp04/task1.c: Remove.
	* sp04/task2.c: Remove.
	* sp04/task3.c: Remove.
	* sp04/tswitch.c: Remove.
	* sp05/.cvsignore: Remove.
	* sp05/Makefile.am: Remove.
	* sp05/init.c: Remove.
	* sp05/sp05.doc: Remove.
	* sp05/sp05.scn: Remove.
	* sp05/system.h: Remove.
	* sp05/task1.c: Remove.
	* sp05/task2.c: Remove.
	* sp05/task3.c: Remove.
	* sp06/.cvsignore: Remove.
	* sp06/Makefile.am: Remove.
	* sp06/init.c: Remove.
	* sp06/sp06.doc: Remove.
	* sp06/sp06.scn: Remove.
	* sp06/system.h: Remove.
	* sp06/task1.c: Remove.
	* sp06/task2.c: Remove.
	* sp06/task3.c: Remove.
	* sp07/.cvsignore: Remove.
	* sp07/Makefile.am: Remove.
	* sp07/init.c: Remove.
	* sp07/sp07.doc: Remove.
	* sp07/sp07.scn: Remove.
	* sp07/system.h: Remove.
	* sp07/task1.c: Remove.
	* sp07/task2.c: Remove.
	* sp07/task3.c: Remove.
	* sp07/task4.c: Remove.
	* sp07/taskexit.c: Remove.
	* sp07/tcreate.c: Remove.
	* sp07/tdelete.c: Remove.
	* sp07/trestart.c: Remove.
	* sp07/tstart.c: Remove.
	* sp08/.cvsignore: Remove.
	* sp08/Makefile.am: Remove.
	* sp08/init.c: Remove.
	* sp08/sp08.doc: Remove.
	* sp08/sp08.scn: Remove.
	* sp08/system.h: Remove.
	* sp08/task1.c: Remove.
	* sp09/.cvsignore: Remove.
	* sp09/Makefile.am: Remove.
	* sp09/delay.c: Remove.
	* sp09/init.c: Remove.
	* sp09/isr.c: Remove.
	* sp09/screen01.c: Remove.
	* sp09/screen02.c: Remove.
	* sp09/screen03.c: Remove.
	* sp09/screen04.c: Remove.
	* sp09/screen05.c: Remove.
	* sp09/screen06.c: Remove.
	* sp09/screen07.c: Remove.
	* sp09/screen08.c: Remove.
	* sp09/screen09.c: Remove.
	* sp09/screen10.c: Remove.
	* sp09/screen11.c: Remove.
	* sp09/screen12.c: Remove.
	* sp09/screen13.c: Remove.
	* sp09/screen14.c: Remove.
	* sp09/sp09.doc: Remove.
	* sp09/sp09.scn: Remove.
	* sp09/system.h: Remove.
	* sp09/task1.c: Remove.
	* sp09/task2.c: Remove.
	* sp09/task3.c: Remove.
	* sp09/task4.c: Remove.
	* sp11/.cvsignore: Remove.
	* sp11/Makefile.am: Remove.
	* sp11/init.c: Remove.
	* sp11/sp11.doc: Remove.
	* sp11/sp11.scn: Remove.
	* sp11/system.h: Remove.
	* sp11/task1.c: Remove.
	* sp11/task2.c: Remove.
	* sp11/timer.c: Remove.
	* sp12/.cvsignore: Remove.
	* sp12/Makefile.am: Remove.
	* sp12/init.c: Remove.
	* sp12/pridrv.c: Remove.
	* sp12/pritask.c: Remove.
	* sp12/sp12.doc: Remove.
	* sp12/sp12.scn: Remove.
	* sp12/system.h: Remove.
	* sp12/task1.c: Remove.
	* sp12/task2.c: Remove.
	* sp12/task3.c: Remove.
	* sp12/task4.c: Remove.
	* sp12/task5.c: Remove.
	* sp13/.cvsignore: Remove.
	* sp13/Makefile.am: Remove.
	* sp13/fillbuff.c: Remove.
	* sp13/init.c: Remove.
	* sp13/putbuff.c: Remove.
	* sp13/sp13.doc: Remove.
	* sp13/sp13.scn: Remove.
	* sp13/system.h: Remove.
	* sp13/task1.c: Remove.
	* sp13/task2.c: Remove.
	* sp13/task3.c: Remove.
	* sp14/.cvsignore: Remove.
	* sp14/Makefile.am: Remove.
	* sp14/asr.c: Remove.
	* sp14/init.c: Remove.
	* sp14/sp14.doc: Remove.
	* sp14/sp14.scn: Remove.
	* sp14/system.h: Remove.
	* sp14/task1.c: Remove.
	* sp14/task2.c: Remove.
	* sp15/.cvsignore: Remove.
	* sp15/Makefile.am: Remove.
	* sp15/init.c: Remove.
	* sp15/sp15.doc: Remove.
	* sp15/sp15.scn: Remove.
	* sp15/system.h: Remove.
	* sp15/task1.c: Remove.
	* sp16/.cvsignore: Remove.
	* sp16/Makefile.am: Remove.
	* sp16/init.c: Remove.
	* sp16/sp16.doc: Remove.
	* sp16/sp16.scn: Remove.
	* sp16/system.h: Remove.
	* sp16/task1.c: Remove.
	* sp16/task2.c: Remove.
	* sp16/task3.c: Remove.
	* sp16/task4.c: Remove.
	* sp16/task5.c: Remove.
	* sp17/.cvsignore: Remove.
	* sp17/Makefile.am: Remove.
	* sp17/asr.c: Remove.
	* sp17/init.c: Remove.
	* sp17/sp17.doc: Remove.
	* sp17/sp17.scn: Remove.
	* sp17/system.h: Remove.
	* sp17/task1.c: Remove.
	* sp17/task2.c: Remove.
	* sp19/.cvsignore: Remove.
	* sp19/Makefile.am: Remove.
	* sp19/first.c: Remove.
	* sp19/fptask.c: Remove.
	* sp19/fptest.h: Remove.
	* sp19/init.c: Remove.
	* sp19/inttest.h: Remove.
	* sp19/sp19.doc: Remove.
	* sp19/sp19.scn: Remove.
	* sp19/system.h: Remove.
	* sp19/task1.c: Remove.
	* sp20/.cvsignore: Remove.
	* sp20/Makefile.am: Remove.
	* sp20/getall.c: Remove.
	* sp20/init.c: Remove.
	* sp20/sp20.doc: Remove.
	* sp20/sp20.scn: Remove.
	* sp20/system.h: Remove.
	* sp20/task1.c: Remove.
	* sp21/.cvsignore: Remove.
	* sp21/Makefile.am: Remove.
	* sp21/init.c: Remove.
	* sp21/sp21.doc: Remove.
	* sp21/sp21.scn: Remove.
	* sp21/system.h: Remove.
	* sp21/task1.c: Remove.
	* sp22/.cvsignore: Remove.
	* sp22/Makefile.am: Remove.
	* sp22/delay.c: Remove.
	* sp22/init.c: Remove.
	* sp22/prtime.c: Remove.
	* sp22/sp22.doc: Remove.
	* sp22/sp22.scn: Remove.
	* sp22/system.h: Remove.
	* sp22/task1.c: Remove.
	* sp23/.cvsignore: Remove.
	* sp23/Makefile.am: Remove.
	* sp23/init.c: Remove.
	* sp23/sp23.doc: Remove.
	* sp23/sp23.scn: Remove.
	* sp23/system.h: Remove.
	* sp23/task1.c: Remove.
	* sp24/.cvsignore: Remove.
	* sp24/Makefile.am: Remove.
	* sp24/init.c: Remove.
	* sp24/resume.c: Remove.
	* sp24/sp24.doc: Remove.
	* sp24/sp24.scn: Remove.
	* sp24/system.h: Remove.
	* sp24/task1.c: Remove.
	* sp25/.cvsignore: Remove.
	* sp25/Makefile.am: Remove.
	* sp25/init.c: Remove.
	* sp25/sp25.doc: Remove.
	* sp25/sp25.scn: Remove.
	* sp25/system.h: Remove.
	* sp25/task1.c: Remove.
	* sp26/.cvsignore: Remove.
	* sp26/Makefile.am: Remove.
	* sp26/init.c: Remove.
	* sp26/sp26.doc: Remove.
	* sp26/sp26.scn: Remove.
	* sp26/system.h: Remove.
	* sp26/task1.c: Remove.
	* sp27/.cvsignore: Remove.
	* sp27/Makefile.am: Remove.
	* sp27/init.c: Remove.
	* sp27/sp27.doc: Remove.
	* sp27/sp27.scn: Remove.
	* sp28/.cvsignore: Remove.
	* sp28/Makefile.am: Remove.
	* sp28/init.c: Remove.
	* sp28/sp28.doc: Remove.
	* sp28/sp28.scn: Remove.
	* sp29/.cvsignore: Remove.
	* sp29/Makefile.am: Remove.
	* sp29/init.c: Remove.
	* sp29/sp29.doc: Remove.
	* sp29/sp29.scn: Remove.
	* sp30/.cvsignore: Remove.
	* sp30/Makefile.am: Remove.
	* sp30/init.c: Remove.
	* sp30/resume.c: Remove.
	* sp30/sp30.doc: Remove.
	* sp30/sp30.scn: Remove.
	* sp30/system.h: Remove.
	* sp30/task1.c: Remove.
	* sp31/.cvsignore: Remove.
	* sp31/Makefile.am: Remove.
	* sp31/delay.c: Remove.
	* sp31/init.c: Remove.
	* sp31/prtime.c: Remove.
	* sp31/sp31.doc: Remove.
	* sp31/sp31.scn: Remove.
	* sp31/system.h: Remove.
	* sp31/task1.c: Remove.
	* sp32/.cvsignore: Remove.
	* sp32/Makefile.am: Remove.
	* sp32/init.c: Remove.
	* sp32/sp32.scn: Remove.
	* spfatal/.cvsignore: Remove.
	* spfatal/Makefile.am: Remove.
	* spfatal/README: Remove.
	* spfatal/fatal.c: Remove.
	* spfatal/init.c: Remove.
	* spfatal/puterr.c: Remove.
	* spfatal/spfatal.doc: Remove.
	* spfatal/spfatal.scn: Remove.
	* spfatal/system.h: Remove.
	* spfatal/task1.c: Remove.
	* spsize/.cvsignore: Remove.
	* spsize/Makefile.am: Remove.
	* spsize/getint.c: Remove.
	* spsize/init.c: Remove.
	* spsize/size.c: Remove.
	* spsize/size.scn: Remove.
	* spsize/system.h: Remove.
This commit is contained in:
Ralf Corsepius
2003-11-11 00:58:28 +00:00
parent 532f51ce42
commit 5ada27d280
293 changed files with 0 additions and 19061 deletions
-14
View File
@@ -1,14 +0,0 @@
aclocal.m4
autom4te*.cache
config.cache
config.guess
config.log
config.status
config.sub
configure
depcomp
install-sh
Makefile
Makefile.in
missing
mkinstalldirs
File diff suppressed because it is too large Load Diff
-15
View File
@@ -1,15 +0,0 @@
##
## $Id$
##
ACLOCAL_AMFLAGS = -I ../aclocal
## sp10 and spfatal are 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 spsize
EXTRA_DIST = sptests.am spfatal
include $(top_srcdir)/../automake/subdirs.am
include $(top_srcdir)/../automake/local.am
-9
View File
@@ -1,9 +0,0 @@
#
# $Id$
#
This directory contains the RTEMS Single Processor Test Suite.
The tests in this directory provide near complete (98%+) test
coverage of the non-multiprocessor code in RTEMS.
-67
View File
@@ -1,67 +0,0 @@
## Process this file with autoconf to produce a configure script.
##
## $Id$
AC_PREREQ(2.57)
AC_INIT([rtems-c-src-tests-sptests],[_RTEMS_VERSION],[rtems-bugs@rtems.com])
AC_CONFIG_SRCDIR([sp01])
RTEMS_TOP(../../../..)
RTEMS_CANONICAL_TARGET_CPU
AM_INIT_AUTOMAKE([no-define foreign 1.7.2])
AM_MAINTAINER_MODE
RTEMS_ENABLE_BARE
RTEMS_ENV_RTEMSBSP
RTEMS_CHECK_RTEMS_TEST_NO_PAUSE
RTEMS_PROJECT_ROOT
RTEMS_PROG_CC_FOR_TARGET([-ansi -fasm])
RTEMS_CANONICALIZE_TOOLS
RTEMS_CHECK_CUSTOM_BSP(RTEMS_BSP)
AC_SUBST(BARE_CPU_CFLAGS)
AC_SUBST(BARE_CPU_MODEL)
# Explicitly list all Makefiles here
AC_CONFIG_FILES([Makefile
sp01/Makefile
sp02/Makefile
sp03/Makefile
sp04/Makefile
sp05/Makefile
sp06/Makefile
sp07/Makefile
sp08/Makefile
sp09/Makefile
sp11/Makefile
sp12/Makefile
sp13/Makefile
sp14/Makefile
sp15/Makefile
sp16/Makefile
sp17/Makefile
sp19/Makefile
sp20/Makefile
sp21/Makefile
sp22/Makefile
sp23/Makefile
sp24/Makefile
sp25/Makefile
sp26/Makefile
sp27/Makefile
sp28/Makefile
sp29/Makefile
sp30/Makefile
sp31/Makefile
sp32/Makefile
spsize/Makefile
])
AC_OUTPUT
# spfatal/Makefile
-2
View File
@@ -1,2 +0,0 @@
Makefile
Makefile.in
-38
View File
@@ -1,38 +0,0 @@
##
## $Id$
##
TEST = sp01
MANAGERS = io
C_FILES = init.c task1.c
C_O_FILES = $(C_FILES:%.c=${ARCH}/%.$(OBJEXT))
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 $(top_srcdir)/../automake/compile.am
include $(top_srcdir)/../automake/leaf.am
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
-85
View File
@@ -1,85 +0,0 @@
/* 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.rtems.com/license/LICENSE.
*
* $Id$
*/
#define TEST_INIT
#include "system.h"
rtems_task Init(
rtems_task_argument argument
)
{
rtems_time_of_day time;
rtems_status_code status;
puts( "\n\n*** TEST 1 ***" );
build_time( &time, 12, 31, 1988, 9, 0, 0, 0 );
status = rtems_clock_set( &time );
directive_failed( status, "rtems_clock_set" );
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', ' ' );
status = rtems_task_create(
Task_name[ 1 ],
1,
RTEMS_MINIMUM_STACK_SIZE * 2,
RTEMS_INTERRUPT_LEVEL(31),
RTEMS_DEFAULT_ATTRIBUTES,
&Task_id[ 1 ]
);
directive_failed( status, "rtems_task_create of TA1" );
status = rtems_task_create(
Task_name[ 2 ],
1,
RTEMS_MINIMUM_STACK_SIZE * 2,
RTEMS_DEFAULT_MODES,
RTEMS_DEFAULT_ATTRIBUTES,
&Task_id[ 2 ]
);
directive_failed( status, "rtems_task_create of TA2" );
status = rtems_task_create(
Task_name[ 3 ],
1,
RTEMS_MINIMUM_STACK_SIZE * 3,
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_through_3, 0 );
directive_failed( status, "rtems_task_start of TA1" );
status = rtems_task_start( Task_id[ 2 ], Task_1_through_3, 0 );
directive_failed( status, "rtems_task_start of TA2" );
status = rtems_task_start( Task_id[ 3 ], Task_1_through_3, 0 );
directive_failed( status, "rtems_task_start of TA3" );
status = rtems_task_delete( RTEMS_SELF );
directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
}
-42
View File
@@ -1,42 +0,0 @@
#
# $Id$
#
# 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.rtems.com/license/LICENSE.
#
This file describes the directives and concepts tested by this test set.
test set name: test1
directives:
ex_init, ex_start, t_create, t_start, tm_tick, i_return, t_ident,
tm_set, tm_get, tm_wkafter
concepts:
a. Verifies system can create and start both the executive's system
initialization and idle task.
b. Verifies executive can swap between three application tasks at the
same priority and the executive's internal idle task.
c. Verifies can print strings to the CRT on port 2 of the mvme136 board
using Print and Println in the board support package.
d. Verifies interrupt handler can handle a task switch from an interrupt
as specified with the i_return directive.
e. Verifies executive initialization performed correctly.
f. Verifies the executive trap handler except for the halt function.
g. Verifies that a task can get the task identification number of itself.
output:
"TA1" is printed once every 5 seconds. "TA2" is printed once
every 10 seconds. "TA3" is printed once every 15 seconds.
-18
View File
@@ -1,18 +0,0 @@
*** TEST 1 ***
TA1 - rtems_clock_get - 09:00:00 12/31/1988
TA2 - rtems_clock_get - 09:00:00 12/31/1988
TA3 - rtems_clock_get - 09:00:00 12/31/1988
TA1 - rtems_clock_get - 09:00:05 12/31/1988
TA2 - rtems_clock_get - 09:00:10 12/31/1988
TA1 - rtems_clock_get - 09:00:10 12/31/1988
TA3 - rtems_clock_get - 09:00:15 12/31/1988
TA1 - rtems_clock_get - 09:00:15 12/31/1988
TA2 - rtems_clock_get - 09:00:20 12/31/1988
TA1 - rtems_clock_get - 09:00:20 12/31/1988
TA1 - rtems_clock_get - 09:00:25 12/31/1988
TA3 - rtems_clock_get - 09:00:30 12/31/1988
TA2 - rtems_clock_get - 09:00:30 12/31/1988
TA1 - rtems_clock_get - 09:00:30 12/31/1988
*** END OF TEST 1 ***
NOTE: The order of the prints at each time interval is irrelevant.
-45
View File
@@ -1,45 +0,0 @@
/* 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.rtems.com/license/LICENSE.
*
* $Id$
*/
#include <tmacros.h>
/* functions */
rtems_task Init(
rtems_task_argument argument
);
rtems_task Task_1_through_3(
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_EXTRA_TASK_STACKS (4 * RTEMS_MINIMUM_STACK_SIZE)
#define CONFIGURE_MAXIMUM_TASKS 4
#include <confdefs.h>
/* global variables */
TEST_EXTERN rtems_id Task_id[ 4 ]; /* array of task ids */
TEST_EXTERN rtems_name Task_name[ 4 ]; /* array of task names */
/* end of include file */
-49
View File
@@ -1,49 +0,0 @@
/* Task_1_through_3
*
* This routine serves as a test task. It verifies the basic task
* switching capabilities of the executive.
*
* 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.rtems.com/license/LICENSE.
*
* $Id$
*/
#include "system.h"
rtems_task Task_1_through_3(
rtems_task_argument argument
)
{
rtems_id tid;
rtems_time_of_day time;
rtems_status_code status;
status = rtems_task_ident( RTEMS_SELF, RTEMS_SEARCH_ALL_NODES, &tid );
directive_failed( status, "rtems_task_ident" );
while( FOREVER ) {
status = rtems_clock_get( RTEMS_CLOCK_GET_TOD, &time );
directive_failed( status, "rtems_clock_get" );
if ( time.second >= 35 ) {
puts( "*** END OF TEST 1 ***" );
rtems_test_exit( 0 );
}
put_name( Task_name[ task_number( tid ) ], FALSE );
print_time( " - rtems_clock_get - ", &time, "\n" );
status = rtems_task_wake_after( task_number( tid ) * 5 * TICKS_PER_SECOND );
directive_failed( status, "rtems_task_wake_after" );
}
}
-2
View File
@@ -1,2 +0,0 @@
Makefile
Makefile.in
-38
View File
@@ -1,38 +0,0 @@
##
## $Id$
##
TEST = sp02
MANAGERS = io
C_FILES = init.c task1.c task2.c task3.c preempt.c
C_O_FILES = $(C_FILES:%.c=${ARCH}/%.$(OBJEXT))
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 $(top_srcdir)/../automake/compile.am
include $(top_srcdir)/../automake/leaf.am
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
-151
View File
@@ -1,151 +0,0 @@
/* 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.rtems.com/license/LICENSE.
*
* $Id$
*/
#define TEST_INIT
#include "system.h"
rtems_task Init(
rtems_task_argument argument
)
{
rtems_status_code status;
puts( "\n\n*** TEST 2 ***" );
Preempt_task_name = rtems_build_name( 'P', 'R', 'M', 'T' );
status = rtems_task_create(
Preempt_task_name,
1,
RTEMS_MINIMUM_STACK_SIZE,
RTEMS_DEFAULT_MODES,
RTEMS_DEFAULT_ATTRIBUTES,
&Preempt_task_id
);
directive_failed( status, "rtems_task_create of RTEMS_PREEMPT" );
status = rtems_task_start( Preempt_task_id, Preempt_task, 0 );
directive_failed( status, "rtems_task_start of RTEMS_PREEMPT" );
puts( "INIT - rtems_task_wake_after - yielding processor" );
status = rtems_task_wake_after( RTEMS_YIELD_PROCESSOR );
directive_failed( status, "rtems_task_wake_after" );
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', ' ' );
status = rtems_task_create(
Task_name[ 1 ],
3,
RTEMS_MINIMUM_STACK_SIZE,
RTEMS_DEFAULT_MODES,
RTEMS_DEFAULT_ATTRIBUTES,
&Task_id[ 1 ]
);
directive_failed( status, "rtems_task_create of TA1" );
status = rtems_task_create(
Task_name[ 2 ],
3,
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 ],
3,
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" );
puts( "INIT - suspending TA2 while middle task on a ready chain" );
status = rtems_task_suspend( Task_id[ 2 ] );
directive_failed( status, "rtems_task_suspend of TA2" );
status = rtems_task_delete( Task_id[ 1 ] );
directive_failed( status, "rtems_task_delete of TA1" );
status = rtems_task_delete( Task_id[ 2 ] );
directive_failed( status, "rtems_task_delete of TA2" );
status = rtems_task_delete( Task_id[ 3 ] );
directive_failed( status, "rtems_task_delete of TA3" );
status = rtems_task_create(
Task_name[ 1 ],
1,
RTEMS_MINIMUM_STACK_SIZE,
RTEMS_DEFAULT_MODES,
RTEMS_DEFAULT_ATTRIBUTES,
&Task_id[ 1 ]
);
directive_failed( status, "rtems_task_create of TA1" );
status = rtems_task_create(
Task_name[ 2 ],
3,
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 ],
3,
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" );
status = rtems_task_delete( RTEMS_SELF );
directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
}
-31
View File
@@ -1,31 +0,0 @@
/* Preempt_task
*
* This routine serves as a test task. It verifies the task 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.rtems.com/license/LICENSE.
*
* $Id$
*/
#include "system.h"
rtems_task Preempt_task(
rtems_task_argument argument
)
{
rtems_status_code status;
puts( "PREEMPT - rtems_task_delete - deleting self" );
status = rtems_task_delete( RTEMS_SELF );
directive_failed( status, "rtems_task_delete of RTEMS_PREEMPT" );
}
-36
View File
@@ -1,36 +0,0 @@
#
# $Id$
#
# 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.rtems.com/license/LICENSE.
#
This file describes the directives and concepts tested by this test set.
test set name: test2
directives:
ex_init, ex_start, t_create, t_start, tm_tick, i_return, t_ident,
t_delete, tm_wkafter, t_setpri, t_suspend
concepts:
a. Verifies that a task can delete another task and also delete itself.
b. Verifies that memory is freed back to the heap correctly.
c. Verifies that TCBs are freed back to the inactive chain correctly.
d. Verifies that a task can get the task identification number of
another task.
e. Verifies the _Set_state routine where the task is not READY.
f. Verifies the break statement in the _Block_activate routine.
g. Verifies the while loop in the _Prev_tcb routine.
-15
View File
@@ -1,15 +0,0 @@
*** TEST 2 ***
INIT - rtems_task_wake_after - yielding processor
PREEMPT - rtems_task_delete - deleting self
INIT - suspending TA2 while middle task on a ready chain
TA1 - rtems_task_wake_after - sleep 1 second
TA2 - rtems_task_wake_after - sleep 1 minute
TA3 - rtems_task_wake_after - sleep 5 seconds
TA1 - rtems_task_ident - tid of TA2 (0x0a010004)
TA1 - rtems_task_ident - tid of TA3 (0x0a010002)
TA1 - rtems_task_set_priority - set TA3's priority to 2
TA1 - rtems_task_suspend - suspend TA2
TA1 - rtems_task_delete - delete TA2
TA1 - rtems_task_wake_after - sleep for 5 seconds
TA3 - rtems_task_delete - delete self
*** END OF TEST 2 ***
-58
View File
@@ -1,58 +0,0 @@
/* 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.rtems.com/license/LICENSE.
*
* $Id$
*/
#include <tmacros.h>
/* functions */
rtems_task Init(
rtems_task_argument argument
);
rtems_task Preempt_task(
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
);
/* configuration information */
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
#define CONFIGURE_MAXIMUM_TASKS 4
#include <confdefs.h>
/* global variables */
TEST_EXTERN rtems_id Task_id[ 4 ]; /* array of task ids */
TEST_EXTERN rtems_name Task_name[ 4 ]; /* array of task names */
TEST_EXTERN rtems_id Preempt_task_id; /* preempt task id */
TEST_EXTERN rtems_name Preempt_task_name; /* preempt task name */
/* end of include file */
-72
View File
@@ -1,72 +0,0 @@
/* Task_1
*
* This routine serves as a test task. It verifies the task 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.rtems.com/license/LICENSE.
*
* $Id$
*/
#include "system.h"
rtems_task Task_1(
rtems_task_argument argument
)
{
rtems_id tid2;
rtems_id tid3;
rtems_status_code status;
rtems_name tid2_name;
rtems_unsigned32 previous_priority;
puts( "TA1 - rtems_task_wake_after - sleep 1 second" );
status = rtems_task_wake_after( 1*TICKS_PER_SECOND );
directive_failed( status, "rtems_task_wake_after" );
status = rtems_task_ident( Task_name[ 2 ], RTEMS_SEARCH_ALL_NODES, &tid2 );
directive_failed( status, "rtems_task_ident of TA2" );
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" );
printf( "TA1 - rtems_id_to_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 );
directive_failed( status, "rtems_task_ident of TA3" );
printf( "TA1 - rtems_task_ident - tid of TA3 (0x%.8x)\n", tid3 );
status = rtems_task_set_priority( tid3, 2, &previous_priority );
directive_failed( status, "rtems_task_set_priority" );
puts( "TA1 - rtems_task_set_priority - set TA3's priority to 2" );
puts( "TA1 - rtems_task_suspend - suspend TA2" );
status = rtems_task_suspend( tid2 );
directive_failed( status, "rtems_task_suspend of TA2" );
puts( "TA1 - rtems_task_delete - delete TA2" );
status = rtems_task_delete( tid2 );
directive_failed( status, "rtems_task_delete of TA2" );
puts( "TA1 - rtems_task_wake_after - sleep for 5 seconds" );
status = rtems_task_wake_after( 5*TICKS_PER_SECOND );
directive_failed( status, "rtems_task_wake_after" );
puts( "*** END OF TEST 2 ***" );
rtems_test_exit( 0 );
}
-33
View File
@@ -1,33 +0,0 @@
/* Task_2
*
* This routine serves as a test task. It sleeps for 1 minute but
* does not expect to wake up. Task 1 should suspend then delete it
* so that it appears to never wake up.
*
* 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.rtems.com/license/LICENSE.
*
* $Id$
*/
#include "system.h"
rtems_task Task_2(
rtems_task_argument argument
)
{
rtems_status_code status;
puts( "TA2 - rtems_task_wake_after - sleep 1 minute" );
status = rtems_task_wake_after( 60*TICKS_PER_SECOND );
directive_failed( status, "rtems_task_wake_after in TA2" );
}
-36
View File
@@ -1,36 +0,0 @@
/* Task_3
*
* This routine serves as a test task. It simply sleeps for 5 seconds
* and then deletes itself.
*
* 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.rtems.com/license/LICENSE.
*
* $Id$
*/
#include "system.h"
rtems_task Task_3(
rtems_task_argument argument
)
{
rtems_status_code status;
puts( "TA3 - rtems_task_wake_after - sleep 5 seconds" );
status = rtems_task_wake_after( 5*TICKS_PER_SECOND );
directive_failed( status, "rtems_task_wake_after in TA3" );
puts( "TA3 - rtems_task_delete - delete self" );
status = rtems_task_delete( RTEMS_SELF );
directive_failed( status, "rtems_task_delete of TA3" );
}
-2
View File
@@ -1,2 +0,0 @@
Makefile
Makefile.in
-38
View File
@@ -1,38 +0,0 @@
##
## $Id$
##
TEST = sp03
MANAGERS = io
C_FILES = init.c task1.c task2.c
C_O_FILES = $(C_FILES:%.c=${ARCH}/%.$(OBJEXT))
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 $(top_srcdir)/../automake/compile.am
include $(top_srcdir)/../automake/leaf.am
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
-66
View File
@@ -1,66 +0,0 @@
/* 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.rtems.com/license/LICENSE.
*
* $Id$
*/
#define TEST_INIT
#include "system.h"
rtems_task Init(
rtems_task_argument argument
)
{
rtems_status_code status;
puts( "\n\n*** TEST 3 ***" );
Task_name[ 1 ] = rtems_build_name( 'T', 'A', '1', ' ' );
Task_name[ 2 ] = rtems_build_name( 'T', 'A', '2', ' ' );
status = rtems_task_create(
Task_name[ 1 ],
1,
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 ],
1,
RTEMS_MINIMUM_STACK_SIZE,
RTEMS_DEFAULT_MODES,
RTEMS_DEFAULT_ATTRIBUTES,
&Task_id[ 2 ]
);
directive_failed( status, "rtems_task_create of TA2" );
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_delete( RTEMS_SELF );
directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
}
-23
View File
@@ -1,23 +0,0 @@
#
# $Id$
#
# 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.rtems.com/license/LICENSE.
#
This file describes the directives and concepts tested by this test set.
test set name: test3
directives:
ex_init, ex_start, t_create, t_start, tm_tick, i_return, tm_wkafter,
tm_wkwhen, tm_set, tm_get
concepts:
a. Verifies conversion routines - _Utd_to_etd and _Etd_to_utd
-26
View File
@@ -1,26 +0,0 @@
*** TEST 3 ***
TA1 sets clock: 09:15:00 12/31/1988
TA1 going to sleep: 09:15:00 12/31/1988
TA2 09:15:01 12/31/1988
TA2 09:15:02 12/31/1988
TA2 09:15:03 12/31/1988
TA2 09:15:04 12/31/1988
TA1 awakened: 09:15:05 12/31/1988
TA1 going to sleep: 09:15:05 12/31/1988
TA2 09:15:05 12/31/1988
TA2 09:15:06 12/31/1988
TA2 09:15:07 12/31/1988
TA2 09:15:08 12/31/1988
TA2 09:15:09 12/31/1988
TA1 awakened: 09:15:10 12/31/1988
TA1 going to sleep: 09:15:10 12/31/1988
TA2 09:15:10 12/31/1988
TA2 09:15:11 12/31/1988
TA2 09:15:12 12/31/1988
TA2 09:15:13 12/31/1988
TA2 09:15:14 12/31/1988
TA1 awakened: 09:15:15 12/31/1988
TA1 going to sleep: 09:15:15 12/31/1988
TA2 09:15:15 12/31/1988
TA2 09:15:16 12/31/1988
*** END OF TEST 3 ***
-50
View File
@@ -1,50 +0,0 @@
/* 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.rtems.com/license/LICENSE.
*
* $Id$
*/
#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
);
/* configuration information */
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
#define CONFIGURE_EXTRA_TASK_STACKS (1 * RTEMS_MINIMUM_STACK_SIZE)
#define CONFIGURE_MAXIMUM_TASKS 3
#include <confdefs.h>
/* global variables */
TEST_EXTERN rtems_id Task_id[ 4 ]; /* array of task ids */
TEST_EXTERN rtems_name Task_name[ 4 ]; /* array of task names */
/* end of include file */
-58
View File
@@ -1,58 +0,0 @@
/* Task_1
*
* This routine serves as a test task. It verifies the capability to
* set and read the executives calender and clock.
*
* 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.rtems.com/license/LICENSE.
*
* $Id$
*/
#include "system.h"
rtems_task Task_1(
rtems_task_argument argument
)
{
rtems_status_code status;
rtems_time_of_day time;
build_time( &time, 12, 31, 1988, 9, 15, 0, 0 );
status = rtems_clock_set( &time );
directive_failed( status, "rtems_clock_set" );
put_name( Task_name[ 1 ], FALSE );
print_time( " sets clock: ", &time, "\n" );
while( FOREVER ) {
status = rtems_clock_get( RTEMS_CLOCK_GET_TOD, &time );
directive_failed( status, "rtems_clock_get" );
put_name( Task_name[ 1 ], FALSE );
print_time( " going to sleep: ", &time, "\n" );
time.second += 5;
time.minute += ( time.second / 60 );
time.second %= 60;
time.hour += ( time.minute / 60 );
time.minute %= 60;
time.hour %= 24;
status = rtems_task_wake_when( &time );
directive_failed( status, "rtems_task_wake_when" );
put_name( Task_name[ 1 ], FALSE );
print_time( " awakened: ", &time, "\n" );
}
}
-45
View File
@@ -1,45 +0,0 @@
/* Task_2
*
* This routine serves as a test task. It repeatedly gets the system time
* and date, converts it to printable form, and print it.
*
* 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.rtems.com/license/LICENSE.
*
* $Id$
*/
#include "system.h"
rtems_task Task_2(
rtems_task_argument argument
)
{
rtems_status_code status;
rtems_time_of_day time;
while( FOREVER ) {
status = rtems_task_wake_after( 1*TICKS_PER_SECOND );
directive_failed( status, "rtems_task_wake_after" );
status = rtems_clock_get( RTEMS_CLOCK_GET_TOD, &time );
directive_failed( status, "rtems_clock_get" );
if ( time.second >= 17 ) {
puts( "*** END OF TEST 3 *** " );
rtems_test_exit( 0 );
}
put_name( Task_name[ 2 ], FALSE );
print_time( " ", &time, "\n" );
}
}
-2
View File
@@ -1,2 +0,0 @@
Makefile
Makefile.in
-38
View File
@@ -1,38 +0,0 @@
##
## $Id$
##
TEST = sp04
MANAGERS = io
C_FILES = init.c task1.c task2.c task3.c tswitch.c
C_O_FILES = $(C_FILES:%.c=${ARCH}/%.$(OBJEXT))
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 $(top_srcdir)/../automake/compile.am
include $(top_srcdir)/../automake/leaf.am
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
-109
View File
@@ -1,109 +0,0 @@
/* 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.rtems.com/license/LICENSE.
*
* $Id$
*/
#define TEST_INIT
#include "system.h"
rtems_extensions_table Extensions = {
NULL, /* task create user extension */
NULL, /* task start user extension */
NULL, /* task restart user extension */
NULL, /* task delete user extension */
Task_switch, /* task switch user extension */
NULL, /* task begin user extension */
NULL, /* task exitted user extension */
NULL /* fatal error user extension */
};
rtems_task Init(
rtems_task_argument argument
)
{
rtems_status_code status;
rtems_time_of_day time;
puts( "\n\n*** TEST 4 ***" );
build_time( &time, 12, 31, 1988, 9, 15, 0, 0 );
status = rtems_clock_set( &time );
directive_failed( status, "rtems_clock_set" );
Extension_name[ 1 ] = rtems_build_name( 'E', 'X', 'T', ' ' );
status = rtems_extension_create(
Extension_name[ 1 ],
&Extensions,
&Extension_id[ 1 ]
);
directive_failed( status, "rtems_extension_create" );
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', ' ' );
Run_count[ 1 ] = 0;
Run_count[ 2 ] = 0;
Run_count[ 3 ] = 0;
status = rtems_task_create(
Task_name[ 1 ],
1,
RTEMS_MINIMUM_STACK_SIZE * 2,
RTEMS_TIMESLICE,
RTEMS_DEFAULT_ATTRIBUTES,
&Task_id[ 1 ]
);
directive_failed( status, "rtems_task_create of TA1" );
status = rtems_task_create(
Task_name[ 2 ],
1,
RTEMS_MINIMUM_STACK_SIZE * 2,
RTEMS_TIMESLICE,
RTEMS_DEFAULT_ATTRIBUTES,
&Task_id[ 2 ]
);
directive_failed( status, "rtems_task_create of TA2" );
status = rtems_task_create(
Task_name[ 3 ],
1,
RTEMS_MINIMUM_STACK_SIZE * 2,
RTEMS_TIMESLICE,
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" );
status = rtems_task_delete( RTEMS_SELF );
directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
}
-37
View File
@@ -1,37 +0,0 @@
#
# $Id$
#
# 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.rtems.com/license/LICENSE.
#
This file describes the directives and concepts tested by this test set.
test set name: test4
directives:
ex_init, ex_start, t_create, t_start, tm_tick, i_return,
tm_set, tm_get, ev_receive, t_mode
concepts:
a. Verifies timeslicing ( all tasks are in timeslice mode ).
b. Verifies the tswitch user extension.
c. Verifies the no preemption mode.
d. Verifies time-slice gets reset even if only one task ready.
output:
The task name and the current time are printed out each time that a new
task is being dispatched. The configured timeslice is 100 ticks
( 1 second ); therefore, a task name and the time are printed once
every second. After each task runs 3 times, task 1 changes its mode to
no preempt and runs for about 6 seconds and then changes its mode back to
preempt mode.
-25
View File
@@ -1,25 +0,0 @@
*** TEST 4 ***
TA1 - rtems_task_suspend - on Task 2
TA1 - rtems_task_suspend - on Task 3
TA1 - killing time
TA1 - rtems_task_resume - on Task 2
TA1 - rtems_task_resume - on Task 3
TA1 - rtems_task_mode - change mode to NO RTEMS_PREEMPT
TA1 - 09:15:10 12/31/1988
TA1 - 09:15:11 12/31/1988
TA1 - 09:15:12 12/31/1988
TA1 - 09:15:13 12/31/1988
TA1 - 09:15:14 12/31/1988
TA1 - 09:15:15 12/31/1988
TA1 - rtems_task_mode - change mode to RTEMS_PREEMPT
TA1 - 09:15:00 12/31/1988
TA2 - 09:15:04 12/31/1988
TA3 - 09:15:05 12/31/1988
TA1 - 09:15:06 12/31/1988
TA2 - 09:15:07 12/31/1988
TA3 - 09:15:08 12/31/1988
TA1 - 09:15:09 12/31/1988
TA2 - 09:15:16 12/31/1988
TA3 - 09:15:17 12/31/1988
TA1 - 09:15:18 12/31/1988
*** END OF TEST 4 ***
-81
View File
@@ -1,81 +0,0 @@
/* 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.rtems.com/license/LICENSE.
*
* $Id$
*/
#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
);
void Task_switch(
rtems_tcb *unused,
rtems_tcb *heir
);
/* configuration information */
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
#define CONFIGURE_MAXIMUM_USER_EXTENSIONS 1
#define CONFIGURE_TICKS_PER_TIMESLICE 100
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
#define CONFIGURE_EXTRA_TASK_STACKS (3 * RTEMS_MINIMUM_STACK_SIZE)
#define CONFIGURE_MAXIMUM_TASKS 4
#include <confdefs.h>
/* global variables */
TEST_EXTERN rtems_id Task_id[ 4 ]; /* array of task ids */
TEST_EXTERN rtems_name Task_name[ 4 ]; /* array of task names */
TEST_EXTERN rtems_id Extension_id[ 4 ];
TEST_EXTERN rtems_name Extension_name[ 4 ]; /* array of task names */
/* array of task run counts */
TEST_EXTERN volatile rtems_unsigned32 Run_count[ 4 ];
/*
* Keep track of task switches
*/
struct taskSwitchLog {
int taskIndex;
rtems_time_of_day when;
};
extern struct taskSwitchLog taskSwitchLog[];
extern int taskSwitchLogIndex;
volatile extern int testsFinished;
/* end of include file */
-117
View File
@@ -1,117 +0,0 @@
/* Task_1
*
* This test serves as a test task. It verifies timeslicing activities
* and tswitch extension processing.
*
* 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.rtems.com/license/LICENSE.
*
* $Id$
*/
#include "system.h"
static void
showTaskSwitches (void)
{
int i;
int switches = taskSwitchLogIndex;
for (i = 0 ; i < switches ; i++) {
put_name( Task_name[taskSwitchLog[i].taskIndex], FALSE );
print_time( "- ", &taskSwitchLog[i].when, "\n" );
}
}
rtems_task Task_1(
rtems_task_argument argument
)
{
rtems_unsigned32 seconds;
rtems_unsigned32 old_seconds;
rtems_mode previous_mode;
rtems_time_of_day time;
rtems_status_code status;
rtems_unsigned32 start_time;
rtems_unsigned32 end_time;
puts( "TA1 - rtems_task_suspend - on Task 2" );
status = rtems_task_suspend( Task_id[ 2 ] );
directive_failed( status, "rtems_task_suspend of TA2" );
puts( "TA1 - rtems_task_suspend - on Task 3" );
status = rtems_task_suspend( Task_id[ 3 ] );
directive_failed( status, "rtems_task_suspend of TA3" );
status = rtems_clock_get( RTEMS_CLOCK_GET_SECONDS_SINCE_EPOCH, &start_time );
directive_failed( status, "rtems_clock_get" );
puts( "TA1 - killing time" );
for ( ; ; ) {
status = rtems_clock_get( RTEMS_CLOCK_GET_SECONDS_SINCE_EPOCH, &end_time );
directive_failed( status, "rtems_clock_get" );
if ( end_time > (start_time + 2) )
break;
}
puts( "TA1 - rtems_task_resume - on Task 2" );
status = rtems_task_resume( Task_id[ 2 ] );
directive_failed( status, "rtems_task_resume of TA2" );
puts( "TA1 - rtems_task_resume - on Task 3" );
status = rtems_task_resume( Task_id[ 3 ] );
directive_failed( status, "rtems_task_resume of TA3" );
while ( FOREVER ) {
if ( Run_count[ 1 ] >= 3 ) {
puts( "TA1 - rtems_task_mode - change mode to NO RTEMS_PREEMPT" );
status = rtems_task_mode(
RTEMS_NO_PREEMPT,
RTEMS_PREEMPT_MASK,
&previous_mode
);
directive_failed( status, "rtems_task_mode" );
status = rtems_clock_get( RTEMS_CLOCK_GET_TOD, &time );
directive_failed( status, "rtems_clock_get" );
old_seconds = time.second;
for ( seconds = 0 ; seconds < 6 ; ) {
status = rtems_clock_get( RTEMS_CLOCK_GET_TOD, &time );
directive_failed( status, "rtems_clock_get" );
if ( time.second != old_seconds ) {
old_seconds = time.second;
seconds++;
print_time( "TA1 - ", &time, "\n" );
}
}
puts( "TA1 - rtems_task_mode - change mode to RTEMS_PREEMPT" );
status = rtems_task_mode(
RTEMS_PREEMPT,
RTEMS_PREEMPT_MASK,
&previous_mode
);
directive_failed( status, "rtems_task_mode" );
while ( !testsFinished );
showTaskSwitches ();
puts( "*** END OF TEST 4 ***" );
rtems_test_exit (0);
}
}
}
-28
View File
@@ -1,28 +0,0 @@
/* Task_2
*
* This routine serves as a test task. It is just a CPU bound task
* requiring timesliced operation.
*
* 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.rtems.com/license/LICENSE.
*
* $Id$
*/
#include "system.h"
rtems_task Task_2(
rtems_task_argument argument
)
{
while( FOREVER );
}
-28
View File
@@ -1,28 +0,0 @@
/* Task_3
*
* This routine serves as a test task. It is just a CPU bound task
* requiring timesliced operation.
*
* 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.rtems.com/license/LICENSE.
*
* $Id$
*/
#include "system.h"
rtems_task Task_3(
rtems_task_argument argument
)
{
while( FOREVER );
}
-62
View File
@@ -1,62 +0,0 @@
/* Task_switch
*
* This routine is the tswitch user extension. It determines which
* task is being switched to and displays a message indicating the
* time and date that it gained control.
*
* Input parameters:
* unused - pointer to currently running TCB
* heir - pointer to heir TCB
*
* 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.rtems.com/license/LICENSE.
*
* $Id$
*/
#include "system.h"
struct taskSwitchLog taskSwitchLog[1000];
int taskSwitchLogIndex;
volatile int testsFinished;
rtems_extension Task_switch(
rtems_tcb *unused,
rtems_tcb *heir
)
{
rtems_unsigned32 index;
rtems_time_of_day time;
rtems_status_code status;
index = task_number( heir->Object.id ) - task_number( Task_id[1] ) + 1;
switch( index ) {
case 1:
case 2:
case 3:
Run_count[ index ] += 1;
status = rtems_clock_get( RTEMS_CLOCK_GET_TOD, &time );
directive_failed_with_level( status, "rtems_clock_get", 1 );
if (taskSwitchLogIndex < (sizeof taskSwitchLog / sizeof taskSwitchLog[0])) {
taskSwitchLog[taskSwitchLogIndex].taskIndex = index;
taskSwitchLog[taskSwitchLogIndex].when = time;
taskSwitchLogIndex++;
}
if ( time.second >= 16 )
testsFinished = 1;
break;
case 0:
default:
break;
}
}
-2
View File
@@ -1,2 +0,0 @@
Makefile
Makefile.in
-38
View File
@@ -1,38 +0,0 @@
##
## $Id$
##
TEST = sp05
MANAGERS = io
C_FILES = init.c task1.c task2.c task3.c
C_O_FILES = $(C_FILES:%.c=${ARCH}/%.$(OBJEXT))
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 $(top_srcdir)/../automake/compile.am
include $(top_srcdir)/../automake/leaf.am
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
-80
View File
@@ -1,80 +0,0 @@
/* 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.rtems.com/license/LICENSE.
*
* $Id$
*/
#define TEST_INIT
#include "system.h"
rtems_task Init(
rtems_task_argument argument
)
{
rtems_status_code status;
puts( "\n\n*** TEST 5 ***" );
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', ' ' );
status = rtems_task_create(
Task_name[ 1 ],
1,
RTEMS_MINIMUM_STACK_SIZE,
RTEMS_DEFAULT_MODES,
RTEMS_DEFAULT_ATTRIBUTES,
&Task_id[ 1 ]
);
directive_failed( status, "rtems_task_create of TA1" );
status = rtems_task_create(
Task_name[ 2 ],
1,
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 ],
1,
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" );
status = rtems_task_delete( RTEMS_SELF );
directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
}
-25
View File
@@ -1,25 +0,0 @@
#
# $Id$
#
# 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.rtems.com/license/LICENSE.
#
This file describes the directives and concepts tested by this test set.
test set name: test5
directives:
ex_init, ex_start, t_create, t_start, tm_tick, i_return, t_ident
tm_wkafter, t_suspend, t_resume
concepts:
a. Verifies that a task can be suspended and resumed.
b. Verifies that a task can suspend itself.
-47
View File
@@ -1,47 +0,0 @@
*** TEST 5 ***
TA1 - rtems_task_wake_after - sleep 5 seconds
TA2 - rtems_task_suspend - suspend self
TA3 - rtems_task_suspend - suspend self
TA1 - rtems_task_suspend - suspend TA3
TA1 - rtems_task_resume - resume TA2
TA1 - rtems_task_wake_after - sleep 5 seconds
TA2 - rtems_task_wake_after - sleep 1 second
TA2 - rtems_task_wake_after - sleep 1 second
TA2 - rtems_task_wake_after - sleep 1 second
TA2 - rtems_task_wake_after - sleep 1 second
TA2 - rtems_task_wake_after - sleep 1 second
TA1 - rtems_task_suspend - suspend TA2
TA1 - rtems_task_resume - resume TA3
TA1 - rtems_task_wake_after - sleep 5 seconds
TA3 - rtems_task_wake_after - sleep 1 second
TA3 - rtems_task_wake_after - sleep 1 second
TA3 - rtems_task_wake_after - sleep 1 second
TA3 - rtems_task_wake_after - sleep 1 second
TA3 - rtems_task_wake_after - sleep 1 second
TA1 - rtems_task_suspend - suspend TA3
TA1 - rtems_task_resume - resume TA2
TA1 - rtems_task_wake_after - sleep 5 seconds
TA2 - rtems_task_wake_after - sleep 1 second
TA2 - rtems_task_wake_after - sleep 1 second
TA2 - rtems_task_wake_after - sleep 1 second
TA2 - rtems_task_wake_after - sleep 1 second
TA2 - rtems_task_wake_after - sleep 1 second
TA1 - rtems_task_suspend - suspend TA2
TA1 - rtems_task_resume - resume TA3
TA1 - rtems_task_wake_after - sleep 5 seconds
TA3 - rtems_task_wake_after - sleep 1 second
TA3 - rtems_task_wake_after - sleep 1 second
TA3 - rtems_task_wake_after - sleep 1 second
TA3 - rtems_task_wake_after - sleep 1 second
TA3 - rtems_task_wake_after - sleep 1 second
TA1 - rtems_task_suspend - suspend TA3
TA1 - rtems_task_resume - resume TA2
TA1 - rtems_task_wake_after - sleep 5 seconds
TA2 - rtems_task_wake_after - sleep 1 second
TA2 - rtems_task_wake_after - sleep 1 second
TA2 - rtems_task_wake_after - sleep 1 second
TA2 - rtems_task_wake_after - sleep 1 second
TA2 - rtems_task_wake_after - sleep 1 second
TA1 - rtems_task_suspend - suspend TA2
TA1 - rtems_task_resume - resume TA3
*** END OF TEST 5 ***
-53
View File
@@ -1,53 +0,0 @@
/* 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.rtems.com/license/LICENSE.
*
* $Id$
*/
#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
);
/* configuration information */
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
#define CONFIGURE_TICKS_PER_TIMESLICE 100
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
#define CONFIGURE_MAXIMUM_TASKS 4
#include <confdefs.h>
/* global variables */
TEST_EXTERN rtems_id Task_id[ 4 ]; /* array of task ids */
TEST_EXTERN rtems_name Task_name[ 4 ]; /* array of task names */
/* end of include file */
-77
View File
@@ -1,77 +0,0 @@
/* Task_1
*
* This routine serves as a test task. It verifies that tasks can
* be suspended and resumed.
*
* Input parameters:
* argument - task argument
*
* Output parameters: NONE
*
* NOTE: The rtems_task_suspend() directives fail on the first iteration.
*
* 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.rtems.com/license/LICENSE.
*
* $Id$
*/
#include "system.h"
rtems_task Task_1(
rtems_task_argument argument
)
{
rtems_id tid2;
rtems_id tid3;
rtems_unsigned32 pass;
rtems_status_code status;
status = rtems_task_ident( Task_name[ 2 ], 1, &tid2 );
directive_failed( status, "rtems_task_ident of TA2" );
status = rtems_task_ident( Task_name[ 3 ], 1, &tid3 );
directive_failed( status, "rtems_task_ident of TA3" );
for ( pass=1 ; pass <= 3 ; pass++ ) {
puts( "TA1 - rtems_task_wake_after - sleep 5 seconds" );
status = rtems_task_wake_after( 5*TICKS_PER_SECOND );
directive_failed( status, "rtems_task_wake_after of TA1" );
puts( "TA1 - rtems_task_suspend - suspend TA3" );
status = rtems_task_suspend( tid3 );
if ( pass == 1 ) {
fatal_directive_status(
status,
RTEMS_ALREADY_SUSPENDED,
"rtems_task_suspend of TA3"
);
} else {
directive_failed( status, "rtems_task_suspend of TA3" );
}
puts( "TA1 - rtems_task_resume - resume TA2" );
status = rtems_task_resume( tid2 );
directive_failed( status, "rtems_task_resume of TA2" );
puts( "TA1 - rtems_task_wake_after - sleep 5 seconds" );
status = rtems_task_wake_after( 5*TICKS_PER_SECOND );
directive_failed( status, "rtems_task_wake_after" );
puts( "TA1 - rtems_task_suspend - suspend TA2" );
status = rtems_task_suspend( tid2 );
directive_failed( status, "rtems_task_suspend of TA2" );
puts( "TA1 - rtems_task_resume - resume TA3" );
status = rtems_task_resume( tid3 );
directive_failed( status, "rtems_task_resume" );
}
puts( "*** END OF TEST 5 ***" );
rtems_test_exit( 0 );
}
-38
View File
@@ -1,38 +0,0 @@
/* Task_2
*
* This routine serves as a test task. Makes sure a task can suspend
* itself.
*
* 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.rtems.com/license/LICENSE.
*
* $Id$
*/
#include "system.h"
rtems_task Task_2(
rtems_task_argument argument
)
{
rtems_status_code status;
puts( "TA2 - rtems_task_suspend - suspend self" );
status = rtems_task_suspend( RTEMS_SELF );
directive_failed( status, "rtems_task_suspend of TA2" );
while( FOREVER ) {
puts( "TA2 - rtems_task_wake_after - sleep 1 second" );
status = rtems_task_wake_after( 1*TICKS_PER_SECOND );
directive_failed( status, "rtems_task_wake_after of TA2" );
}
}
-38
View File
@@ -1,38 +0,0 @@
/* Task_3
*
* This routine serves as a test task. Makes sure a task can suspend
* itself.
*
* 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.rtems.com/license/LICENSE.
*
* $Id$
*/
#include "system.h"
rtems_task Task_3(
rtems_task_argument argument
)
{
rtems_status_code status;
puts( "TA3 - rtems_task_suspend - suspend self" );
status = rtems_task_suspend( RTEMS_SELF );
directive_failed( status, "rtems_task_suspend of TA3" );
while( FOREVER ) {
puts( "TA3 - rtems_task_wake_after - sleep 1 second" );
status = rtems_task_wake_after( 1*TICKS_PER_SECOND );
directive_failed( status, "rtems_task_wake_after of TA3" );
}
}
-2
View File
@@ -1,2 +0,0 @@
Makefile
Makefile.in

Some files were not shown because too many files have changed in this diff Show More