source: rtems/testsuites/tmtests/tm25/task1.c @ ac7d5ef0

4.104.114.84.95
Last change on this file since ac7d5ef0 was ac7d5ef0, checked in by Joel Sherrill <joel.sherrill@…>, on May 11, 1995 at 5:39:37 PM

Initial revision

  • Property mode set to 100644
File size: 2.2 KB
Line 
1/*
2 *
3 *  COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
4 *  On-Line Applications Research Corporation (OAR).
5 *  All rights assigned to U.S. Government, 1994.
6 *
7 *  This material may be reproduced by or for the U.S. Government pursuant
8 *  to the copyright license under the clause at DFARS 252.227-7013.  This
9 *  notice must appear in all copies of this file and its derivatives.
10 *
11 *  $Id$
12 */
13
14#include "system.h"
15#undef EXTERN
16#define EXTERN
17#include "conftbl.h"
18#include "gvar.h"
19
20rtems_id Semaphore_id;
21
22rtems_task High_tasks(
23  rtems_task_argument argument
24);
25
26rtems_task Low_task(
27  rtems_task_argument argument
28);
29
30rtems_task Init(
31  rtems_task_argument argument
32)
33{
34  rtems_id          task_id;
35  rtems_unsigned32  index;
36  rtems_status_code status;
37
38  puts( "\n\n*** TIME TEST 25 ***" );
39
40  status = rtems_semaphore_create(
41    rtems_build_name( 'S', 'M', '1', ' ') ,
42    0,
43    RTEMS_DEFAULT_ATTRIBUTES,
44    &Semaphore_id
45  );
46  directive_failed( status, "rtems_semaphore_create of SM1" );
47
48  status = rtems_task_create(
49    rtems_build_name( 'L', 'O', 'W', ' ' ),
50    254,
51    1024,
52    RTEMS_DEFAULT_MODES,
53    RTEMS_DEFAULT_ATTRIBUTES,
54    &task_id
55  );
56  directive_failed( status, "rtems_task_create LOW" );
57
58  status = rtems_task_start( task_id, Low_task, 0 );
59  directive_failed( status, "rtems_task_start LOW" );
60
61  for ( index=1 ; index <= OPERATION_COUNT ; index++ ) {
62    status = rtems_task_create(
63      rtems_build_name( 'T', 'I', 'M', 'E' ),
64      128,
65      1024,
66      RTEMS_DEFAULT_MODES,
67      RTEMS_DEFAULT_ATTRIBUTES,
68      &task_id
69    );
70    directive_failed( status, "rtems_task_create LOOP" );
71
72    status = rtems_task_start( task_id, High_tasks, 0 );
73    directive_failed( status, "rtems_task_start LOOP" );
74  }
75
76  status = rtems_task_delete( RTEMS_SELF );
77  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
78}
79
80rtems_task High_tasks(
81  rtems_task_argument argument
82)
83{
84  (void) rtems_semaphore_obtain(
85    Semaphore_id,
86    RTEMS_DEFAULT_OPTIONS,
87    0xffffffff
88  );
89}
90
91rtems_task Low_task(
92  rtems_task_argument argument
93)
94{
95  Timer_initialize();
96    (void) rtems_clock_tick();
97  end_time = Read_timer();
98
99  put_time(
100    "rtems_clock_tick",
101    end_time,
102    1,
103    0,
104    CALLING_OVERHEAD_CLOCK_TICK
105  );
106
107  exit( 0 );
108}
Note: See TracBrowser for help on using the repository browser.