source: rtems/c/src/ada-tests/tmtests/tm17/tmtest.ads @ 77ff3d10

4.104.114.84.95
Last change on this file since 77ff3d10 was bf9ae83, checked in by Joel Sherrill <joel.sherrill@…>, on 06/02/97 at 20:32:11

modified copyright notice to be the same as RTEMS 4.0.0.

changed the CVS ID string to be a "development" version.

  • Property mode set to 100644
File size: 3.8 KB
Line 
1--
2--  TMTEST / SPECIFICATION
3--
4--  DESCRIPTION:
5--
6--  This package is the specification for Test 17 of the RTEMS
7--  Timing Test Suite.
8--
9--  DEPENDENCIES:
10--
11-- 
12--
13--  COPYRIGHT (c) 1989-1997.
14--  On-Line Applications Research Corporation (OAR).
15--  Copyright assigned to U.S. Government, 1994.
16--
17--  The license and distribution terms for this file may in
18--  the file LICENSE in this distribution or at
19--  http://www.OARcorp.com/rtems/license.html.
20--
21--  $Id$
22--
23
24with RTEMS;
25with TIME_TEST_SUPPORT;
26with TIMER_DRIVER;
27
28package TMTEST is
29
30--
31--  These arrays contain the IDs and NAMEs of all RTEMS tasks created
32--  by this test.
33--
34
35   TASK_ID   : array ( RTEMS.UNSIGNED32
36      range 0 .. TIME_TEST_SUPPORT.OPERATION_COUNT ) of RTEMS.ID;
37   TASK_NAME : array ( RTEMS.UNSIGNED32
38      range 0 .. TIME_TEST_SUPPORT.OPERATION_COUNT ) of RTEMS.NAME;
39
40--
41--  These variables are used to index the TASK_ID array and change
42--  the priority of each successive task such that the TASK_SET_PRIORITY
43--  results in a preemption.
44--
45
46   TASK_COUNT     : RTEMS.UNSIGNED32;
47   TASK_PRIORITY  : RTEMS.TASK_PRIORITY;
48
49--
50--  The following variable is set to the execution time returned
51--  by the timer.
52--
53
54   END_TIME       : RTEMS.UNSIGNED32;
55
56--
57--  INIT
58--
59--  DESCRIPTION:
60--
61--  This RTEMS task initializes the application.
62--
63
64   procedure INIT (
65      ARGUMENT : in     RTEMS.TASK_ARGUMENT
66   );
67
68--
69--  FIRST_TASK
70--
71--  DESCRIPTION:
72--
73--  This RTEMS task is the first task to execute in the system.  It
74--  starts the timer and updates the TASK_COUNT and TASK_PRIORITY
75--  variables so that a preemptive TASK_SET_PRIORITY can be performed.
76--
77
78   procedure FIRST_TASK (
79      ARGUMENT : in     RTEMS.TASK_ARGUMENT
80   );
81
82--
83--  MIDDLE_TASK
84--
85--  DESCRIPTION:
86--
87--  These RTEMS tasks update the TASK_COUNT and TASK_PRIORITY variables
88--  so that a preemptive TASK_SET_PRIORITY can be performed.
89--
90
91   procedure MIDDLE_TASKS (
92      ARGUMENT : in     RTEMS.TASK_ARGUMENT
93   );
94
95--
96--  LAST_TASK
97--
98--  DESCRIPTION:
99--
100--  This RTEMS task is the last task to execute in the system.  It
101--  stops the timer and reports the execution time of a preemptive
102--  TASK_SET_PRIORITY.
103--
104
105   procedure LAST_TASK (
106      ARGUMENT : in     RTEMS.TASK_ARGUMENT
107   );
108
109--
110--  This is the Initialization Tasks Table for this test.
111--
112
113   INITIALIZATION_TASKS : aliased RTEMS.INITIALIZATION_TASKS_TABLE( 1 .. 1 ) :=
114   (1=>
115     (
116       RTEMS.BUILD_NAME( 'U', 'I', '1', ' ' ),        -- task name
117       2048,                                          -- stack size
118       1,                                             -- priority
119       RTEMS.DEFAULT_ATTRIBUTES,                      -- attributes
120       TMTEST.INIT'ACCESS,                            -- entry point
121       RTEMS.NO_PREEMPT,                              -- initial mode
122       0                                              -- argument list
123     )
124   );
125
126--
127--  This is the Configuration Table for this test.
128--
129
130   CONFIGURATION : aliased RTEMS.CONFIGURATION_TABLE := (
131      RTEMS.NULL_ADDRESS,        -- will be replaced by BSP
132      256 * 1024,                -- executive RAM size
133      111,                       -- maximum # tasks
134      0,                         -- maximum # timers
135      0,                         -- maximum # semaphores
136      1,                         -- maximum # message queues
137      100,                       -- maximum # messages
138      0,                         -- maximum # partitions
139      0,                         -- maximum # regions
140      0,                         -- maximum # dp memory areas
141      0,                         -- maximum # periods
142      0,                         -- maximum # user extensions
143      RTEMS.MILLISECONDS_TO_MICROSECONDS(10), -- # us in a tick
144      0                          -- # ticks in a timeslice
145  );
146
147end TMTEST;
Note: See TracBrowser for help on using the repository browser.