forked from Imagelibrary/rtems
Merged from 4.5.0-beta3a
This commit is contained in:
@@ -1,8 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
TEST = itronhello
|
||||
PGM = ${ARCH}/$(TEST).exe
|
||||
|
||||
@@ -12,7 +13,7 @@ C_FILES = init.c
|
||||
C_O_FILES = $(C_FILES:%.c=${ARCH}/%.o)
|
||||
|
||||
H_FILES = system.h
|
||||
noinst_HEADERS =$(H_FILES)
|
||||
noinst_HEADERS = $(H_FILES)
|
||||
|
||||
DOCTYPES = doc scn
|
||||
DOCS = $(DOCTYPES:%=$(TEST).%)
|
||||
@@ -22,8 +23,6 @@ OBJS = $(C_O_FILES)
|
||||
|
||||
PRINT_SRCS = $(DOCS)
|
||||
|
||||
PGM = ${ARCH}/$(TEST).exe
|
||||
|
||||
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
|
||||
include $(RTEMS_ROOT)/make/leaf.cfg
|
||||
include $(top_srcdir)/itrontests.am
|
||||
|
||||
@@ -22,7 +22,9 @@ void ITRON_Init( void );
|
||||
|
||||
/* configuration information */
|
||||
|
||||
#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
|
||||
#define CONFIGURE_MAXIMUM_ITRON_TASKS 1
|
||||
|
||||
#define CONFIGURE_ITRON_INIT_TASK_TABLE
|
||||
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
TEST = itronmbf01
|
||||
PGM = ${ARCH}/$(TEST).exe
|
||||
|
||||
@@ -12,7 +13,7 @@ C_FILES = init.c
|
||||
C_O_FILES = $(C_FILES:%.c=${ARCH}/%.o)
|
||||
|
||||
H_FILES = system.h
|
||||
noinst_HEADERS =$(H_FILES)
|
||||
noinst_HEADERS = $(H_FILES)
|
||||
|
||||
DOCTYPES = doc scn
|
||||
DOCS = $(DOCTYPES:%=$(TEST).%)
|
||||
@@ -22,8 +23,6 @@ OBJS = $(C_O_FILES)
|
||||
|
||||
PRINT_SRCS = $(DOCS)
|
||||
|
||||
PGM = ${ARCH}/$(TEST).exe
|
||||
|
||||
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
|
||||
include $(RTEMS_ROOT)/make/leaf.cfg
|
||||
include $(top_srcdir)/itrontests.am
|
||||
|
||||
@@ -22,11 +22,13 @@ void ITRON_Init( void );
|
||||
|
||||
/* configuration information */
|
||||
|
||||
#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
||||
|
||||
#define CONFIGURE_MAXIMUM_ITRON_TASKS 1
|
||||
#define CONFIGURE_MAXIMUM_ITRON_MESSAGE_BUFFERS 10
|
||||
|
||||
#define CONFIGURE_ITRON_INIT_TASK_TABLE
|
||||
#define CONFIGURE_MAXIMUM_ITRON_MESSAGE_BUFFERS 10
|
||||
#define CONFIGURE_ITRON_INIT_TASK_STACK_SIZE (4 * RTEMS_MINIMUM_STACK_SIZE)
|
||||
|
||||
#include <confdefs.h>
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
TEST = itronmbox01
|
||||
PGM = ${ARCH}/$(TEST).exe
|
||||
|
||||
@@ -12,7 +13,7 @@ C_FILES = init.c
|
||||
C_O_FILES = $(C_FILES:%.c=${ARCH}/%.o)
|
||||
|
||||
H_FILES = system.h
|
||||
noinst_HEADERS =$(H_FILES)
|
||||
noinst_HEADERS = $(H_FILES)
|
||||
|
||||
DOCTYPES = doc scn
|
||||
DOCS = $(DOCTYPES:%=$(TEST).%)
|
||||
@@ -22,8 +23,6 @@ OBJS = $(C_O_FILES)
|
||||
|
||||
PRINT_SRCS = $(DOCS)
|
||||
|
||||
PGM = ${ARCH}/$(TEST).exe
|
||||
|
||||
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
|
||||
include $(RTEMS_ROOT)/make/leaf.cfg
|
||||
include $(top_srcdir)/itrontests.am
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
*** ITRON MBOX TEST 01 ***
|
||||
ITRON Mailboxes are implemented but there is currently no test.
|
||||
*** END OF ITRON MBOX TEST 01 ***
|
||||
|
||||
@@ -22,7 +22,9 @@ void ITRON_Init( void );
|
||||
|
||||
/* configuration information */
|
||||
|
||||
#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
|
||||
#define CONFIGURE_MAXIMUM_ITRON_TASKS 1
|
||||
|
||||
#define CONFIGURE_ITRON_INIT_TASK_TABLE
|
||||
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
TEST = itronsem01
|
||||
PGM = ${ARCH}/$(TEST).exe
|
||||
|
||||
@@ -12,7 +13,7 @@ C_FILES = init.c
|
||||
C_O_FILES = $(C_FILES:%.c=${ARCH}/%.o)
|
||||
|
||||
H_FILES = system.h
|
||||
noinst_HEADERS =$(H_FILES)
|
||||
noinst_HEADERS = $(H_FILES)
|
||||
|
||||
DOCTYPES = doc scn
|
||||
DOCS = $(DOCTYPES:%=$(TEST).%)
|
||||
@@ -22,8 +23,6 @@ OBJS = $(C_O_FILES)
|
||||
|
||||
PRINT_SRCS = $(DOCS)
|
||||
|
||||
PGM = ${ARCH}/$(TEST).exe
|
||||
|
||||
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
|
||||
include $(RTEMS_ROOT)/make/leaf.cfg
|
||||
include $(top_srcdir)/itrontests.am
|
||||
|
||||
@@ -54,6 +54,7 @@ void ITRON_Init( void )
|
||||
assert( status == E_PAR );
|
||||
|
||||
puts( "Init - cre_sem - isemcnt > maxsem returns E_PAR" );
|
||||
pk_csem.sematr = 0;
|
||||
pk_csem.isemcnt = 3;
|
||||
pk_csem.maxsem = 2;
|
||||
status = cre_sem( 1, &pk_csem );
|
||||
|
||||
@@ -23,11 +23,13 @@ void ITRON_Init( void );
|
||||
|
||||
/* configuration information */
|
||||
|
||||
#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER
|
||||
#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
|
||||
#define CONFIGURE_MAXIMUM_ITRON_TASKS 1
|
||||
#define CONFIGURE_MAXIMUM_ITRON_SEMAPHORES 10
|
||||
|
||||
#define CONFIGURE_ITRON_INIT_TASK_TABLE
|
||||
#define CONFIGURE_MAXIMUM_ITRON_SEMAPHORES 10
|
||||
|
||||
#include <confdefs.h>
|
||||
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
TEST = itrontask01
|
||||
PGM = ${ARCH}/$(TEST).exe
|
||||
|
||||
@@ -12,7 +13,7 @@ C_FILES = init.c task1.c
|
||||
C_O_FILES = $(C_FILES:%.c=${ARCH}/%.o)
|
||||
|
||||
H_FILES = system.h
|
||||
noinst_HEADERS =$(H_FILES)
|
||||
noinst_HEADERS = $(H_FILES)
|
||||
|
||||
DOCTYPES = doc scn
|
||||
DOCS = $(DOCTYPES:%=$(TEST).%)
|
||||
@@ -22,8 +23,6 @@ OBJS = $(C_O_FILES)
|
||||
|
||||
PRINT_SRCS = $(DOCS)
|
||||
|
||||
PGM = ${ARCH}/$(TEST).exe
|
||||
|
||||
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
|
||||
include $(RTEMS_ROOT)/make/leaf.cfg
|
||||
include $(top_srcdir)/itrontests.am
|
||||
|
||||
@@ -23,8 +23,10 @@ void Task_2_through_4();
|
||||
|
||||
/* configuration information */
|
||||
|
||||
#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
||||
|
||||
#define CONFIGURE_MAXIMUM_ITRON_TASKS 4
|
||||
|
||||
#define CONFIGURE_ITRON_INIT_TASK_TABLE
|
||||
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
TEST = itrontask02
|
||||
PGM = ${ARCH}/$(TEST).exe
|
||||
|
||||
@@ -12,7 +13,7 @@ C_FILES = init.c dormant.c
|
||||
C_O_FILES = $(C_FILES:%.c=${ARCH}/%.o)
|
||||
|
||||
H_FILES = system.h
|
||||
noinst_HEADERS =$(H_FILES)
|
||||
noinst_HEADERS = $(H_FILES)
|
||||
|
||||
DOCTYPES = doc scn
|
||||
DOCS = $(DOCTYPES:%=$(TEST).%)
|
||||
@@ -22,8 +23,6 @@ OBJS = $(C_O_FILES)
|
||||
|
||||
PRINT_SRCS = $(DOCS)
|
||||
|
||||
PGM = ${ARCH}/$(TEST).exe
|
||||
|
||||
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
|
||||
include $(RTEMS_ROOT)/make/leaf.cfg
|
||||
include $(top_srcdir)/itrontests.am
|
||||
|
||||
@@ -24,7 +24,10 @@ void Non_Dormant_task();
|
||||
|
||||
/* configuration information */
|
||||
|
||||
#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
|
||||
#define CONFIGURE_MAXIMUM_ITRON_TASKS 5
|
||||
|
||||
#define CONFIGURE_ITRON_INIT_TASK_TABLE
|
||||
|
||||
#include <confdefs.h>
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
TEST = itrontask03
|
||||
PGM = ${ARCH}/$(TEST).exe
|
||||
|
||||
@@ -12,7 +13,7 @@ C_FILES = init.c preempt.c task1.c task2.c task3.c
|
||||
C_O_FILES = $(C_FILES:%.c=${ARCH}/%.o)
|
||||
|
||||
H_FILES = system.h
|
||||
noinst_HEADERS =$(H_FILES)
|
||||
noinst_HEADERS = $(H_FILES)
|
||||
|
||||
DOCTYPES = doc scn
|
||||
DOCS = $(DOCTYPES:%=$(TEST).%)
|
||||
@@ -22,8 +23,6 @@ OBJS = $(C_O_FILES)
|
||||
|
||||
PRINT_SRCS = $(DOCS)
|
||||
|
||||
PGM = ${ARCH}/$(TEST).exe
|
||||
|
||||
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
|
||||
include $(RTEMS_ROOT)/make/leaf.cfg
|
||||
include $(top_srcdir)/itrontests.am
|
||||
|
||||
@@ -26,8 +26,11 @@ void Task_3();
|
||||
|
||||
/* configuration information */
|
||||
|
||||
#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
||||
|
||||
#define CONFIGURE_MAXIMUM_ITRON_TASKS 6
|
||||
|
||||
#define CONFIGURE_ITRON_INIT_TASK_TABLE
|
||||
|
||||
#include <confdefs.h>
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
TEST = itrontask04
|
||||
PGM = ${ARCH}/$(TEST).exe
|
||||
|
||||
@@ -12,7 +13,7 @@ C_FILES = init.c task1.c task2.c task3.c
|
||||
C_O_FILES = $(C_FILES:%.c=${ARCH}/%.o)
|
||||
|
||||
H_FILES = system.h
|
||||
noinst_HEADERS =$(H_FILES)
|
||||
noinst_HEADERS = $(H_FILES)
|
||||
|
||||
DOCTYPES = doc scn
|
||||
DOCS = $(DOCTYPES:%=$(TEST).%)
|
||||
@@ -22,8 +23,6 @@ OBJS = $(C_O_FILES)
|
||||
|
||||
PRINT_SRCS = $(DOCS)
|
||||
|
||||
PGM = ${ARCH}/$(TEST).exe
|
||||
|
||||
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
|
||||
include $(RTEMS_ROOT)/make/leaf.cfg
|
||||
include $(top_srcdir)/itrontests.am
|
||||
|
||||
@@ -26,8 +26,11 @@ void Task_3();
|
||||
|
||||
/* configuration information */
|
||||
|
||||
#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
||||
|
||||
#define CONFIGURE_MAXIMUM_ITRON_TASKS 5
|
||||
|
||||
#define CONFIGURE_ITRON_INIT_TASK_TABLE
|
||||
|
||||
#include <confdefs.h>
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
TEST = itrontime01
|
||||
PGM = ${ARCH}/$(TEST).exe
|
||||
|
||||
@@ -12,7 +13,7 @@ C_FILES = init.c
|
||||
C_O_FILES = $(C_FILES:%.c=${ARCH}/%.o)
|
||||
|
||||
H_FILES = system.h
|
||||
noinst_HEADERS =$(H_FILES)
|
||||
noinst_HEADERS = $(H_FILES)
|
||||
|
||||
DOCTYPES = doc scn
|
||||
DOCS = $(DOCTYPES:%=$(TEST).%)
|
||||
@@ -22,8 +23,6 @@ OBJS = $(C_O_FILES)
|
||||
|
||||
PRINT_SRCS = $(DOCS)
|
||||
|
||||
PGM = ${ARCH}/$(TEST).exe
|
||||
|
||||
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
|
||||
include $(RTEMS_ROOT)/make/leaf.cfg
|
||||
include $(top_srcdir)/itrontests.am
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
*** ITRON TIME TEST 01 ***
|
||||
The Time Services are not completely implemented.
|
||||
*** END OF ITRON TIME TEST 01 ***
|
||||
|
||||
|
||||
@@ -22,7 +22,9 @@ void ITRON_Init( void );
|
||||
|
||||
/* configuration information */
|
||||
|
||||
#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
|
||||
#define CONFIGURE_MAXIMUM_ITRON_TASKS 1
|
||||
|
||||
#define CONFIGURE_ITRON_INIT_TASK_TABLE
|
||||
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
TEST = cpuuse
|
||||
|
||||
MANAGERS = io rate_monotonic
|
||||
@@ -11,7 +12,7 @@ C_FILES = init.c task1.c task2.c task3.c tswitch.c
|
||||
C_O_FILES = $(C_FILES:%.c=${ARCH}/%.o)
|
||||
|
||||
H_FILES = system.h
|
||||
noinst_HEADERS =$(H_FILES)
|
||||
noinst_HEADERS = $(H_FILES)
|
||||
|
||||
DOCTYPES = scn
|
||||
DOCS = $(DOCTYPES:%=$(TEST).%)
|
||||
|
||||
@@ -1,24 +1,34 @@
|
||||
*** TEST 4 ***
|
||||
TA1 - 09:15:00 12/31/1988
|
||||
*** CPU USAGE LIBRARY TEST ***
|
||||
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
|
||||
TA2 - 09:15:03 12/31/1988
|
||||
TA3 - 09:15:04 12/31/1988
|
||||
TA1 - 09:15:05 12/31/1988
|
||||
TA2 - 09:15:06 12/31/1988
|
||||
TA3 - 09:15:07 12/31/1988
|
||||
TA1 - 09:15:08 12/31/1988
|
||||
TA1 - rtems_task_mode - change mode to NO RTEMS_PREEMPT
|
||||
TA1 - 09:15:09 12/31/1988
|
||||
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
|
||||
TA2 - 09:15:15 12/31/1988
|
||||
TA3 - 09:15:16 12/31/1988
|
||||
*** END OF TEST 4 ***
|
||||
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
|
||||
CPU Usage by thread
|
||||
ID NAME TICKS PERCENT
|
||||
0x04010001 IDLE 0 0.000
|
||||
0x08010002 TA1 1203 0.748
|
||||
0x08010003 TA2 204 0.127
|
||||
0x08010004 TA3 202 0.126
|
||||
|
||||
Ticks since last reset = 1601
|
||||
|
||||
Total Units = 1609
|
||||
*** END OF CPU USAGE LIBRARY TEST ***
|
||||
NOTE: Actual time per task will vary but there should be no IDLE time.
|
||||
|
||||
@@ -40,12 +40,11 @@ void Task_switch(
|
||||
|
||||
/* configuration information */
|
||||
|
||||
#define CONFIGURE_SPTEST
|
||||
|
||||
#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
||||
|
||||
#define CONFIGURE_MAXIMUM_USER_EXTENSIONS 1
|
||||
#define CONFIGURE_MAXIMUM_TASKS 4
|
||||
#define CONFIGURE_TICKS_PER_TIMESLICE 100
|
||||
|
||||
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
|
||||
@@ -64,5 +63,19 @@ 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 */
|
||||
|
||||
@@ -20,9 +20,28 @@
|
||||
|
||||
#include "system.h"
|
||||
|
||||
#include <rtems/cpuuse.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_2(
|
||||
rtems_task_argument argument
|
||||
)
|
||||
{
|
||||
while( FOREVER );
|
||||
while ( !testsFinished );
|
||||
|
||||
showTaskSwitches ();
|
||||
CPU_usage_Dump();
|
||||
puts( "*** END OF CPU USAGE LIBRARY TEST ***" );
|
||||
exit( 0 );
|
||||
}
|
||||
|
||||
@@ -22,7 +22,9 @@
|
||||
|
||||
#include "system.h"
|
||||
|
||||
#include <rtems/cpuuse.h>
|
||||
struct taskSwitchLog taskSwitchLog[1000];
|
||||
int taskSwitchLogIndex;
|
||||
volatile int testsFinished;;
|
||||
|
||||
rtems_extension Task_switch(
|
||||
rtems_tcb *unused,
|
||||
@@ -42,16 +44,18 @@ rtems_extension Task_switch(
|
||||
Run_count[ index ] += 1;
|
||||
|
||||
status = rtems_clock_get( RTEMS_CLOCK_GET_TOD, &time );
|
||||
directive_failed( status, "rtems_clock_get" );
|
||||
fatal_directive_status_with_level( status, RTEMS_SUCCESSFUL,
|
||||
"rtems_clock_get", 1 );
|
||||
|
||||
put_name( Task_name[ index ], FALSE );
|
||||
print_time( "- ", &time, "\n" );
|
||||
|
||||
if ( time.second >= 16 ) {
|
||||
CPU_usage_Dump();
|
||||
puts( "*** END OF CPU USAGE LIBRARY TEST ***" );
|
||||
exit( 0 );
|
||||
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:
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
TEST = malloctest
|
||||
|
||||
MANAGERS = io
|
||||
@@ -11,9 +12,9 @@ C_FILES = init.c task1.c
|
||||
C_O_FILES = $(C_FILES:%.c=${ARCH}/%.o)
|
||||
|
||||
H_FILES = system.h
|
||||
noinst_HEADERS =$(H_FILES)
|
||||
noinst_HEADERS = $(H_FILES)
|
||||
|
||||
DOCTYPES =
|
||||
DOCTYPES = scn
|
||||
DOCS = $(DOCTYPES:%=$(TEST).%)
|
||||
|
||||
SRCS = $(DOCS) $(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
|
||||
|
||||
@@ -0,0 +1,468 @@
|
||||
*** MALLOC TEST ***
|
||||
TA1 - rtems_clock_get - 09:00:00 12/31/1988
|
||||
mallocing 513 bytes
|
||||
TA2 - rtems_clock_get - 09:00:00 12/31/1988
|
||||
mallocing 513 bytes
|
||||
TA3 - rtems_clock_get - 09:00:00 12/31/1988
|
||||
mallocing 513 bytes
|
||||
TA4 - rtems_clock_get - 09:00:00 12/31/1988
|
||||
mallocing 513 bytes
|
||||
TA5 - rtems_clock_get - 09:00:00 12/31/1988
|
||||
mallocing 513 bytes
|
||||
TA1 - rtems_clock_get - 09:00:00 12/31/1988
|
||||
mallocing 175 bytes
|
||||
TA2 - rtems_clock_get - 09:00:00 12/31/1988
|
||||
mallocing 175 bytes
|
||||
TA1 - rtems_clock_get - 09:00:00 12/31/1988
|
||||
mallocing 308 bytes
|
||||
TA3 - rtems_clock_get - 09:00:00 12/31/1988
|
||||
mallocing 175 bytes
|
||||
TA1 - rtems_clock_get - 09:00:00 12/31/1988
|
||||
mallocing 534 bytes
|
||||
TA2 - rtems_clock_get - 09:00:01 12/31/1988
|
||||
mallocing 308 bytes
|
||||
TA4 - rtems_clock_get - 09:00:01 12/31/1988
|
||||
mallocing 175 bytes
|
||||
TA1 - rtems_clock_get - 09:00:01 12/31/1988
|
||||
mallocing 947 bytes
|
||||
TA5 - rtems_clock_get - 09:00:01 12/31/1988
|
||||
mallocing 175 bytes
|
||||
TA1 - rtems_clock_get - 09:00:01 12/31/1988
|
||||
mallocing 171 bytes
|
||||
TA2 - rtems_clock_get - 09:00:01 12/31/1988
|
||||
mallocing 534 bytes
|
||||
TA3 - rtems_clock_get - 09:00:01 12/31/1988
|
||||
mallocing 308 bytes
|
||||
TA1 - rtems_clock_get - 09:00:01 12/31/1988
|
||||
mallocing 702 bytes
|
||||
TA1 - rtems_clock_get - 09:00:01 12/31/1988
|
||||
mallocing 226 bytes
|
||||
TA2 - rtems_clock_get - 09:00:02 12/31/1988
|
||||
mallocing 947 bytes
|
||||
TA4 - rtems_clock_get - 09:00:02 12/31/1988
|
||||
mallocing 308 bytes
|
||||
TA1 - rtems_clock_get - 09:00:02 12/31/1988
|
||||
mallocing 494 bytes
|
||||
TA3 - rtems_clock_get - 09:00:02 12/31/1988
|
||||
mallocing 534 bytes
|
||||
TA1 - rtems_clock_get - 09:00:02 12/31/1988
|
||||
mallocing 124 bytes
|
||||
TA2 - rtems_clock_get - 09:00:02 12/31/1988
|
||||
mallocing 171 bytes
|
||||
TA5 - rtems_clock_get - 09:00:02 12/31/1988
|
||||
mallocing 308 bytes
|
||||
TA1 - rtems_clock_get - 09:00:02 12/31/1988
|
||||
mallocing 83 bytes
|
||||
TA1 - rtems_clock_get - 09:00:02 12/31/1988
|
||||
mallocing 389 bytes
|
||||
TA2 - rtems_clock_get - 09:00:03 12/31/1988
|
||||
mallocing 702 bytes
|
||||
TA4 - rtems_clock_get - 09:00:03 12/31/1988
|
||||
mallocing 534 bytes
|
||||
TA3 - rtems_clock_get - 09:00:03 12/31/1988
|
||||
mallocing 947 bytes
|
||||
TA1 - rtems_clock_get - 09:00:03 12/31/1988
|
||||
mallocing 277 bytes
|
||||
TA1 - rtems_clock_get - 09:00:03 12/31/1988
|
||||
mallocing 368 bytes
|
||||
TA2 - rtems_clock_get - 09:00:03 12/31/1988
|
||||
mallocing 226 bytes
|
||||
TA1 - rtems_clock_get - 09:00:03 12/31/1988
|
||||
mallocing 983 bytes
|
||||
TA5 - rtems_clock_get - 09:00:03 12/31/1988
|
||||
mallocing 534 bytes
|
||||
TA3 - rtems_clock_get - 09:00:03 12/31/1988
|
||||
mallocing 171 bytes
|
||||
TA1 - rtems_clock_get - 09:00:03 12/31/1988
|
||||
mallocing 535 bytes
|
||||
TA2 - rtems_clock_get - 09:00:04 12/31/1988
|
||||
mallocing 494 bytes
|
||||
TA4 - rtems_clock_get - 09:00:04 12/31/1988
|
||||
mallocing 947 bytes
|
||||
TA1 - rtems_clock_get - 09:00:04 12/31/1988
|
||||
mallocing 765 bytes
|
||||
TA1 - rtems_clock_get - 09:00:04 12/31/1988
|
||||
mallocing 646 bytes
|
||||
TA2 - rtems_clock_get - 09:00:04 12/31/1988
|
||||
mallocing 124 bytes
|
||||
TA3 - rtems_clock_get - 09:00:04 12/31/1988
|
||||
mallocing 702 bytes
|
||||
TA1 - rtems_clock_get - 09:00:04 12/31/1988
|
||||
mallocing 767 bytes
|
||||
TA1 - rtems_clock_get - 09:00:04 12/31/1988
|
||||
mallocing 780 bytes
|
||||
TA2 - rtems_clock_get - 09:00:05 12/31/1988
|
||||
mallocing 83 bytes
|
||||
TA4 - rtems_clock_get - 09:00:05 12/31/1988
|
||||
mallocing 171 bytes
|
||||
TA5 - rtems_clock_get - 09:00:05 12/31/1988
|
||||
mallocing 947 bytes
|
||||
TA1 - rtems_clock_get - 09:00:05 12/31/1988
|
||||
mallocing 822 bytes
|
||||
TA3 - rtems_clock_get - 09:00:05 12/31/1988
|
||||
mallocing 226 bytes
|
||||
TA1 - rtems_clock_get - 09:00:05 12/31/1988
|
||||
mallocing 151 bytes
|
||||
TA2 - rtems_clock_get - 09:00:05 12/31/1988
|
||||
mallocing 389 bytes
|
||||
TA1 - rtems_clock_get - 09:00:05 12/31/1988
|
||||
mallocing 625 bytes
|
||||
TA1 - rtems_clock_get - 09:00:05 12/31/1988
|
||||
mallocing 314 bytes
|
||||
TA2 - rtems_clock_get - 09:00:06 12/31/1988
|
||||
mallocing 277 bytes
|
||||
TA4 - rtems_clock_get - 09:00:06 12/31/1988
|
||||
mallocing 702 bytes
|
||||
TA3 - rtems_clock_get - 09:00:06 12/31/1988
|
||||
mallocing 494 bytes
|
||||
TA1 - rtems_clock_get - 09:00:06 12/31/1988
|
||||
mallocing 346 bytes
|
||||
TA5 - rtems_clock_get - 09:00:06 12/31/1988
|
||||
mallocing 171 bytes
|
||||
TA1 - rtems_clock_get - 09:00:06 12/31/1988
|
||||
mallocing 917 bytes
|
||||
TA2 - rtems_clock_get - 09:00:06 12/31/1988
|
||||
mallocing 368 bytes
|
||||
TA1 - rtems_clock_get - 09:00:06 12/31/1988
|
||||
mallocing 519 bytes
|
||||
TA3 - rtems_clock_get - 09:00:06 12/31/1988
|
||||
mallocing 124 bytes
|
||||
TA1 - rtems_clock_get - 09:00:06 12/31/1988
|
||||
mallocing 401 bytes
|
||||
TA2 - rtems_clock_get - 09:00:07 12/31/1988
|
||||
mallocing 983 bytes
|
||||
TA4 - rtems_clock_get - 09:00:07 12/31/1988
|
||||
mallocing 226 bytes
|
||||
TA1 - rtems_clock_get - 09:00:07 12/31/1988
|
||||
mallocing 606 bytes
|
||||
TA1 - rtems_clock_get - 09:00:07 12/31/1988
|
||||
mallocing 785 bytes
|
||||
TA2 - rtems_clock_get - 09:00:07 12/31/1988
|
||||
mallocing 535 bytes
|
||||
TA5 - rtems_clock_get - 09:00:07 12/31/1988
|
||||
mallocing 702 bytes
|
||||
TA3 - rtems_clock_get - 09:00:07 12/31/1988
|
||||
mallocing 83 bytes
|
||||
TA1 - rtems_clock_get - 09:00:07 12/31/1988
|
||||
mallocing 931 bytes
|
||||
TA1 - rtems_clock_get - 09:00:07 12/31/1988
|
||||
mallocing 869 bytes
|
||||
TA2 - rtems_clock_get - 09:00:08 12/31/1988
|
||||
mallocing 765 bytes
|
||||
TA4 - rtems_clock_get - 09:00:08 12/31/1988
|
||||
mallocing 494 bytes
|
||||
TA1 - rtems_clock_get - 09:00:08 12/31/1988
|
||||
mallocing 866 bytes
|
||||
TA3 - rtems_clock_get - 09:00:08 12/31/1988
|
||||
mallocing 389 bytes
|
||||
TA1 - rtems_clock_get - 09:00:08 12/31/1988
|
||||
mallocing 674 bytes
|
||||
TA2 - rtems_clock_get - 09:00:08 12/31/1988
|
||||
mallocing 646 bytes
|
||||
TA1 - rtems_clock_get - 09:00:08 12/31/1988
|
||||
mallocing 758 bytes
|
||||
TA5 - rtems_clock_get - 09:00:08 12/31/1988
|
||||
mallocing 226 bytes
|
||||
TA1 - rtems_clock_get - 09:00:08 12/31/1988
|
||||
mallocing 581 bytes
|
||||
TA2 - rtems_clock_get - 09:00:09 12/31/1988
|
||||
mallocing 767 bytes
|
||||
TA4 - rtems_clock_get - 09:00:09 12/31/1988
|
||||
mallocing 124 bytes
|
||||
TA3 - rtems_clock_get - 09:00:09 12/31/1988
|
||||
mallocing 277 bytes
|
||||
TA1 - rtems_clock_get - 09:00:09 12/31/1988
|
||||
mallocing 389 bytes
|
||||
TA1 - rtems_clock_get - 09:00:09 12/31/1988
|
||||
mallocing 355 bytes
|
||||
TA2 - rtems_clock_get - 09:00:09 12/31/1988
|
||||
mallocing 780 bytes
|
||||
TA1 - rtems_clock_get - 09:00:09 12/31/1988
|
||||
mallocing 200 bytes
|
||||
TA3 - rtems_clock_get - 09:00:09 12/31/1988
|
||||
mallocing 368 bytes
|
||||
TA1 - rtems_clock_get - 09:00:09 12/31/1988
|
||||
mallocing 826 bytes
|
||||
TA2 - rtems_clock_get - 09:00:10 12/31/1988
|
||||
mallocing 822 bytes
|
||||
TA4 - rtems_clock_get - 09:00:10 12/31/1988
|
||||
mallocing 83 bytes
|
||||
TA5 - rtems_clock_get - 09:00:10 12/31/1988
|
||||
mallocing 494 bytes
|
||||
TA1 - rtems_clock_get - 09:00:10 12/31/1988
|
||||
mallocing 415 bytes
|
||||
TA1 - rtems_clock_get - 09:00:10 12/31/1988
|
||||
mallocing 463 bytes
|
||||
TA2 - rtems_clock_get - 09:00:10 12/31/1988
|
||||
mallocing 151 bytes
|
||||
TA3 - rtems_clock_get - 09:00:10 12/31/1988
|
||||
mallocing 983 bytes
|
||||
TA1 - rtems_clock_get - 09:00:10 12/31/1988
|
||||
mallocing 979 bytes
|
||||
TA1 - rtems_clock_get - 09:00:10 12/31/1988
|
||||
mallocing 126 bytes
|
||||
TA2 - rtems_clock_get - 09:00:11 12/31/1988
|
||||
mallocing 625 bytes
|
||||
TA4 - rtems_clock_get - 09:00:11 12/31/1988
|
||||
mallocing 389 bytes
|
||||
TA1 - rtems_clock_get - 09:00:11 12/31/1988
|
||||
mallocing 212 bytes
|
||||
TA5 - rtems_clock_get - 09:00:11 12/31/1988
|
||||
mallocing 124 bytes
|
||||
TA3 - rtems_clock_get - 09:00:11 12/31/1988
|
||||
mallocing 535 bytes
|
||||
TA1 - rtems_clock_get - 09:00:11 12/31/1988
|
||||
mallocing 958 bytes
|
||||
TA2 - rtems_clock_get - 09:00:11 12/31/1988
|
||||
mallocing 314 bytes
|
||||
TA1 - rtems_clock_get - 09:00:11 12/31/1988
|
||||
mallocing 737 bytes
|
||||
TA1 - rtems_clock_get - 09:00:11 12/31/1988
|
||||
mallocing 409 bytes
|
||||
TA2 - rtems_clock_get - 09:00:12 12/31/1988
|
||||
mallocing 346 bytes
|
||||
TA4 - rtems_clock_get - 09:00:12 12/31/1988
|
||||
mallocing 277 bytes
|
||||
TA3 - rtems_clock_get - 09:00:12 12/31/1988
|
||||
mallocing 765 bytes
|
||||
TA1 - rtems_clock_get - 09:00:12 12/31/1988
|
||||
mallocing 780 bytes
|
||||
TA1 - rtems_clock_get - 09:00:12 12/31/1988
|
||||
mallocing 757 bytes
|
||||
TA2 - rtems_clock_get - 09:00:12 12/31/1988
|
||||
mallocing 917 bytes
|
||||
TA5 - rtems_clock_get - 09:00:12 12/31/1988
|
||||
mallocing 83 bytes
|
||||
TA1 - rtems_clock_get - 09:00:12 12/31/1988
|
||||
mallocing 956 bytes
|
||||
TA3 - rtems_clock_get - 09:00:12 12/31/1988
|
||||
mallocing 646 bytes
|
||||
TA1 - rtems_clock_get - 09:00:12 12/31/1988
|
||||
mallocing 28 bytes
|
||||
TA2 - rtems_clock_get - 09:00:13 12/31/1988
|
||||
mallocing 519 bytes
|
||||
TA4 - rtems_clock_get - 09:00:13 12/31/1988
|
||||
mallocing 368 bytes
|
||||
TA1 - rtems_clock_get - 09:00:13 12/31/1988
|
||||
mallocing 318 bytes
|
||||
TA1 - rtems_clock_get - 09:00:13 12/31/1988
|
||||
mallocing 756 bytes
|
||||
TA2 - rtems_clock_get - 09:00:13 12/31/1988
|
||||
mallocing 401 bytes
|
||||
TA3 - rtems_clock_get - 09:00:13 12/31/1988
|
||||
mallocing 767 bytes
|
||||
TA1 - rtems_clock_get - 09:00:13 12/31/1988
|
||||
mallocing 242 bytes
|
||||
TA5 - rtems_clock_get - 09:00:13 12/31/1988
|
||||
mallocing 389 bytes
|
||||
TA1 - rtems_clock_get - 09:00:13 12/31/1988
|
||||
mallocing 589 bytes
|
||||
TA2 - rtems_clock_get - 09:00:14 12/31/1988
|
||||
mallocing 606 bytes
|
||||
TA4 - rtems_clock_get - 09:00:14 12/31/1988
|
||||
mallocing 983 bytes
|
||||
TA1 - rtems_clock_get - 09:00:14 12/31/1988
|
||||
mallocing 43 bytes
|
||||
TA3 - rtems_clock_get - 09:00:14 12/31/1988
|
||||
mallocing 780 bytes
|
||||
TA1 - rtems_clock_get - 09:00:14 12/31/1988
|
||||
mallocing 956 bytes
|
||||
TA2 - rtems_clock_get - 09:00:14 12/31/1988
|
||||
mallocing 785 bytes
|
||||
TA1 - rtems_clock_get - 09:00:14 12/31/1988
|
||||
mallocing 319 bytes
|
||||
TA1 - rtems_clock_get - 09:00:14 12/31/1988
|
||||
mallocing 59 bytes
|
||||
TA2 - rtems_clock_get - 09:00:15 12/31/1988
|
||||
mallocing 931 bytes
|
||||
TA4 - rtems_clock_get - 09:00:15 12/31/1988
|
||||
mallocing 535 bytes
|
||||
TA5 - rtems_clock_get - 09:00:15 12/31/1988
|
||||
mallocing 277 bytes
|
||||
TA3 - rtems_clock_get - 09:00:15 12/31/1988
|
||||
mallocing 822 bytes
|
||||
TA1 - rtems_clock_get - 09:00:15 12/31/1988
|
||||
mallocing 441 bytes
|
||||
TA1 - rtems_clock_get - 09:00:15 12/31/1988
|
||||
mallocing 915 bytes
|
||||
TA2 - rtems_clock_get - 09:00:15 12/31/1988
|
||||
mallocing 869 bytes
|
||||
TA1 - rtems_clock_get - 09:00:15 12/31/1988
|
||||
mallocing 572 bytes
|
||||
TA3 - rtems_clock_get - 09:00:15 12/31/1988
|
||||
mallocing 151 bytes
|
||||
TA1 - rtems_clock_get - 09:00:15 12/31/1988
|
||||
mallocing 118 bytes
|
||||
TA2 - rtems_clock_get - 09:00:16 12/31/1988
|
||||
mallocing 866 bytes
|
||||
TA4 - rtems_clock_get - 09:00:16 12/31/1988
|
||||
mallocing 765 bytes
|
||||
TA1 - rtems_clock_get - 09:00:16 12/31/1988
|
||||
mallocing 569 bytes
|
||||
TA5 - rtems_clock_get - 09:00:16 12/31/1988
|
||||
mallocing 368 bytes
|
||||
TA1 - rtems_clock_get - 09:00:16 12/31/1988
|
||||
mallocing 252 bytes
|
||||
TA2 - rtems_clock_get - 09:00:16 12/31/1988
|
||||
mallocing 674 bytes
|
||||
TA3 - rtems_clock_get - 09:00:16 12/31/1988
|
||||
mallocing 625 bytes
|
||||
TA1 - rtems_clock_get - 09:00:16 12/31/1988
|
||||
mallocing 495 bytes
|
||||
TA1 - rtems_clock_get - 09:00:16 12/31/1988
|
||||
mallocing 236 bytes
|
||||
TA2 - rtems_clock_get - 09:00:17 12/31/1988
|
||||
mallocing 758 bytes
|
||||
TA4 - rtems_clock_get - 09:00:17 12/31/1988
|
||||
mallocing 646 bytes
|
||||
TA1 - rtems_clock_get - 09:00:17 12/31/1988
|
||||
mallocing 476 bytes
|
||||
TA3 - rtems_clock_get - 09:00:17 12/31/1988
|
||||
mallocing 314 bytes
|
||||
TA1 - rtems_clock_get - 09:00:17 12/31/1988
|
||||
mallocing 406 bytes
|
||||
TA2 - rtems_clock_get - 09:00:17 12/31/1988
|
||||
mallocing 581 bytes
|
||||
TA5 - rtems_clock_get - 09:00:17 12/31/1988
|
||||
mallocing 983 bytes
|
||||
TA1 - rtems_clock_get - 09:00:17 12/31/1988
|
||||
mallocing 872 bytes
|
||||
TA1 - rtems_clock_get - 09:00:17 12/31/1988
|
||||
mallocing 426 bytes
|
||||
TA2 - rtems_clock_get - 09:00:18 12/31/1988
|
||||
mallocing 389 bytes
|
||||
TA4 - rtems_clock_get - 09:00:18 12/31/1988
|
||||
mallocing 767 bytes
|
||||
TA3 - rtems_clock_get - 09:00:18 12/31/1988
|
||||
mallocing 346 bytes
|
||||
TA1 - rtems_clock_get - 09:00:18 12/31/1988
|
||||
mallocing 358 bytes
|
||||
TA1 - rtems_clock_get - 09:00:18 12/31/1988
|
||||
mallocing 381 bytes
|
||||
TA2 - rtems_clock_get - 09:00:18 12/31/1988
|
||||
mallocing 355 bytes
|
||||
TA1 - rtems_clock_get - 09:00:18 12/31/1988
|
||||
mallocing 43 bytes
|
||||
TA5 - rtems_clock_get - 09:00:18 12/31/1988
|
||||
mallocing 535 bytes
|
||||
TA3 - rtems_clock_get - 09:00:18 12/31/1988
|
||||
mallocing 917 bytes
|
||||
TA1 - rtems_clock_get - 09:00:18 12/31/1988
|
||||
mallocing 160 bytes
|
||||
TA2 - rtems_clock_get - 09:00:19 12/31/1988
|
||||
mallocing 200 bytes
|
||||
TA4 - rtems_clock_get - 09:00:19 12/31/1988
|
||||
mallocing 780 bytes
|
||||
TA1 - rtems_clock_get - 09:00:19 12/31/1988
|
||||
mallocing 522 bytes
|
||||
TA1 - rtems_clock_get - 09:00:19 12/31/1988
|
||||
mallocing 696 bytes
|
||||
TA2 - rtems_clock_get - 09:00:19 12/31/1988
|
||||
mallocing 826 bytes
|
||||
TA3 - rtems_clock_get - 09:00:19 12/31/1988
|
||||
mallocing 519 bytes
|
||||
TA1 - rtems_clock_get - 09:00:19 12/31/1988
|
||||
mallocing 97 bytes
|
||||
TA1 - rtems_clock_get - 09:00:19 12/31/1988
|
||||
mallocing 400 bytes
|
||||
TA2 - rtems_clock_get - 09:00:20 12/31/1988
|
||||
mallocing 415 bytes
|
||||
TA4 - rtems_clock_get - 09:00:20 12/31/1988
|
||||
mallocing 822 bytes
|
||||
TA5 - rtems_clock_get - 09:00:20 12/31/1988
|
||||
mallocing 765 bytes
|
||||
TA1 - rtems_clock_get - 09:00:20 12/31/1988
|
||||
mallocing 773 bytes
|
||||
TA3 - rtems_clock_get - 09:00:20 12/31/1988
|
||||
mallocing 401 bytes
|
||||
TA1 - rtems_clock_get - 09:00:20 12/31/1988
|
||||
mallocing 244 bytes
|
||||
TA2 - rtems_clock_get - 09:00:20 12/31/1988
|
||||
mallocing 463 bytes
|
||||
TA1 - rtems_clock_get - 09:00:20 12/31/1988
|
||||
mallocing 342 bytes
|
||||
TA1 - rtems_clock_get - 09:00:20 12/31/1988
|
||||
mallocing 229 bytes
|
||||
TA2 - rtems_clock_get - 09:00:21 12/31/1988
|
||||
mallocing 979 bytes
|
||||
TA4 - rtems_clock_get - 09:00:21 12/31/1988
|
||||
mallocing 151 bytes
|
||||
TA3 - rtems_clock_get - 09:00:21 12/31/1988
|
||||
mallocing 606 bytes
|
||||
TA1 - rtems_clock_get - 09:00:21 12/31/1988
|
||||
mallocing 297 bytes
|
||||
TA5 - rtems_clock_get - 09:00:21 12/31/1988
|
||||
mallocing 646 bytes
|
||||
TA1 - rtems_clock_get - 09:00:21 12/31/1988
|
||||
mallocing 304 bytes
|
||||
TA2 - rtems_clock_get - 09:00:21 12/31/1988
|
||||
mallocing 126 bytes
|
||||
TA1 - rtems_clock_get - 09:00:21 12/31/1988
|
||||
mallocing 887 bytes
|
||||
TA3 - rtems_clock_get - 09:00:21 12/31/1988
|
||||
mallocing 785 bytes
|
||||
TA1 - rtems_clock_get - 09:00:21 12/31/1988
|
||||
mallocing 36 bytes
|
||||
TA2 - rtems_clock_get - 09:00:22 12/31/1988
|
||||
mallocing 212 bytes
|
||||
TA4 - rtems_clock_get - 09:00:22 12/31/1988
|
||||
mallocing 625 bytes
|
||||
TA1 - rtems_clock_get - 09:00:22 12/31/1988
|
||||
mallocing 651 bytes
|
||||
TA1 - rtems_clock_get - 09:00:22 12/31/1988
|
||||
mallocing 398 bytes
|
||||
TA2 - rtems_clock_get - 09:00:22 12/31/1988
|
||||
mallocing 958 bytes
|
||||
TA5 - rtems_clock_get - 09:00:22 12/31/1988
|
||||
mallocing 767 bytes
|
||||
TA3 - rtems_clock_get - 09:00:22 12/31/1988
|
||||
mallocing 931 bytes
|
||||
TA1 - rtems_clock_get - 09:00:22 12/31/1988
|
||||
mallocing 676 bytes
|
||||
TA1 - rtems_clock_get - 09:00:22 12/31/1988
|
||||
mallocing 732 bytes
|
||||
TA2 - rtems_clock_get - 09:00:23 12/31/1988
|
||||
mallocing 737 bytes
|
||||
TA4 - rtems_clock_get - 09:00:23 12/31/1988
|
||||
mallocing 314 bytes
|
||||
TA1 - rtems_clock_get - 09:00:23 12/31/1988
|
||||
mallocing 937 bytes
|
||||
TA3 - rtems_clock_get - 09:00:23 12/31/1988
|
||||
mallocing 869 bytes
|
||||
TA1 - rtems_clock_get - 09:00:23 12/31/1988
|
||||
mallocing 233 bytes
|
||||
TA2 - rtems_clock_get - 09:00:23 12/31/1988
|
||||
mallocing 409 bytes
|
||||
TA1 - rtems_clock_get - 09:00:23 12/31/1988
|
||||
mallocing 838 bytes
|
||||
TA5 - rtems_clock_get - 09:00:23 12/31/1988
|
||||
mallocing 780 bytes
|
||||
TA1 - rtems_clock_get - 09:00:23 12/31/1988
|
||||
mallocing 967 bytes
|
||||
TA2 - rtems_clock_get - 09:00:24 12/31/1988
|
||||
mallocing 780 bytes
|
||||
TA4 - rtems_clock_get - 09:00:24 12/31/1988
|
||||
mallocing 346 bytes
|
||||
TA3 - rtems_clock_get - 09:00:24 12/31/1988
|
||||
mallocing 866 bytes
|
||||
TA1 - rtems_clock_get - 09:00:24 12/31/1988
|
||||
mallocing 778 bytes
|
||||
TA1 - rtems_clock_get - 09:00:24 12/31/1988
|
||||
mallocing 431 bytes
|
||||
TA2 - rtems_clock_get - 09:00:24 12/31/1988
|
||||
mallocing 757 bytes
|
||||
TA1 - rtems_clock_get - 09:00:24 12/31/1988
|
||||
mallocing 674 bytes
|
||||
TA3 - rtems_clock_get - 09:00:24 12/31/1988
|
||||
mallocing 674 bytes
|
||||
TA1 - rtems_clock_get - 09:00:24 12/31/1988
|
||||
mallocing 809 bytes
|
||||
TA2 - rtems_clock_get - 09:00:25 12/31/1988
|
||||
mallocing 956 bytes
|
||||
TA4 - rtems_clock_get - 09:00:25 12/31/1988
|
||||
mallocing 917 bytes
|
||||
TA5 - rtems_clock_get - 09:00:25 12/31/1988
|
||||
mallocing 822 bytes
|
||||
TA1 - rtems_clock_get - 09:00:25 12/31/1988
|
||||
mallocing 158 bytes
|
||||
*** END OF MALLOC TEST ***
|
||||
|
||||
@@ -31,13 +31,14 @@ void blow_stack( void );
|
||||
|
||||
/* configuration information */
|
||||
|
||||
#define CONFIGURE_SPTEST
|
||||
|
||||
#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
||||
|
||||
#define TASK_STACK_SIZE (RTEMS_MINIMUM_STACK_SIZE*3)
|
||||
|
||||
#define CONFIGURE_EXTRA_TASK_STACKS ((RTEMS_MINIMUM_STACK_SIZE*2)*5)
|
||||
#define CONFIGURE_MAXIMUM_TASKS 6
|
||||
|
||||
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
|
||||
|
||||
#include <confdefs.h>
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
TEST = monitor
|
||||
|
||||
MANAGERS = dpmem event io msg mp part region sem signal timer rate_monotonic \
|
||||
@@ -12,7 +13,7 @@ C_FILES = init.c
|
||||
C_O_FILES = $(C_FILES:%.c=${ARCH}/%.o)
|
||||
|
||||
H_FILES = system.h
|
||||
noinst_HEADERS =$(H_FILES)
|
||||
noinst_HEADERS = $(H_FILES)
|
||||
|
||||
DOCTYPES = scn
|
||||
DOCS = #$(DOCTYPES:%=$(TEST).%)
|
||||
|
||||
@@ -35,17 +35,19 @@ void Get_all_counters( void );
|
||||
|
||||
/* configuration information */
|
||||
|
||||
#define CONFIGURE_SPTEST
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
||||
|
||||
#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER
|
||||
#define CONFIGURE_MAXIMUM_TASKS 7
|
||||
#define CONFIGURE_MAXIMUM_PERIODS 10
|
||||
|
||||
#define CONFIGURE_INIT_TASK_PRIORITY 10
|
||||
#define CONFIGURE_INIT_TASK_INITIAL_MODES RTEMS_DEFAULT_MODES
|
||||
#define CONFIGURE_MAXIMUM_PERIODS 10
|
||||
|
||||
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
|
||||
#define CONFIGURE_EXTRA_TASK_STACKS (3 * RTEMS_MINIMUM_STACK_SIZE)
|
||||
|
||||
#define CONFIGURE_EXTRA_TASK_STACKS \
|
||||
(6 * (3 * RTEMS_MINIMUM_STACK_SIZE)) /* our tasks */ + \
|
||||
(1 * RTEMS_MINIMUM_STACK_SIZE) /* monitor tasks */
|
||||
|
||||
#include <confdefs.h>
|
||||
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
TEST = putenvtest
|
||||
|
||||
MANAGERS = io
|
||||
@@ -11,7 +12,7 @@ C_FILES = init.c
|
||||
C_O_FILES = $(C_FILES:%.c=${ARCH}/%.o)
|
||||
|
||||
H_FILES =
|
||||
noinst_HEADERS =$(H_FILES)
|
||||
noinst_HEADERS = $(H_FILES)
|
||||
|
||||
DOCTYPES =
|
||||
DOCS = $(DOCTYPES:%=$(TEST).%)
|
||||
|
||||
@@ -35,13 +35,13 @@ rtems_task Init(
|
||||
|
||||
/* configuration information */
|
||||
|
||||
#define CONFIGURE_SPTEST
|
||||
|
||||
#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
||||
|
||||
#define TASK_STACK_SIZE (RTEMS_MINIMUM_STACK_SIZE*3)
|
||||
|
||||
#define CONFIGURE_MAXIMUM_TASKS 1
|
||||
|
||||
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
|
||||
|
||||
#include <confdefs.h>
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
TEST = rtems++
|
||||
|
||||
MANAGERS = event io msg sem signal timer rate_monotonic
|
||||
@@ -11,7 +12,7 @@ CC_FILES = Init.cc Task1.cc Task2.cc Task3.cc
|
||||
CC_O_FILES = $(CC_FILES:%.cc=${ARCH}/%.o)
|
||||
|
||||
H_FILES = System.h
|
||||
noinst_HEADERS =$(H_FILES)
|
||||
noinst_HEADERS = $(H_FILES)
|
||||
|
||||
DOCTYPES = scn doc
|
||||
DOCS = $(DOCTYPES:%=$(TEST).%)
|
||||
|
||||
@@ -112,11 +112,10 @@ class Io_during_interrupt
|
||||
|
||||
/* configuration information */
|
||||
|
||||
#define CONFIGURE_SPTEST
|
||||
|
||||
#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
||||
|
||||
#define CONFIGURE_MAXIMUM_TASKS 8
|
||||
#define CONFIGURE_MAXIMUM_TIMERS 1
|
||||
#define CONFIGURE_MAXIMUM_SEMAPHORES 2
|
||||
#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 1
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
TEST = rtmonuse
|
||||
|
||||
MANAGERS = io rate_monotonic
|
||||
@@ -11,7 +12,7 @@ C_FILES = init.c getall.c task1.c
|
||||
C_O_FILES = $(C_FILES:%.c=${ARCH}/%.o)
|
||||
|
||||
H_FILES = system.h
|
||||
noinst_HEADERS =$(H_FILES)
|
||||
noinst_HEADERS = $(H_FILES)
|
||||
|
||||
DOCTYPES = scn
|
||||
DOCS = $(DOCTYPES:%=$(TEST).%)
|
||||
|
||||
@@ -35,14 +35,14 @@ void Get_all_counters( void );
|
||||
|
||||
/* configuration information */
|
||||
|
||||
#define CONFIGURE_SPTEST
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
||||
|
||||
#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER
|
||||
#define CONFIGURE_MAXIMUM_TASKS 6
|
||||
#define CONFIGURE_MAXIMUM_PERIODS 10
|
||||
|
||||
#define CONFIGURE_INIT_TASK_PRIORITY 10
|
||||
#define CONFIGURE_INIT_TASK_INITIAL_MODES RTEMS_DEFAULT_MODES
|
||||
#define CONFIGURE_MAXIMUM_PERIODS 10
|
||||
|
||||
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
|
||||
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
TEST = stackchk
|
||||
|
||||
MANAGERS = io
|
||||
@@ -11,7 +12,7 @@ C_FILES = blow.c init.c task1.c
|
||||
C_O_FILES = $(C_FILES:%.c=${ARCH}/%.o)
|
||||
|
||||
H_FILES = system.h
|
||||
noinst_HEADERS =$(H_FILES)
|
||||
noinst_HEADERS = $(H_FILES)
|
||||
|
||||
DOCTYPES = scn
|
||||
DOCS = $(DOCTYPES:%=$(TEST).%)
|
||||
|
||||
@@ -17,8 +17,6 @@
|
||||
|
||||
/* macros */
|
||||
|
||||
#define TASK_STACK_SIZE (RTEMS_MINIMUM_STACK_SIZE*3)
|
||||
|
||||
/* functions */
|
||||
|
||||
rtems_task Init(
|
||||
@@ -33,10 +31,13 @@ void blow_stack( void );
|
||||
|
||||
/* configuration information */
|
||||
|
||||
#define CONFIGURE_SPTEST
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
||||
|
||||
#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER
|
||||
#define TASK_STACK_SIZE (RTEMS_MINIMUM_STACK_SIZE*3)
|
||||
|
||||
#define CONFIGURE_MAXIMUM_TASKS 4
|
||||
#define CONFIGURE_EXTRA_TASK_STACKS (3 * (RTEMS_MINIMUM_STACK_SIZE * 2))
|
||||
|
||||
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
|
||||
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
TEST = termios
|
||||
|
||||
MANAGERS = io
|
||||
@@ -11,7 +12,7 @@ C_FILES = init.c
|
||||
C_O_FILES = $(C_FILES:%.c=${ARCH}/%.o)
|
||||
|
||||
H_FILES =
|
||||
noinst_HEADERS =$(H_FILES)
|
||||
noinst_HEADERS = $(H_FILES)
|
||||
|
||||
DOCTYPES =
|
||||
DOCS = $(DOCTYPES:%=$(TEST).%)
|
||||
|
||||
@@ -4,6 +4,53 @@
|
||||
|
||||
These tests are brought to you by the letter `q'.
|
||||
|
||||
When you start the test, you should see:
|
||||
|
||||
You have the following choices:
|
||||
1 - Reset the struct termios
|
||||
2 - Look at the current termios setting
|
||||
3 - Change the line characteristics
|
||||
4 - Test canonical input
|
||||
5 - Test raw input
|
||||
9 - Exit
|
||||
Enter your choice (1 to 5 or 9, followed by a carriage return):
|
||||
|
||||
The individual tests are briefly described below:
|
||||
|
||||
|
||||
1. Reset the struct termios.
|
||||
|
||||
Included just in case you get into trouble. More than likely, if you are in
|
||||
trouble, neither input nor output are likely to work and this won't help. But
|
||||
hey, it should give you some warm fuzzy feeling that its there...
|
||||
|
||||
|
||||
2. Look at the current termios setting
|
||||
|
||||
Dumps the current state of the termios settings in hex and with symbolic flag
|
||||
names.
|
||||
|
||||
|
||||
3. Change the line characteristics
|
||||
|
||||
Allows you to change the line speed, parity, number of data bits and number of
|
||||
stop bits. You must supply a delay before the change takes effect. This gives
|
||||
you time to switch your terminal settings to continue with the test.
|
||||
|
||||
WARNING: Minicom under Linux gets extremely unhappy (as does the /dev/ttyS?
|
||||
underlying devices) if you change the line characteristics and do not make the
|
||||
corresponding change in the terminal emulator.
|
||||
|
||||
|
||||
4. Test canonical input
|
||||
|
||||
Simple test of canonical or cooked input mode. Try typing some tabs and/or control characters and make sure that you can backspace over them properly.
|
||||
|
||||
|
||||
5. Test raw input
|
||||
|
||||
The line is placed into raw mode and four separate test are done:
|
||||
|
||||
VMIN=0, VTIME=0
|
||||
Each letter you type should produce a line of output.
|
||||
The `count' should be quite large, since (as you correctly
|
||||
@@ -23,18 +70,19 @@ VMIN=5, VTIME=0
|
||||
the test.
|
||||
VMIN=5, VTIME=20
|
||||
Type a character. Two seconds later a line should be printed.
|
||||
Count should be 1. Type a character, and another within 2
|
||||
seconds.
|
||||
Two seconds after last character (or right after the 5th
|
||||
character)
|
||||
Count should be 1. Type a character, and another within 2 seconds.
|
||||
Two seconds after last character (or right after the 5th character)
|
||||
a line should be printed.
|
||||
Type a `q' as the first character of a group to finish the test.
|
||||
|
||||
|
||||
|
||||
9. Exit
|
||||
|
||||
Gets you out of the test.
|
||||
|
||||
|
||||
Clear???
|
||||
|
||||
Also, when testing the cooked mode input, try typing some tabs
|
||||
and/or control characters and make sure that you can backspace over
|
||||
them properly.
|
||||
|
||||
---
|
||||
Eric Norum
|
||||
@@ -43,3 +91,9 @@ Saskatchewan Accelerator Laboratory
|
||||
University of Saskatchewan
|
||||
Saskatoon, Canada.
|
||||
|
||||
Charles-Antoine Gauthier
|
||||
Software Engineering Group
|
||||
Institute for Information Technology
|
||||
National Research Council of Canada
|
||||
charles.gauthier@nrc.ca
|
||||
|
||||
|
||||
@@ -3,34 +3,38 @@
|
||||
*
|
||||
* This program may be distributed and used for any purpose.
|
||||
* I ask only that you:
|
||||
* 1. Leave this author information intact.
|
||||
* 2. Document any changes you make.
|
||||
* 1. Leave this author information intact.
|
||||
* 2. Document any changes you make.
|
||||
*
|
||||
* W. Eric Norum
|
||||
* Saskatchewan Accelerator Laboratory
|
||||
* University of Saskatchewan
|
||||
* Saskatoon, Saskatchewan, CANADA
|
||||
* eric@skatter.usask.ca
|
||||
*
|
||||
* Additions:
|
||||
* Charles-Antoine Gauthier
|
||||
* Software Engineering Group
|
||||
* Institute for Information Technology
|
||||
* National Research Council of Canada
|
||||
* charles.gauthier@nrc.ca
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#include <bsp.h>
|
||||
|
||||
#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER
|
||||
#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
|
||||
#define CONFIGURE_MAXIMUM_TASKS 1
|
||||
|
||||
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
|
||||
|
||||
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
|
||||
|
||||
#define CONFIGURE_MAXIMUM_SEMAPHORES 20
|
||||
#define CONFIGURE_MAXIMUM_TIMERS 5
|
||||
#define CONFIGURE_MAXIMUM_PERIODS 1
|
||||
|
||||
#define CONFIGURE_MICROSECONDS_PER_TICK 1000
|
||||
#define CONFIGURE_MICROSECONDS_PER_TICK 1000
|
||||
|
||||
#define CONFIGURE_INIT
|
||||
|
||||
rtems_task Init (rtems_task_argument argument);
|
||||
|
||||
#include <confdefs.h>
|
||||
@@ -41,105 +45,724 @@ rtems_task Init (rtems_task_argument argument);
|
||||
#include <errno.h>
|
||||
#include <string.h>
|
||||
|
||||
#if !defined(fileno)
|
||||
int fileno( FILE *stream); /* beyond ANSI */
|
||||
#endif
|
||||
|
||||
/* Some of the termios dumping code depends on bit positions! */
|
||||
|
||||
void print_32bits( unsigned long bits, unsigned char size, char * names[] )
|
||||
{
|
||||
unsigned char i;
|
||||
|
||||
for( i = 0; i < size; i++ ) {
|
||||
if( (bits >> i) & 0x1 )
|
||||
printf( "%s ", names[i] );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void print_c_iflag( struct termios * tp )
|
||||
{
|
||||
char * c_iflag_bits [] = {
|
||||
"IGNBRK", /* 0000001 */
|
||||
"BRKINT", /* 0000002 */
|
||||
"IGNPAR", /* 0000004 */
|
||||
"PARMRK", /* 0000010 */
|
||||
"INPCK", /* 0000020 */
|
||||
"ISTRIP", /* 0000040 */
|
||||
"INLCR", /* 0000100 */
|
||||
"IGNCR", /* 0000200 */
|
||||
"ICRNL", /* 0000400 */
|
||||
"IUCLC", /* 0001000 */
|
||||
"IXON", /* 0002000 */
|
||||
"IXANY", /* 0004000 */
|
||||
"IXOFF", /* 0010000 */
|
||||
"IMAXBEL", /* 0020000 */
|
||||
"unknown", /* 0040000 */
|
||||
"unknown", /* 0100000 */
|
||||
"unknown", /* 0200000 */
|
||||
"unknown", /* 0400000 */
|
||||
"unknown", /* 1000000 */
|
||||
"unknown", /* 2000000 */
|
||||
"unknown" /* 4000000 */
|
||||
};
|
||||
|
||||
printf( "c_iflag = 0x%08x\n\t", tp->c_iflag );
|
||||
print_32bits( tp->c_iflag, sizeof( c_iflag_bits )/sizeof( char * ), c_iflag_bits );
|
||||
printf( "\n" );
|
||||
}
|
||||
|
||||
|
||||
void print_c_oflag( struct termios * tp )
|
||||
{
|
||||
printf( "c_oflag = 0x%08x\n\t", tp->c_oflag );
|
||||
|
||||
if( tp->c_oflag & OPOST )
|
||||
printf( "OPOST " );
|
||||
|
||||
if( tp->c_oflag & OLCUC )
|
||||
printf( "OLCUC " );
|
||||
|
||||
if( tp->c_oflag & ONLCR )
|
||||
printf( "ONLCR " );
|
||||
|
||||
if( tp->c_oflag & OCRNL )
|
||||
printf( "OCRNL " );
|
||||
|
||||
if( tp->c_oflag & ONOCR )
|
||||
printf( "ONOCR " );
|
||||
|
||||
if( tp->c_oflag & ONLRET )
|
||||
printf( "ONLRET " );
|
||||
|
||||
if( tp->c_oflag & OFILL )
|
||||
printf( "OFILL " );
|
||||
|
||||
if( tp->c_oflag & OFDEL )
|
||||
printf( "OFDEL " );
|
||||
|
||||
switch( tp->c_oflag & NLDLY ) {
|
||||
case NL0:
|
||||
printf( "NL0 " );
|
||||
break;
|
||||
|
||||
case NL1:
|
||||
printf( "NL1 " );
|
||||
break;
|
||||
}
|
||||
|
||||
switch( tp->c_oflag & CRDLY ) {
|
||||
case CR0:
|
||||
printf( "CR0 " );
|
||||
break;
|
||||
|
||||
case CR1:
|
||||
printf( "CR1 " );
|
||||
break;
|
||||
|
||||
case CR2:
|
||||
printf( "CR2 " );
|
||||
break;
|
||||
|
||||
case CR3:
|
||||
printf( "CR3 " );
|
||||
break;
|
||||
}
|
||||
|
||||
switch( tp->c_oflag & TABDLY ) {
|
||||
case TAB0:
|
||||
printf( "TAB0 " );
|
||||
break;
|
||||
|
||||
case TAB1:
|
||||
printf( "TAB1 " );
|
||||
break;
|
||||
|
||||
case TAB2:
|
||||
printf( "TAB2 " );
|
||||
break;
|
||||
|
||||
case TAB3:
|
||||
printf( "TAB3 " );
|
||||
break;
|
||||
}
|
||||
|
||||
switch( tp->c_oflag & BSDLY ) {
|
||||
case BS0:
|
||||
printf( "BS0 " );
|
||||
break;
|
||||
|
||||
case BS1:
|
||||
printf( "BS1 " );
|
||||
break;
|
||||
}
|
||||
|
||||
switch( tp->c_oflag & VTDLY ) {
|
||||
case VT0:
|
||||
printf( "VT0 " );
|
||||
break;
|
||||
|
||||
case VT1:
|
||||
printf( "VT1 " );
|
||||
break;
|
||||
}
|
||||
|
||||
switch( tp->c_oflag & FFDLY ) {
|
||||
case FF0:
|
||||
printf( "FF0" );
|
||||
break;
|
||||
|
||||
case FF1:
|
||||
printf( "FF1" );
|
||||
break;
|
||||
}
|
||||
printf( "\n" );
|
||||
}
|
||||
|
||||
|
||||
void print_c_lflag( struct termios * tp )
|
||||
{
|
||||
char * c_lflag_bits [] = {
|
||||
"ISIG", /* 0000001 */
|
||||
"ICANON", /* 0000002 */
|
||||
"XCASE", /* 0000004 */
|
||||
"ECHO", /* 0000010 */
|
||||
"ECHOE", /* 0000020 */
|
||||
"ECHOK", /* 0000040 */
|
||||
"ECHONL", /* 0000100 */
|
||||
"NOFLSH", /* 0000200 */
|
||||
"TOSTOP", /* 0000400 */
|
||||
"ECHOCTL", /* 0001000 */
|
||||
"ECHOPRT", /* 0002000 */
|
||||
"ECHOKE", /* 0004000 */
|
||||
"FLUSHO", /* 0010000 */
|
||||
"unknown", /* 0020000 */
|
||||
"PENDIN", /* 0040000 */
|
||||
"IEXTEN", /* 0100000 */
|
||||
"unknown", /* 0200000 */
|
||||
"unknown", /* 0400000 */
|
||||
"unknown", /* 1000000 */
|
||||
"unknown", /* 2000000 */
|
||||
"unknown", /* 4000000 */
|
||||
};
|
||||
|
||||
printf( "c_lflag = 0x%08x\n\t", tp->c_lflag );
|
||||
print_32bits( tp->c_lflag, sizeof( c_lflag_bits )/sizeof( char * ), c_lflag_bits );
|
||||
printf( "\n" );
|
||||
}
|
||||
|
||||
|
||||
void print_c_cflag( struct termios * tp )
|
||||
{
|
||||
int baud;
|
||||
|
||||
printf( "c_cflag = 0x%08x\n", tp->c_cflag );
|
||||
|
||||
switch( baud = (tp->c_cflag & CBAUD) ) {
|
||||
case B0:
|
||||
printf( "\tCBAUD =\tB0\n" );
|
||||
break;
|
||||
|
||||
case B50:
|
||||
printf( "\tCBAUD =\tB50\n" );
|
||||
break;
|
||||
|
||||
case B75:
|
||||
printf( "\tCBAUD =\tB75\n" );
|
||||
break;
|
||||
|
||||
case B110:
|
||||
printf( "\tCBAUD =\tB110\n" );
|
||||
break;
|
||||
|
||||
case B134:
|
||||
printf( "\tCBAUD =\tB134\n" );
|
||||
break;
|
||||
|
||||
case B150:
|
||||
printf( "\tCBAUD =\tB150\n" );
|
||||
break;
|
||||
|
||||
case B200:
|
||||
printf( "\tCBAUD =\tB200\n" );
|
||||
break;
|
||||
|
||||
case B300:
|
||||
printf( "\tCBAUD =\tB300\n" );
|
||||
break;
|
||||
|
||||
case B600:
|
||||
printf( "\tCBAUD =\tB600\n" );
|
||||
break;
|
||||
|
||||
case B1200:
|
||||
printf( "\tCBAUD =\tB1200\n" );
|
||||
break;
|
||||
|
||||
case B1800:
|
||||
printf( "\tCBAUD =\tB1800\n" );
|
||||
break;
|
||||
|
||||
case B2400:
|
||||
printf( "\tCBAUD =\tB2400\n" );
|
||||
break;
|
||||
|
||||
case B4800:
|
||||
printf( "\tCBAUD =\tB4800\n" );
|
||||
break;
|
||||
|
||||
case B9600:
|
||||
printf( "\tCBAUD =\tB9600\n" );
|
||||
break;
|
||||
|
||||
case B19200:
|
||||
printf( "\tCBAUD =\tB19200\n" );
|
||||
break;
|
||||
|
||||
case B38400:
|
||||
printf( "\tCBAUD =\tB38400\n" );
|
||||
break;
|
||||
|
||||
case B57600:
|
||||
printf( "\tCBAUD =\tB57600\n" );
|
||||
break;
|
||||
|
||||
case B115200:
|
||||
printf( "\tCBAUD =\tB115200\n" );
|
||||
break;
|
||||
|
||||
case B230400:
|
||||
printf( "\tCBAUD =\tB230400\n" );
|
||||
break;
|
||||
|
||||
case B460800:
|
||||
printf( "\tCBAUD =\tB460800\n" );
|
||||
break;
|
||||
|
||||
default:
|
||||
printf( "\tCBAUD =\tunknown (0x%08x)\n", baud );
|
||||
break;
|
||||
}
|
||||
|
||||
switch( tp->c_cflag & CSIZE ) {
|
||||
case CS5:
|
||||
printf( "\tCSIZE =\tCS5\n" );
|
||||
break;
|
||||
|
||||
case CS6:
|
||||
printf( "\tCSIZE =\tCS6\n" );
|
||||
break;
|
||||
|
||||
case CS7:
|
||||
printf( "\tCSIZE =\tCS7\n" );
|
||||
break;
|
||||
|
||||
case CS8:
|
||||
printf( "\tCSIZE =\tCS8\n" );
|
||||
break;
|
||||
}
|
||||
|
||||
if( tp->c_cflag & CSTOPB )
|
||||
printf( "\tCSTOPB set: send 2 stop bits\n" );
|
||||
else
|
||||
printf( "\tCSTOPB clear: send 1 stop bit\n" );
|
||||
|
||||
if( tp->c_cflag & PARENB )
|
||||
printf( "\tPARENB set: parity enabled\n" );
|
||||
else
|
||||
printf( "\tPARENB clear: parity disabled\n" );
|
||||
|
||||
if( tp->c_cflag & PARODD )
|
||||
printf( "\tPARODD set: parity odd\n" );
|
||||
else
|
||||
printf( "\tPARODD clear: parity even\n" );
|
||||
|
||||
if( tp->c_cflag & CREAD )
|
||||
printf( "\tCREAD set: receiver enabled\n" );
|
||||
else
|
||||
printf( "\tCREAD clear: treceiver disabled\n" );
|
||||
|
||||
if( tp->c_cflag & HUPCL )
|
||||
printf( "\tHUPCL set: enabled\n" );
|
||||
else
|
||||
printf( "\tHUPCL clear: disabled\n" );
|
||||
|
||||
if( tp->c_cflag & CLOCAL )
|
||||
printf( "\tCLOCAL set: ignore modem lines\n" );
|
||||
else
|
||||
printf( "\tCLOCAL clear: don't ignore modem lines\n" );
|
||||
|
||||
#if defined(CBAUDEX)
|
||||
if( tp->c_cflag & CBAUDEX )
|
||||
printf( "\tCBAUDEX set: What does this do?\n" );
|
||||
else
|
||||
printf( "\tCBAUDEX clear: What does this do?\n" );
|
||||
#endif
|
||||
|
||||
if( tp->c_cflag & CRTSCTS )
|
||||
printf( "\tCRTSCTS: harware flow control enabled?\n" );
|
||||
else
|
||||
printf( "\tCRTSCTS: hardware flow control disabled?\n" );
|
||||
}
|
||||
|
||||
|
||||
void print_c_cc( struct termios * tp )
|
||||
{
|
||||
int i;
|
||||
char * cc_index_names [NCCS] = {
|
||||
"[VINTR] ", /* 0 */
|
||||
"[VQUIT] ", /* 1 */
|
||||
"[VERASE] ", /* 2 */
|
||||
"[VKILL] ", /* 3 */
|
||||
"[VEOF] ", /* 4 */
|
||||
"[VTIME] ", /* 5 */
|
||||
"[VMIN] ", /* 6 */
|
||||
"[VSWTC ", /* 7 */
|
||||
"[VSTART] ", /* 8 */
|
||||
"[VSTOP] ", /* 9 */
|
||||
"[VSUSP] ", /* 10 */
|
||||
"[VEOL] ", /* 11 */
|
||||
"[VREPRINT]", /* 12 */
|
||||
"[VDISCARD]", /* 13 */
|
||||
"[VWERASE] ", /* 14 */
|
||||
"[VLNEXT ", /* 15 */
|
||||
"[VEOL2] ", /* 16 */
|
||||
"unknown ", /* 17 */
|
||||
"unknown ", /* 18 */
|
||||
};
|
||||
|
||||
for( i = 0; i < NCCS; i++ ) {
|
||||
printf( "c_cc%s = 0x%08x\n", cc_index_names[i], tp->c_cc[i] );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void print_termios( struct termios *tp )
|
||||
{
|
||||
printf( "\nLooking at the current termios settings:\n\n" );
|
||||
print_c_iflag( tp );
|
||||
print_c_oflag( tp );
|
||||
print_c_cflag( tp );
|
||||
print_c_lflag( tp );
|
||||
print_c_cc( tp );
|
||||
printf( "\n" );
|
||||
}
|
||||
|
||||
|
||||
unsigned long get_baud_rate( void )
|
||||
{
|
||||
unsigned long baud_rate;
|
||||
|
||||
while( TRUE ) {
|
||||
printf( "Enter the numerical value for the new baud rate.\n" );
|
||||
printf( "Choices are: 50, 75, 110, 134, 150, 200, 300, 600, 1200, 1800\n" );
|
||||
printf( "2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400, 460800\n" );
|
||||
printf( "\nYour choice: " );
|
||||
scanf( "%lu", &baud_rate );
|
||||
printf( "\n" );
|
||||
switch( baud_rate ) {
|
||||
case 50: return B50;
|
||||
case 75: return B75;
|
||||
case 110: return B110;
|
||||
case 134: return B134;
|
||||
case 150: return B150;
|
||||
case 200: return B200;
|
||||
case 300: return B300;
|
||||
case 600: return B600;
|
||||
case 1200: return B1200;
|
||||
case 1800: return B1800;
|
||||
case 2400: return B2400;
|
||||
case 4800: return B4800;
|
||||
case 9600: return B9600;
|
||||
case 19200: return B19200;
|
||||
case 38400: return B38400;
|
||||
case 57600: return B57600;
|
||||
case 115200: return B115200;
|
||||
case 230400: return B230400;
|
||||
case 460800: return B460800;
|
||||
|
||||
default:
|
||||
printf( "%lu is not a valid choice. Try again.\n\n", baud_rate );
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
unsigned long get_parity()
|
||||
{
|
||||
int parity;
|
||||
|
||||
while( TRUE ) {
|
||||
printf( "Enter the numerical value for the new parity\n" );
|
||||
printf( "Choices are: 0 for no parity, 1 for even parity, 2 for odd parity\n" );
|
||||
printf( "\nYour choice: " );
|
||||
scanf( "%d", &parity );
|
||||
printf( "\n" );
|
||||
switch( parity ) {
|
||||
case 0:
|
||||
return 0;
|
||||
|
||||
case 1:
|
||||
return PARENB;
|
||||
|
||||
case 2:
|
||||
return PARENB | PARODD;
|
||||
|
||||
default:
|
||||
printf( "%d is not a valid choice. Try again.\n\n", parity );
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
unsigned long get_stop_bits()
|
||||
{
|
||||
int stop_bits;
|
||||
|
||||
while( TRUE ) {
|
||||
printf( "Enter the numerical value for the new number of stop bits\n" );
|
||||
printf( "Choices are: 1 or 2\n" );
|
||||
printf( "\nYour choice: " );
|
||||
scanf( "%d", &stop_bits );
|
||||
printf( "\n" );
|
||||
switch( stop_bits ) {
|
||||
case 1:
|
||||
return 0;
|
||||
|
||||
case 2:
|
||||
return CSTOPB;
|
||||
|
||||
default:
|
||||
printf( "%d is not a valid choice. Try again.\n\n", stop_bits );
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
unsigned long get_data_bits()
|
||||
{
|
||||
int data_bits;
|
||||
|
||||
while( TRUE ) {
|
||||
printf( "Enter the numerical value for the new number of data bits\n" );
|
||||
printf( "Choices are: 5, 6, 7 or 8\n" );
|
||||
printf( "\nYour choice: " );
|
||||
scanf( "%d", &data_bits );
|
||||
printf( "\n" );
|
||||
switch( data_bits ) {
|
||||
case 5:
|
||||
return CS5;
|
||||
|
||||
case 6:
|
||||
return CS6;
|
||||
|
||||
case 7:
|
||||
return CS7;
|
||||
|
||||
case 8:
|
||||
return CS8;
|
||||
|
||||
default:
|
||||
printf( "%d is not a valid choice. Try again.\n\n", data_bits );
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void change_line_settings( struct termios *tp )
|
||||
{
|
||||
unsigned long baud_rate, parity, stop_bits, data_bits, sleep_time;
|
||||
|
||||
printf( "\nSetting line characteristics\n\n" );
|
||||
|
||||
baud_rate = get_baud_rate();
|
||||
parity = get_parity();
|
||||
stop_bits = get_stop_bits();
|
||||
data_bits = get_data_bits();
|
||||
|
||||
printf( "NOTE: You will not see output until you switch your terminal settings!\n" );
|
||||
printf( "WARNING: If you do not switch your terminal settings, your terminal may hang.\n" );
|
||||
printf( "Enter the number of seconds the test will wait for you to switch your terminal\n" );
|
||||
printf( "settings before it continues\n" );
|
||||
printf( "Sleep time (in seconds): " );
|
||||
scanf( "%lu", &sleep_time );
|
||||
printf( "\n" );
|
||||
printf( "Setting line to new termios settings in %lu seconds.\n", sleep_time );
|
||||
|
||||
sleep( sleep_time );
|
||||
|
||||
tp->c_cflag = CLOCAL | CREAD | parity | stop_bits | data_bits | baud_rate;
|
||||
if( tcsetattr( fileno( stdin ), TCSADRAIN, tp ) < 0 ) {
|
||||
perror( "change_line_settings(): tcsetattr() failed" );
|
||||
exit( 1 );
|
||||
}
|
||||
printf( "Line settings set.\n" );
|
||||
}
|
||||
|
||||
|
||||
void canonical_input( struct termios *tp )
|
||||
{
|
||||
char c, first_time = TRUE;
|
||||
|
||||
printf( "\nTesting canonical input\n\n" );
|
||||
|
||||
printf( "Setting line to canonical input mode.\n" );
|
||||
tp->c_lflag = ISIG | ICANON | ECHO | ECHONL | ECHOK | ECHOE | ECHOPRT | ECHOCTL | IEXTEN;
|
||||
tp->c_iflag = BRKINT | ICRNL | IXON | IMAXBEL;
|
||||
if( tcsetattr( fileno( stdin ), TCSADRAIN, tp ) < 0 ) {
|
||||
perror( "canonical_input(): tcsetattr() failed" );
|
||||
exit( 1 );
|
||||
}
|
||||
|
||||
while ( ( c = getchar () ) != '\n');
|
||||
printf( "Testing getchar(). Type some text followed by carriage return\n" );
|
||||
printf( "Each character you entered will be echoed back to you\n\n" );
|
||||
while ( ( c = getchar () ) != '\n') {
|
||||
if( first_time ) {
|
||||
printf( "\nYou typed:\n");
|
||||
first_time = FALSE;
|
||||
}
|
||||
printf( "%c", c );
|
||||
}
|
||||
printf( "\n\nCanonical input test done.\n" );
|
||||
}
|
||||
|
||||
/*
|
||||
* Test raw (ICANON=0) input
|
||||
*/
|
||||
static void
|
||||
testRawInput (int vmin, int vtime)
|
||||
void do_raw_input( int vmin, int vtime )
|
||||
{
|
||||
int i;
|
||||
struct termios old, new;
|
||||
rtems_interval ticksPerSecond, then, now;
|
||||
unsigned int msec;
|
||||
unsigned long count;
|
||||
int nread;
|
||||
unsigned char cbuf[100];
|
||||
int i;
|
||||
struct termios old, new;
|
||||
rtems_interval ticksPerSecond, then, now;
|
||||
unsigned int msec;
|
||||
unsigned long count;
|
||||
int nread;
|
||||
unsigned char cbuf[100];
|
||||
|
||||
printf ("*** Raw input VMIN=%d VTIME=%d ***\n", vmin, vtime);
|
||||
rtems_clock_get (RTEMS_CLOCK_GET_TICKS_PER_SECOND, &ticksPerSecond);
|
||||
i = tcgetattr (fileno (stdin), &old);
|
||||
if (i < 0) {
|
||||
printf ("tcgetattr failed: %s\n", strerror (errno));
|
||||
return;
|
||||
}
|
||||
new = old;
|
||||
new.c_lflag &= ~(ICANON|ECHO|ECHONL|ECHOK|ECHOE|ECHOPRT|ECHOCTL);
|
||||
new.c_cc[VMIN] = vmin;
|
||||
new.c_cc[VTIME] = vtime;
|
||||
i = tcsetattr (fileno (stdin), TCSANOW, &new);
|
||||
if (i < 0) {
|
||||
printf ("tcsetattr failed: %s\n", strerror (errno));
|
||||
return;
|
||||
}
|
||||
do {
|
||||
rtems_clock_get (RTEMS_CLOCK_GET_TICKS_SINCE_BOOT, &then);
|
||||
count = 0;
|
||||
for (;;) {
|
||||
nread = read (fileno (stdin), cbuf, sizeof cbuf);
|
||||
if (nread < 0) {
|
||||
printf ("Read error: %s\n", strerror (errno));
|
||||
goto out;
|
||||
}
|
||||
count++;
|
||||
if (nread != 0)
|
||||
break;
|
||||
}
|
||||
rtems_clock_get (RTEMS_CLOCK_GET_TICKS_SINCE_BOOT, &now);
|
||||
msec = (now - then) * 1000 / ticksPerSecond;
|
||||
printf ("Count:%-10lu Interval:%3u.%3.3d Char:",
|
||||
count, msec / 1000, msec % 1000);
|
||||
for (i = 0 ; i < nread ; i++)
|
||||
printf (" %2.2x", cbuf[i]);
|
||||
printf ("\n");
|
||||
} while (cbuf[0] != 'q');
|
||||
out:
|
||||
i = tcsetattr (fileno (stdin), TCSANOW, &old);
|
||||
if (i < 0)
|
||||
printf ("tcsetattr failed: %s\n", strerror (errno));
|
||||
printf ("*** End of Raw input VMIN=%d VTIME=%d ***\n", vmin, vtime);
|
||||
printf( "Raw input test with VMIN=%d VTIME=%d\n", vmin, vtime );
|
||||
|
||||
rtems_clock_get( RTEMS_CLOCK_GET_TICKS_PER_SECOND, &ticksPerSecond );
|
||||
if ( tcgetattr( fileno ( stdin ), &old ) < 0 ) {
|
||||
perror( "do_raw_input(): tcgetattr() failed" );
|
||||
return;
|
||||
}
|
||||
|
||||
new = old;
|
||||
new.c_lflag &= ~( ICANON | ECHO | ECHONL | ECHOK | ECHOE | ECHOPRT | ECHOCTL );
|
||||
new.c_cc[VMIN] = vmin;
|
||||
new.c_cc[VTIME] = vtime;
|
||||
if( tcsetattr( fileno( stdin ), TCSADRAIN, &new ) < 0 ) {
|
||||
perror ("do_raw_input(): tcsetattr() failed" );
|
||||
return;
|
||||
}
|
||||
|
||||
do {
|
||||
rtems_clock_get( RTEMS_CLOCK_GET_TICKS_SINCE_BOOT, &then );
|
||||
count = 0;
|
||||
for(;;) {
|
||||
nread = read( fileno( stdin ), cbuf, sizeof cbuf );
|
||||
if( nread < 0 ) {
|
||||
perror( "do_raw_input(): read() failed" );
|
||||
goto out;
|
||||
}
|
||||
count++;
|
||||
if( nread != 0 )
|
||||
break;
|
||||
}
|
||||
rtems_clock_get( RTEMS_CLOCK_GET_TICKS_SINCE_BOOT, &now );
|
||||
msec = (now - then) * 1000 / ticksPerSecond;
|
||||
printf( "Count:%-10lu Interval:%3u.%3.3d Char:",
|
||||
count, msec / 1000, msec % 1000 );
|
||||
|
||||
for( i = 0 ; i < nread ; i++ )
|
||||
printf (" 0x%2.2x", cbuf[i]);
|
||||
printf ("\n");
|
||||
|
||||
} while( cbuf[0] != 'q' );
|
||||
|
||||
out:
|
||||
if( tcsetattr( fileno( stdin ), TCSADRAIN, &old) < 0 )
|
||||
perror("do_raw_input(): tcsetattr() failed: %s\n" );
|
||||
|
||||
printf ("*** End of Raw input VMIN=%d VTIME=%d ***\n", vmin, vtime);
|
||||
}
|
||||
|
||||
|
||||
void raw_input( struct termios *tp )
|
||||
{
|
||||
printf( "\nTesting raw input input\n\n" );
|
||||
printf( "Hit 'q' to terminate the test\n" );
|
||||
|
||||
do_raw_input( 0, 0 );
|
||||
do_raw_input( 0, 20 );
|
||||
do_raw_input( 5, 0 );
|
||||
do_raw_input( 5, 20 );
|
||||
|
||||
printf( "\nRaw input test done.\n" );
|
||||
}
|
||||
|
||||
|
||||
void usage( void )
|
||||
{
|
||||
printf( "\nYou have the following choices:\n" );
|
||||
printf( " 1 - Reset the struct termios\n" );
|
||||
printf( " 2 - Look at the current termios setting\n" );
|
||||
printf( " 3 - Change the line characteristics\n" );
|
||||
printf( " 4 - Test canonical input\n" );
|
||||
printf( " 5 - Test raw input\n" );
|
||||
printf( " 9 - Exit\n" );
|
||||
printf( "Enter your choice (1 to 5 or 9, followed by a carriage return): " );
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* RTEMS Startup Task
|
||||
*/
|
||||
rtems_task
|
||||
Init (rtems_task_argument ignored)
|
||||
{
|
||||
int i, j;
|
||||
char c;
|
||||
struct termios orig_termios, test_termios;
|
||||
|
||||
printf( "\n\n*** TEST OF TERMIOS INPUT CAPABILITIES ***\n" );
|
||||
|
||||
printf( "\n\n*** HELLO WORLD TEST ***\n" );
|
||||
printf( "Hello World\n" );
|
||||
printf( "*** END OF HELLO WORLD TEST ***\n" );
|
||||
if( tcgetattr( fileno( stdin ), &orig_termios ) < 0 ) {
|
||||
perror( "tcgetattr() failed" );
|
||||
exit( 0 );
|
||||
}
|
||||
|
||||
printf( "\n\ntype 'q' to exit raw input tests\n\n" );
|
||||
test_termios = orig_termios;
|
||||
|
||||
for (;;) {
|
||||
/*
|
||||
* Test blocking, line-oriented input
|
||||
*/
|
||||
do {
|
||||
printf (">>> ");
|
||||
fflush (stdout);
|
||||
i = scanf (" %d", &j);
|
||||
printf ("Return: %d Value: %d\n", i, j);
|
||||
} while (i != 0);
|
||||
usage();
|
||||
for(;;) {
|
||||
switch( c = getchar() ) {
|
||||
case '1':
|
||||
printf( "\nResetting the line to the original termios setting\n\n" );
|
||||
test_termios = orig_termios;
|
||||
if( tcsetattr( fileno( stdin ), TCSADRAIN, &test_termios ) < 0 ) {
|
||||
perror( "tcsetattr() failed" );
|
||||
exit( 1 );
|
||||
}
|
||||
usage();
|
||||
break;
|
||||
|
||||
/*
|
||||
* Consume what scanf rejected
|
||||
*/
|
||||
while ((i = getchar ()) != '\n')
|
||||
if (i == EOF)
|
||||
break;
|
||||
case '2':
|
||||
print_termios( &test_termios );
|
||||
usage();
|
||||
break;
|
||||
|
||||
/*
|
||||
* Test character-oriented input
|
||||
*/
|
||||
testRawInput (0, 0);
|
||||
testRawInput (0, 20);
|
||||
testRawInput (5, 0);
|
||||
testRawInput (5, 20);
|
||||
}
|
||||
exit (1);
|
||||
case '3':
|
||||
change_line_settings( &test_termios );
|
||||
usage();
|
||||
break;
|
||||
|
||||
case '4':
|
||||
canonical_input( &test_termios );
|
||||
usage();
|
||||
break;
|
||||
|
||||
case '5':
|
||||
raw_input( &test_termios );
|
||||
usage();
|
||||
break;
|
||||
|
||||
case '9':
|
||||
exit( 1 );
|
||||
|
||||
case '\n':
|
||||
break;
|
||||
|
||||
default:
|
||||
printf( "\n%c is not a valid choice. Try again\n\n", c );
|
||||
usage();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
|
||||
VPATH = @srcdir@:@srcdir@/..
|
||||
|
||||
NODE = 1
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
|
||||
VPATH = @srcdir@:@srcdir@/..
|
||||
|
||||
NODE = 2
|
||||
|
||||
@@ -27,13 +27,15 @@ rtems_task Test_task(
|
||||
|
||||
/* configuration information */
|
||||
|
||||
#define CONFIGURE_MPTEST
|
||||
#define CONFIGURE_MP_APPLICATION
|
||||
|
||||
#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
||||
|
||||
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
|
||||
#define CONFIGURE_MAXIMUM_TASKS 4
|
||||
|
||||
#define CONFIGURE_INIT_TASK_ATTRIBUTES RTEMS_GLOBAL
|
||||
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
|
||||
|
||||
#include <confdefs.h>
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
|
||||
VPATH = @srcdir@:@srcdir@/..
|
||||
|
||||
NODE = 1
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
|
||||
VPATH = @srcdir@:@srcdir@/..
|
||||
|
||||
NODE = 2
|
||||
|
||||
@@ -27,10 +27,12 @@ rtems_task Test_task(
|
||||
|
||||
/* configuration information */
|
||||
|
||||
#define CONFIGURE_MPTEST
|
||||
#define CONFIGURE_MP_APPLICATION
|
||||
|
||||
#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
||||
|
||||
#define CONFIGURE_MAXIMUM_TASKS 2
|
||||
|
||||
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
|
||||
VPATH = @srcdir@:@srcdir@/..
|
||||
|
||||
NODE = 1
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
|
||||
VPATH = @srcdir@:@srcdir@/..
|
||||
|
||||
NODE = 2
|
||||
|
||||
@@ -32,11 +32,12 @@ rtems_timer_service_routine Delayed_send_event(
|
||||
|
||||
/* configuration information */
|
||||
|
||||
#define CONFIGURE_MPTEST
|
||||
#define CONFIGURE_MP_APPLICATION
|
||||
|
||||
#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
||||
|
||||
#define CONFIGURE_MAXIMUM_TASKS 2
|
||||
#define CONFIGURE_MAXIMUM_TIMERS 1
|
||||
|
||||
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
|
||||
VPATH = @srcdir@:@srcdir@/..
|
||||
|
||||
NODE = 1
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
|
||||
VPATH = @srcdir@:@srcdir@/..
|
||||
|
||||
NODE = 2
|
||||
|
||||
@@ -27,11 +27,12 @@ rtems_task Test_task(
|
||||
|
||||
/* configuration information */
|
||||
|
||||
#define CONFIGURE_MPTEST
|
||||
#define CONFIGURE_MP_APPLICATION
|
||||
|
||||
#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
||||
|
||||
#define CONFIGURE_MAXIMUM_TASKS 2
|
||||
#define CONFIGURE_MAXIMUM_TIMERS 1
|
||||
|
||||
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
|
||||
VPATH = @srcdir@:@srcdir@/..
|
||||
|
||||
NODE = 1
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
|
||||
VPATH = @srcdir@:@srcdir@/..
|
||||
|
||||
NODE = 2
|
||||
|
||||
@@ -29,11 +29,12 @@ rtems_asr Process_asr( rtems_signal_set );
|
||||
|
||||
/* configuration information */
|
||||
|
||||
#define CONFIGURE_MPTEST
|
||||
#define CONFIGURE_MP_APPLICATION
|
||||
|
||||
#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
||||
|
||||
#define CONFIGURE_MAXIMUM_TASKS 2
|
||||
#define CONFIGURE_MAXIMUM_TIMERS 1
|
||||
|
||||
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
|
||||
VPATH = @srcdir@:@srcdir@/..
|
||||
|
||||
NODE = 1
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
|
||||
VPATH = @srcdir@:@srcdir@/..
|
||||
|
||||
NODE = 2
|
||||
|
||||
@@ -27,11 +27,12 @@ rtems_task Test_task(
|
||||
|
||||
/* configuration information */
|
||||
|
||||
#define CONFIGURE_MPTEST
|
||||
#define CONFIGURE_MP_APPLICATION
|
||||
|
||||
#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
||||
|
||||
#define CONFIGURE_MAXIMUM_TASKS 2
|
||||
#define CONFIGURE_MAXIMUM_TIMERS 1
|
||||
|
||||
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
|
||||
VPATH = @srcdir@:@srcdir@/..
|
||||
|
||||
NODE = 1
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
|
||||
VPATH = @srcdir@:@srcdir@/..
|
||||
|
||||
NODE = 2
|
||||
|
||||
@@ -27,11 +27,12 @@ rtems_task Test_task(
|
||||
|
||||
/* configuration information */
|
||||
|
||||
#define CONFIGURE_MPTEST
|
||||
#define CONFIGURE_MP_APPLICATION
|
||||
|
||||
#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
||||
|
||||
#define CONFIGURE_MAXIMUM_TASKS 2
|
||||
#define CONFIGURE_MAXIMUM_TIMERS 1
|
||||
|
||||
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
|
||||
VPATH = @srcdir@:@srcdir@/..
|
||||
|
||||
NODE = 1
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
|
||||
VPATH = @srcdir@:@srcdir@/..
|
||||
|
||||
NODE = 2
|
||||
|
||||
@@ -27,11 +27,12 @@ rtems_task Test_task(
|
||||
|
||||
/* configuration information */
|
||||
|
||||
#define CONFIGURE_MPTEST
|
||||
#define CONFIGURE_MP_APPLICATION
|
||||
|
||||
#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
||||
|
||||
#define CONFIGURE_MAXIMUM_TASKS 2
|
||||
#define CONFIGURE_MAXIMUM_TIMERS 1
|
||||
#define CONFIGURE_MAXIMUM_SEMAPHORES 1
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
|
||||
VPATH = @srcdir@:@srcdir@/..
|
||||
|
||||
NODE = 1
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
|
||||
VPATH = @srcdir@:@srcdir@/..
|
||||
|
||||
NODE = 2
|
||||
|
||||
@@ -31,11 +31,12 @@ void Send_messages( void );
|
||||
|
||||
/* configuration information */
|
||||
|
||||
#define CONFIGURE_MPTEST
|
||||
#define CONFIGURE_MP_APPLICATION
|
||||
|
||||
#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
||||
|
||||
#define CONFIGURE_MAXIMUM_TASKS 2
|
||||
#define CONFIGURE_MAXIMUM_TIMERS 1
|
||||
#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 1
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
|
||||
VPATH = @srcdir@:@srcdir@/..
|
||||
|
||||
NODE = 1
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
|
||||
VPATH = @srcdir@:@srcdir@/..
|
||||
|
||||
NODE = 2
|
||||
|
||||
@@ -35,14 +35,17 @@ rtems_task Test_task3(
|
||||
|
||||
/* configuration information */
|
||||
|
||||
#define CONFIGURE_MPTEST
|
||||
#define CONFIGURE_MP_APPLICATION
|
||||
|
||||
#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
||||
|
||||
#if ( NODE_NUMBER == 1 )
|
||||
#define CONFIGURE_MAXIMUM_TASKS 1
|
||||
#define CONFIGURE_MAXIMUM_SEMAPHORES 1
|
||||
#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 1
|
||||
#else
|
||||
#define CONFIGURE_MAXIMUM_TASKS 4
|
||||
#endif
|
||||
|
||||
#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
|
||||
VPATH = @srcdir@:@srcdir@/..
|
||||
|
||||
NODE = 1
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
|
||||
VPATH = @srcdir@:@srcdir@/..
|
||||
|
||||
NODE = 2
|
||||
|
||||
@@ -23,14 +23,15 @@ rtems_task Init(
|
||||
|
||||
/* configuration information */
|
||||
|
||||
#define CONFIGURE_MPTEST
|
||||
#define CONFIGURE_MP_APPLICATION
|
||||
|
||||
#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
||||
|
||||
#define CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS 0
|
||||
#define CONFIGURE_MP_MAXIMUM_PROXIES 0
|
||||
|
||||
#define CONFIGURE_MAXIMUM_TASKS 1
|
||||
#if ( NODE_NUMBER == 1 )
|
||||
#define CONFIGURE_MAXIMUM_SEMAPHORES 1
|
||||
#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 1
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
|
||||
VPATH = @srcdir@:@srcdir@/..
|
||||
|
||||
NODE = 1
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
|
||||
VPATH = @srcdir@:@srcdir@/..
|
||||
|
||||
NODE = 2
|
||||
|
||||
@@ -25,14 +25,15 @@ rtems_task Init(
|
||||
|
||||
/* configuration information */
|
||||
|
||||
#define CONFIGURE_MPTEST
|
||||
#define CONFIGURE_MP_APPLICATION
|
||||
|
||||
#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
||||
|
||||
#define CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS 1
|
||||
#define CONFIGURE_MP_MAXIMUM_PROXIES 0
|
||||
|
||||
#define CONFIGURE_MAXIMUM_TASKS 1
|
||||
#if ( NODE_NUMBER == 1 )
|
||||
#define CONFIGURE_MAXIMUM_PARTITIONS 1
|
||||
#elif ( NODE_NUMBER == 2 )
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
|
||||
VPATH = @srcdir@:@srcdir@/..
|
||||
|
||||
NODE = 1
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
|
||||
VPATH = @srcdir@:@srcdir@/..
|
||||
|
||||
NODE = 2
|
||||
|
||||
@@ -31,11 +31,12 @@ rtems_task Test_task2(
|
||||
|
||||
/* configuration information */
|
||||
|
||||
#define CONFIGURE_MPTEST
|
||||
#define CONFIGURE_MP_APPLICATION
|
||||
|
||||
#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
||||
|
||||
#define CONFIGURE_MAXIMUM_TASKS 2
|
||||
#if ( NODE_NUMBER == 1 )
|
||||
#define CONFIGURE_MAXIMUM_SEMAPHORES 1
|
||||
#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 1
|
||||
|
||||
@@ -6,7 +6,8 @@ AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
SUBDIRS = node1 node2
|
||||
|
||||
EXTRA_DIST = system.h delay.c evtask1.c evtmtask.c exit.c init.c msgtask1.c pttask1.c smtask1.c
|
||||
EXTRA_DIST = system.h delay.c evtask1.c evtmtask.c exit.c init.c msgtask1.c \
|
||||
pttask1.c smtask1.c
|
||||
|
||||
include $(top_srcdir)/../../../../automake/subdirs.am
|
||||
include $(top_srcdir)/../../../../automake/local.am
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
|
||||
VPATH = @srcdir@:@srcdir@/..
|
||||
|
||||
NODE = 1
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
|
||||
VPATH = @srcdir@:@srcdir@/..
|
||||
|
||||
NODE = 2
|
||||
|
||||
@@ -50,14 +50,15 @@ void Exit_test( void );
|
||||
|
||||
/* configuration information */
|
||||
|
||||
#define CONFIGURE_MPTEST
|
||||
#define CONFIGURE_MP_APPLICATION
|
||||
|
||||
#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
||||
|
||||
#define CONFIGURE_TICKS_PER_TIMESLICE 1
|
||||
#define CONFIGURE_MICROSECONDS_PER_TICK RTEMS_MILLISECONDS_TO_MICROSECONDS(1)
|
||||
|
||||
#define CONFIGURE_MAXIMUM_TASKS 5
|
||||
#if ( NODE_NUMBER == 1 )
|
||||
#define CONFIGURE_MAXIMUM_TIMERS 12
|
||||
#define CONFIGURE_MAXIMUM_SEMAPHORES 1
|
||||
|
||||
@@ -5,14 +5,14 @@
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
ACLOCAL_AMFLAGS = -I $(RTEMS_TOPdir)/aclocal
|
||||
|
||||
SHARED_DIRS =
|
||||
SHARED_DIRS =
|
||||
|
||||
POSIX_DIRS = include psxhdrs psx01 psx02 psx03 psx04 psx05 psx06 psx07 psx08 \
|
||||
psx09 psx10 psx11 psx12 psxtime psxtimer psxcancel psxmsgq01 psxsem01
|
||||
|
||||
POSIX_FILES_DIRS = psxfile01 psxreaddir psxstat psxmount psx13
|
||||
|
||||
UNUSED_DIRS =
|
||||
UNUSED_DIRS =
|
||||
|
||||
SUBDIRS = $(SHARED_DIRS) $(POSIX_DIRS) $(POSIX_FILES_DIRS) $(UNUSED_DIRS)
|
||||
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
TEST = psx01
|
||||
|
||||
MANAGERS = all
|
||||
@@ -11,7 +12,7 @@ C_FILES = init.c task.c
|
||||
C_O_FILES = $(C_FILES:%.c=${ARCH}/%.o)
|
||||
|
||||
H_FILES = system.h
|
||||
noinst_HEADERS =$(H_FILES)
|
||||
noinst_HEADERS = $(H_FILES)
|
||||
|
||||
DOCTYPES = scn
|
||||
DOCS = $(DOCTYPES:%=$(TEST).%)
|
||||
|
||||
@@ -2,9 +2,11 @@
|
||||
Init: uname - EFAULT (invalid uts pointer argument)
|
||||
Init: uts.sysname: RTEMS
|
||||
Init: uts.nodename: Node 1
|
||||
Init: uts.release: rtems-19991105
|
||||
Init: uts.release: rtems-VERSION
|
||||
NOTE: VERSION will vary.
|
||||
Init: uts.version:
|
||||
Init: uts.machine: SPARC/erc32
|
||||
Init: uts.machine: CPU/BSP
|
||||
NOTE: CPU/BSP will vary.
|
||||
|
||||
Init: clock_gettime - EINVAL (invalid clockid)
|
||||
Init: clock_settime - EINVAL (invalid clockid)
|
||||
|
||||
@@ -30,15 +30,13 @@ void *Task_1_through_3(
|
||||
|
||||
/* configuration information */
|
||||
|
||||
#define CONFIGURE_SPTEST
|
||||
|
||||
#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER
|
||||
|
||||
#define CONFIGURE_POSIX_INIT_THREAD_TABLE
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
||||
|
||||
#define CONFIGURE_MAXIMUM_POSIX_THREADS 2
|
||||
|
||||
#define CONFIGURE_POSIX_INIT_THREAD_TABLE
|
||||
|
||||
#include <confdefs.h>
|
||||
|
||||
/* global variables */
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
TEST = psx02
|
||||
|
||||
MANAGERS = all
|
||||
@@ -11,7 +12,7 @@ C_FILES = init.c task.c
|
||||
C_O_FILES = $(C_FILES:%.c=${ARCH}/%.o)
|
||||
|
||||
H_FILES = system.h
|
||||
noinst_HEADERS =$(H_FILES)
|
||||
noinst_HEADERS = $(H_FILES)
|
||||
|
||||
DOCTYPES = scn
|
||||
DOCS = $(DOCTYPES:%=$(TEST).%)
|
||||
|
||||
@@ -28,10 +28,10 @@ void *Task_1_through_3(
|
||||
|
||||
/* configuration information */
|
||||
|
||||
#define CONFIGURE_SPTEST
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
||||
|
||||
#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER
|
||||
#define CONFIGURE_MAXIMUM_POSIX_THREADS 2
|
||||
|
||||
#define CONFIGURE_POSIX_INIT_THREAD_TABLE
|
||||
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
TEST = psx03
|
||||
|
||||
MANAGERS = all
|
||||
@@ -11,7 +12,7 @@ C_FILES = init.c task.c
|
||||
C_O_FILES = $(C_FILES:%.c=${ARCH}/%.o)
|
||||
|
||||
H_FILES = system.h
|
||||
noinst_HEADERS =$(H_FILES)
|
||||
noinst_HEADERS = $(H_FILES)
|
||||
|
||||
DOCTYPES = scn
|
||||
DOCS = $(DOCTYPES:%=$(TEST).%)
|
||||
|
||||
@@ -31,10 +31,10 @@ void *Task_2(
|
||||
|
||||
/* configuration information */
|
||||
|
||||
#define CONFIGURE_SPTEST
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
||||
|
||||
#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER
|
||||
#define CONFIGURE_MAXIMUM_POSIX_THREADS 3
|
||||
|
||||
#define CONFIGURE_POSIX_INIT_THREAD_TABLE
|
||||
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
TEST = psx04
|
||||
|
||||
MANAGERS = all
|
||||
@@ -11,7 +12,7 @@ C_FILES = init.c task1.c task2.c task3.c
|
||||
C_O_FILES = $(C_FILES:%.c=${ARCH}/%.o)
|
||||
|
||||
H_FILES = system.h
|
||||
noinst_HEADERS =$(H_FILES)
|
||||
noinst_HEADERS = $(H_FILES)
|
||||
|
||||
DOCTYPES = scn
|
||||
DOCS = $(DOCTYPES:%=$(TEST).%)
|
||||
|
||||
@@ -35,11 +35,10 @@ void *Task_3(
|
||||
|
||||
/* configuration information */
|
||||
|
||||
#define CONFIGURE_SPTEST
|
||||
|
||||
#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
||||
|
||||
#define CONFIGURE_MAXIMUM_POSIX_THREADS 4
|
||||
#define CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS 5
|
||||
|
||||
#define CONFIGURE_POSIX_INIT_THREAD_TABLE
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
TEST = psx05
|
||||
|
||||
MANAGERS = all
|
||||
@@ -11,7 +12,7 @@ C_FILES = init.c task.c task2.c task3.c
|
||||
C_O_FILES = $(C_FILES:%.c=${ARCH}/%.o)
|
||||
|
||||
H_FILES = system.h
|
||||
noinst_HEADERS =$(H_FILES)
|
||||
noinst_HEADERS = $(H_FILES)
|
||||
|
||||
DOCTYPES = scn
|
||||
DOCS = $(DOCTYPES:%=$(TEST).%)
|
||||
|
||||
@@ -35,15 +35,14 @@ void *Task_3(
|
||||
|
||||
/* configuration information */
|
||||
|
||||
#define CONFIGURE_SPTEST
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
||||
|
||||
#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER
|
||||
#define CONFIGURE_MAXIMUM_POSIX_THREADS 4
|
||||
#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 2
|
||||
|
||||
#define CONFIGURE_POSIX_INIT_THREAD_TABLE
|
||||
|
||||
#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 2
|
||||
|
||||
#include <confdefs.h>
|
||||
|
||||
/* global variables */
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
TEST = psx06
|
||||
|
||||
MANAGERS = all
|
||||
@@ -11,7 +12,7 @@ C_FILES = init.c task.c task2.c
|
||||
C_O_FILES = $(C_FILES:%.c=${ARCH}/%.o)
|
||||
|
||||
H_FILES = system.h
|
||||
noinst_HEADERS =$(H_FILES)
|
||||
noinst_HEADERS = $(H_FILES)
|
||||
|
||||
DOCTYPES = scn
|
||||
DOCS = $(DOCTYPES:%=$(TEST).%)
|
||||
|
||||
@@ -31,15 +31,14 @@ void *Task_2(
|
||||
|
||||
/* configuration information */
|
||||
|
||||
#define CONFIGURE_SPTEST
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
||||
|
||||
#define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_TEST_NEEDS_CLOCK_DRIVER
|
||||
#define CONFIGURE_MAXIMUM_POSIX_THREADS 3
|
||||
#define CONFIGURE_MAXIMUM_POSIX_KEYS 1
|
||||
|
||||
#define CONFIGURE_POSIX_INIT_THREAD_TABLE
|
||||
|
||||
#define CONFIGURE_MAXIMUM_POSIX_KEYS 1
|
||||
|
||||
#include <confdefs.h>
|
||||
|
||||
/* global variables */
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
##
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
##
|
||||
|
||||
AUTOMAKE_OPTIONS = foreign 1.4
|
||||
|
||||
TEST = psx07
|
||||
|
||||
MANAGERS = all
|
||||
@@ -11,7 +12,7 @@ C_FILES = init.c task.c
|
||||
C_O_FILES = $(C_FILES:%.c=${ARCH}/%.o)
|
||||
|
||||
H_FILES = system.h
|
||||
noinst_HEADERS =$(H_FILES)
|
||||
noinst_HEADERS = $(H_FILES)
|
||||
|
||||
DOCTYPES = scn
|
||||
DOCS = $(DOCTYPES:%=$(TEST).%)
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user