]> rtime.felk.cvut.cz Git - rtems-pluggable-edf.git/blob - rtems-omk-template/appfoo/system.h
rbtree.c: readjusted the operation for the current data structures
[rtems-pluggable-edf.git] / rtems-omk-template / appfoo / system.h
1 /*  system.h
2  *
3  *  This include file contains information that is included in every
4  *  function in the test set.
5  *
6  *  COPYRIGHT (c) 1989-1999.
7  *  On-Line Applications Research Corporation (OAR).
8  *
9  *  The license and distribution terms for this file may be
10  *  found in the file LICENSE in this distribution or at
11  *  http://www.rtems.com/license/LICENSE.
12  *
13  *  $Id: system.h,v 1.13.6.1 2003/09/04 18:46:30 joel Exp $
14  */
15
16 #include <rtems.h>
17
18 /* functions */
19
20 rtems_task Init(
21   rtems_task_argument argument
22 );
23
24 /* configuration information */
25
26 #include <bsp.h> /* for device driver prototypes */
27
28 #define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
29 #define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
30 #define CONFIGURE_APPLICATION_NEEDS_LIBBLOCK
31
32 #define TICKS_PER_SECOND 1000
33
34 #define CONFIGURE_MAXIMUM_TIMERS                 32
35 #define CONFIGURE_MAXIMUM_MESSAGE_QUEUES         32
36 #define CONFIGURE_MAXIMUM_SEMAPHORES             32
37 #define CONFIGURE_MAXIMUM_TASKS                  32
38 #define CONFIGURE_MAXIMUM_PERIODS                4
39 #define CONFIGURE_MAXIMUM_USER_EXTENSIONS        2
40 #define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 32
41 #define CONFIGURE_MAXIMUM_DRIVERS (CONFIGURE_NUMBER_OF_DRIVERS+10)
42
43 #ifdef RTEMS_POSIX_API
44 #define CONFIGURE_MAXIMUM_POSIX_THREADS          32
45 #define CONFIGURE_MAXIMUM_POSIX_MUTEXES          20
46 #define CONFIGURE_MAXIMUM_POSIX_SEMAPHORES       10
47 #endif /*RTEMS_POSIX_API*/
48
49 #define CONFIGURE_RTEMS_INIT_TASKS_TABLE
50
51
52 #define CONFIGURE_USE_IMFS_AS_BASE_FILESYSTEM
53 /*#define CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM*/
54
55 #define CONFIGURE_MICROSECONDS_PER_TICK 1000
56
57 #define CONFIGURE_INIT_TASK_STACK_SIZE  (10*1024)
58 #define CONFIGURE_INIT_TASK_PRIORITY    120
59 #define CONFIGURE_INIT_TASK_INITIAL_MODES (RTEMS_PREEMPT | \
60                                            RTEMS_NO_TIMESLICE | \
61                                            RTEMS_NO_ASR | \
62                                            RTEMS_INTERRUPT_LEVEL(0))
63
64
65
66 /*
67  * Scheduler configuration.
68  *
69  * The scheduler configuration allows an application to select the 
70  * scheduling policy to use.  The supported configurations are:
71  *  CONFIGURE_SCHEDULER_USER     - user provided scheduler
72  *  CONFIGURE_SCHEDULER_PRIORITY - Deterministic Priority Scheduler
73  * 
74  * If no configuration is specified by the application, then 
75  * CONFIGURE_SCHEDULER_PRIORITY is assumed to be the default.
76  *
77  * An application can define its own scheduling policy by defining
78  * CONFIGURE_SCHEDULER_USER and the following:
79  *    - CONFIGURE_SCHEDULER_ENTRY_POINTS 
80  *    - CONFIGURE_MEMORY_FOR_SCHEDULER - base memory  
81  *    - CONFIGURE_MEMORY_PER_TASK_FOR_SCHEDULER - per task memory
82  */
83                 
84 // to enable our own scheduler
85 #define CONFIGURE_SCHEDULER_USER
86
87 /**
88  *  Entry points for a edf Scheduler.
89  */
90 #define CONFIGURE_SCHEDULER_USER_ENTRY_POINTS 
91 // EDF
92 #include "scheduler_edf.h"
93 #define SCHEDULER_ENTRY_POINTS SCHEDULER_EDF_ENTRY_POINTS
94 // Priority
95 //#include "scheduler_priority.h"
96 //#define SCHEDULER_ENTRY_POINTS SCHEDULER_PRIORITY_ENTRY_POINTS
97
98 #define CONFIGURE_MEMORY_FOR_SCHEDULER (1024)
99 #define CONFIGURE_MEMORY_PER_TASK_FOR_SCHEDULER (256)
100
101
102
103
104 #include <rtems/confdefs.h>
105
106
107
108
109 /* end of include file */