mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-09-24 15:38:34 +08:00
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:
@@ -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
@@ -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
|
||||
@@ -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.
|
||||
|
||||
|
||||
@@ -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
|
||||
@@ -1,2 +0,0 @@
|
||||
Makefile
|
||||
Makefile.in
|
||||
@@ -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
|
||||
@@ -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" );
|
||||
}
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
@@ -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 */
|
||||
@@ -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" );
|
||||
}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
Makefile
|
||||
Makefile.in
|
||||
@@ -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
|
||||
@@ -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" );
|
||||
}
|
||||
@@ -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" );
|
||||
}
|
||||
@@ -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.
|
||||
@@ -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 ***
|
||||
@@ -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 */
|
||||
@@ -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 );
|
||||
}
|
||||
@@ -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" );
|
||||
}
|
||||
@@ -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" );
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
Makefile
|
||||
Makefile.in
|
||||
@@ -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
|
||||
@@ -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" );
|
||||
}
|
||||
@@ -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
|
||||
@@ -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 ***
|
||||
@@ -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 */
|
||||
@@ -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" );
|
||||
}
|
||||
}
|
||||
@@ -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" );
|
||||
}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
Makefile
|
||||
Makefile.in
|
||||
@@ -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
|
||||
@@ -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" );
|
||||
}
|
||||
@@ -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.
|
||||
@@ -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 ***
|
||||
@@ -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 */
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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 );
|
||||
}
|
||||
@@ -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 );
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
Makefile
|
||||
Makefile.in
|
||||
@@ -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
|
||||
@@ -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" );
|
||||
}
|
||||
@@ -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.
|
||||
@@ -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 ***
|
||||
@@ -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 */
|
||||
@@ -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 );
|
||||
}
|
||||
@@ -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" );
|
||||
}
|
||||
}
|
||||
@@ -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" );
|
||||
}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
Makefile
|
||||
Makefile.in
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user