OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [rtems/] [c/] [src/] [tests/] [sptests/] [sp13/] [init.c] - Blame information for rev 208

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 158 chris
/*  Init
2
 *
3
 *  This routine is the initialization task for this test program.
4
 *  It is a user initialization task and has the responsibility for creating
5
 *  and starting the tasks that make up the test.  If the time of day
6
 *  clock is required for the test, it should also be set to a known
7
 *  value by this function.
8
 *
9
 *  Input parameters:
10
 *    argument - task argument
11
 *
12
 *  Output parameters:  NONE
13
 *
14
 *  COPYRIGHT (c) 1989-1999.
15
 *  On-Line Applications Research Corporation (OAR).
16
 *
17
 *  The license and distribution terms for this file may be
18
 *  found in the file LICENSE in this distribution or at
19
 *  http://www.OARcorp.com/rtems/license.html.
20
 *
21 208 chris
 *  $Id: init.c,v 1.2 2001-09-27 12:02:32 chris Exp $
22 158 chris
 */
23
 
24
#define TEST_INIT
25
#include "system.h"
26
 
27
#define MESSAGE_SIZE (sizeof(long) * 4)
28
 
29
rtems_task Init(
30
  rtems_task_argument argument
31
)
32
{
33
  rtems_status_code status;
34
 
35
  puts( "\n\n*** TEST 13 ***" );
36
 
37
  Task_name[ 1 ] =  rtems_build_name( 'T', 'A', '1', ' ' );
38
  Task_name[ 2 ] =  rtems_build_name( 'T', 'A', '2', ' ' );
39
  Task_name[ 3 ] =  rtems_build_name( 'T', 'A', '3', ' ' );
40
 
41
  status = rtems_task_create(
42
    Task_name[ 1 ],
43
    4,
44
    RTEMS_MINIMUM_STACK_SIZE * 2,
45
    RTEMS_DEFAULT_MODES,
46
    RTEMS_DEFAULT_ATTRIBUTES,
47
    &Task_id[ 1 ]
48
  );
49
  directive_failed( status, "rtems_task_create of TA1" );
50
 
51
  status = rtems_task_create(
52
    Task_name[ 2 ],
53
    4,
54
    RTEMS_MINIMUM_STACK_SIZE * 2,
55
    RTEMS_DEFAULT_MODES,
56
    RTEMS_DEFAULT_ATTRIBUTES,
57
    &Task_id[ 2 ]
58
  );
59
  directive_failed( status, "rtems_task_create of TA2" );
60
 
61
  status = rtems_task_create(
62
    Task_name[ 3 ],
63
    4,
64
    RTEMS_MINIMUM_STACK_SIZE * 2,
65
    RTEMS_DEFAULT_MODES,
66
    RTEMS_DEFAULT_ATTRIBUTES,
67
    &Task_id[ 3 ]
68
  );
69
  directive_failed( status, "rtems_task_create of TA3" );
70
 
71
  status = rtems_task_start( Task_id[ 1 ], Task_1, 0 );
72
  directive_failed( status, "rtems_task_start of TA1" );
73
 
74
  status = rtems_task_start( Task_id[ 2 ], Task_2, 0 );
75
  directive_failed( status, "rtems_task_start of TA2" );
76
 
77
  status = rtems_task_start( Task_id[ 3 ], Task_3, 0 );
78
  directive_failed( status, "rtems_task_start of TA3" );
79
 
80
  Queue_name[ 1 ] = rtems_build_name( 'Q', '1', ' ', ' ' );
81
  Queue_name[ 2 ] = rtems_build_name( 'Q', '2', ' ', ' ' );
82
  Queue_name[ 3 ] = rtems_build_name( 'Q', '3', ' ', ' ' );
83
 
84
  status = rtems_message_queue_create(
85
    Queue_name[ 1 ],
86
    100,
87
    MESSAGE_SIZE,
88
    RTEMS_DEFAULT_ATTRIBUTES,
89
    &Queue_id[ 1 ]
90
  );
91
  directive_failed( status, "rtems_message_queue_create of Q1" );
92
 
93
  status = rtems_message_queue_create(
94
    Queue_name[ 2 ],
95
    10,
96
    MESSAGE_SIZE,
97
    RTEMS_PRIORITY,
98
    &Queue_id[ 2 ]
99
  );
100
  directive_failed( status, "rtems_message_queue_create of Q2" );
101
 
102
  status = rtems_message_queue_create(
103
    Queue_name[ 3 ],
104
    100,
105
    MESSAGE_SIZE,
106
    RTEMS_DEFAULT_ATTRIBUTES,
107
    &Queue_id[ 3 ]
108
  );
109
  directive_failed( status, "rtems_message_queue_create of Q3" );
110
 
111
  status = rtems_task_delete( RTEMS_SELF );
112
  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
113
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.