source: rtems/c/src/ada-tests/tmtests/tm13/tmtest.ads @ b4be04e

4.104.114.84.95
Last change on this file since b4be04e was b4be04e, checked in by Joel Sherrill <joel.sherrill@…>, on Jun 3, 1997 at 8:24:11 PM

Removed Configuration Table information.

  • Property mode set to 100644
File size: 2.1 KB
Line 
1--
2--  TMTEST / SPECIFICATION
3--
4--  DESCRIPTION:
5--
6--  This package is the specification for Test 13 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 TIMER_DRIVER;
25with RTEMS;
26
27package TMTEST is
28
29--
30--  The following is the ID of the message queue used for timing operations.
31--
32
33   QUEUE_ID : RTEMS.ID;
34
35--
36--  The following variable is set to the execution time returned
37--  by the timer.
38--
39
40   END_TIME  : RTEMS.UNSIGNED32;
41
42--
43--  INIT
44--
45--  DESCRIPTION:
46--
47--  This RTEMS task initializes the application.
48--
49
50   procedure INIT (
51      ARGUMENT : in     RTEMS.TASK_ARGUMENT
52   );
53
54--
55--  TEST_INIT
56--
57--  DESCRIPTION:
58--
59--  This subprogram performs test initialization.  As each application
60--  task is created and started, it will preempt this task and
61--  perform a blocking MESSAGE_QUEUE_RECEIVE.  Once all of the
62--  initialization is completed, the timer is started and the first
63--  preemptive MESSAGE_QUEUE_URGENT is executed.
64--
65
66   procedure TEST_INIT (
67      ARGUMENT : in     RTEMS.TASK_ARGUMENT
68   );
69
70--
71--  HIGH_TASK
72--
73--  DESCRIPTION:
74--
75--  This RTEMS task is the highest priority task in the system. 
76--  It performs a blocking blocking MESSAGE_QUEUE_RECEIVE.  It is
77--  the last test task created and started.  Thus it is the last
78--  task to be enqueued waiting for a message and the last task
79--  to receive the message.  Once it receives the message, it
80--  stops the timer and reports the execution time for a
81--  preemptive MESSAGE_QUEUE_URGENT.
82--
83
84   procedure HIGH_TASK (
85      ARGUMENT : in     RTEMS.TASK_ARGUMENT
86   );
87
88--
89--  MIDDLE_TASKS
90--
91--  DESCRIPTION:
92--
93--  As each of these RTEMS tasks is created and started, it preempts
94--  the initialization task and perform a blocking MESSAGE_QUEUE_RECEIVE.
95--
96
97   procedure MIDDLE_TASKS (
98      ARGUMENT : in     RTEMS.TASK_ARGUMENT
99   );
100
101end TMTEST;
Note: See TracBrowser for help on using the repository browser.