URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
Compare Revisions
- This comparison shows the changes necessary to convert path
/openrisc/trunk/rtos/rtems/c/src/tests/tmitrontests/tmitronsem01
- from Rev 30 to Rev 173
- ↔ Reverse comparison
Rev 30 → Rev 173
/init.c
0,0 → 1,144
/* Init |
* |
* This routine is the initialization task for this test program. |
* It is called from init_exec 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: NONE |
* |
* Output parameters: NONE |
* |
* COPYRIGHT (c) 1989-1999. |
* On-Line Applications Research Corporation (OAR). |
* |
* The license and distribution terms for this file may be |
* found in the file LICENSE in this distribution or at |
* http://www.OARcorp.com/rtems/license.html. |
* |
* $Id: init.c,v 1.2 2001-09-27 12:02:39 chris Exp $ |
*/ |
|
#define TEST_INIT |
#include "system.h" |
#include <timesys.h> |
#include <stdio.h> |
|
void ITRON_Init( void ) |
{ |
T_CSEM pk_csem; |
T_RSEM pk_rsem; |
int index; |
|
pk_csem.isemcnt = 2; |
pk_csem.maxsem = 3; |
pk_csem.sematr = TA_TFIFO; |
|
printf( "\n\n*** TMITRON01 -- ITRON TIMING TEST ***\n" ); |
|
/* |
* time one invocation of cre_sem |
*/ |
|
Timer_initialize(); |
(void) cre_sem( 1, &pk_csem ); |
end_time = Read_timer(); |
put_time( |
"cre_sem", |
end_time, |
1, |
0, /* no loop overhead to take out */ |
0 /* no calling overhead */ |
); |
|
/* |
* time one invocation of del_sem |
*/ |
|
Timer_initialize(); |
(void) del_sem( 1 ); |
end_time = Read_timer(); |
put_time( |
"del_sem", |
end_time, |
1, |
0, /* no loop overhead to take out */ |
0 /* no calling overhead */ |
); |
|
pk_csem.isemcnt = 100; |
pk_csem.maxsem = 100; |
pk_csem.sematr = TA_TFIFO; |
(void) cre_sem( 1, &pk_csem ); |
|
/* |
* time preq_sem (available) |
*/ |
|
Timer_initialize(); |
for ( index = 1 ; index<=OPERATION_COUNT ; index++ ) |
(void) preq_sem( 1 ); |
end_time = Read_timer(); |
put_time( |
"preq_sem (available)", |
end_time, |
OPERATION_COUNT, |
0, /* don't take the loop overhead out */ |
0 /* no calling overhead */ |
); |
|
/* |
* time preq_sem (not available) |
*/ |
|
Timer_initialize(); |
for ( index = 1 ; index<=OPERATION_COUNT ; index++ ) |
(void) preq_sem( 1 ); |
end_time = Read_timer(); |
put_time( |
"preq_sem (not available)", |
end_time, |
OPERATION_COUNT, |
0, /* don't take the loop overhead out */ |
0 /* no calling overhead */ |
); |
|
/* |
* time sig_sem (no waiting tasks) |
*/ |
|
Timer_initialize(); |
for ( index = 1 ; index<=OPERATION_COUNT ; index++ ) |
(void) sig_sem( 1 ); |
end_time = Read_timer(); |
put_time( |
"sig_sem (no waiting tasks)", |
end_time, |
OPERATION_COUNT, |
0, /* don't take the loop overhead out */ |
0 /* no calling overhead */ |
); |
|
/* |
* time ref_sem |
*/ |
|
Timer_initialize(); |
for ( index = 1 ; index<=OPERATION_COUNT ; index++ ) |
(void) ref_sem( 1, &pk_rsem ); |
end_time = Read_timer(); |
put_time( |
"ref_sem", |
end_time, |
OPERATION_COUNT, |
0, /* don't take the loop overhead out */ |
0 /* no calling overhead */ |
); |
|
printf( "\n\nXXX ADD BLOCKING AND PREEMPTING TIME TESTS\n\n" ); |
|
|
printf( "*** END OF TMITRON01 -- ITRON TIMING TEST ***\n" ); |
exit( 0 ); |
} |
/tmitronsem01.doc
0,0 → 1,9
# |
# $Id: tmitronsem01.doc,v 1.1 1999/11/09 22:07:23 joel Exp $ |
# |
# The license and distribution terms for this file may be |
# found in the file LICENSE in this distribution or at |
# http://www.OARcorp.com/rtems/license.html. |
# |
|
Time some basic ITRON semaphore operations |
/Makefile.am
0,0 → 1,45
## |
## $Id: Makefile.am,v 1.2 2001-09-27 12:02:39 chris Exp $ |
## |
|
AUTOMAKE_OPTIONS = foreign 1.4 |
|
TEST = tmitronsem01 |
|
MANAGERS = all |
|
C_FILES = init.c |
C_O_FILES = $(C_FILES:%.c=${ARCH}/%.o) |
|
H_FILES = system.h |
noinst_HEADERS = $(H_FILES) |
|
DOCTYPES = doc |
DOCS = $(DOCTYPES:%=$(TEST).%) |
|
SRCS = $(DOCS) $(C_FILES) $(H_FILES) |
OBJS = $(C_O_FILES) |
|
PRINT_SRCS = $(DOCS) |
|
PGM = ${ARCH}/$(TEST).exe |
|
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg |
include $(RTEMS_ROOT)/make/leaf.cfg |
include $(top_srcdir)/tmitrontests.am |
|
# |
# (OPTIONAL) Add local stuff here using += |
# |
|
OPERATION_COUNT = @OPERATION_COUNT@ |
AM_CPPFLAGS += -I$(top_srcdir)/include -DOPERATION_COUNT=$(OPERATION_COUNT) |
|
${PGM}: $(OBJS) $(LINK_FILES) |
$(make-exe) |
|
all-local: $(ARCH) $(TMPINSTALL_FILES) |
|
EXTRA_DIST = $(C_FILES) $(DOCS) |
|
include $(top_srcdir)/../../../../automake/local.am |
/system.h
0,0 → 1,39
/* system.h |
* |
* This include file contains information that is included in every |
* function in the test set. |
* |
* COPYRIGHT (c) 1989-1999. |
* On-Line Applications Research Corporation (OAR). |
* |
* The license and distribution terms for this file may be |
* found in the file LICENSE in this distribution or at |
* http://www.OARcorp.com/rtems/license.html. |
* |
* $Id: system.h,v 1.2 2001-09-27 12:02:39 chris Exp $ |
*/ |
|
#include <tmacros.h> |
#include <itron.h> |
#include <assert.h> |
|
/* functions */ |
|
void ITRON_Init( void ); |
|
/* configuration information */ |
|
#define CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER |
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER |
|
#define CONFIGURE_MAXIMUM_ITRON_TASKS 1 |
#define CONFIGURE_MAXIMUM_ITRON_SEMAPHORES 100 |
#define CONFIGURE_ITRON_INIT_TASK_TABLE |
|
#include <confdefs.h> |
|
/* global variables */ |
|
TEST_EXTERN rtems_id Global_variable; /* example global variable */ |
|
/* end of include file */ |