source: rtems/testsuites/samples/minimum/init.c @ 51a95ff9

4.115
Last change on this file since 51a95ff9 was c499856, checked in by Chris Johns <chrisj@…>, on 03/20/14 at 21:10:47

Change all references of rtems.com to rtems.org.

  • Property mode set to 100644
File size: 3.2 KB
Line 
1/**
2 *  @file
3 *
4 *  Minimum Size Application Initialization
5 */
6
7/*
8 *  COPYRIGHT (c) 1989-2012.
9 *  On-Line Applications Research Corporation (OAR).
10 *
11 *  The license and distribution terms for this file may be
12 *  found in the file LICENSE in this distribution or at
13 *  http://www.rtems.org/license/LICENSE.
14 */
15
16#ifdef HAVE_CONFIG_H
17#include "config.h"
18#endif
19
20#include <bsp.h>
21#include <rtems/score/thread.h>
22
23/* forward declarations to avoid warnings */
24rtems_task Init(rtems_task_argument argument);
25
26rtems_task Init(
27  rtems_task_argument ignored
28)
29{
30  /* initialize application */
31
32  /* Real application would call idle loop functionality */
33
34  /* but in this case, just return and fall into a fatal error */
35}
36
37/* configuration information */
38
39/*
40 * This application has no device drivers.
41 */
42/* NOTICE: the clock driver is explicitly disabled */
43#define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
44
45/*
46 *  This application has no filesytem and libio support.
47 */
48#define CONFIGURE_APPLICATION_DISABLE_FILESYSTEM
49
50/*
51 *  This disables reentrancy support in the C Library.  It is usually
52 *  not something an application wants to do unless the development
53 *  team is committed to using C Library routines that are KNOWN to
54 *  be reentrant.  Caveat Emptor!!
55 */
56#define CONFIGURE_DISABLE_NEWLIB_REENTRANCY
57
58/*
59 *  This test does not need the console driver so there is no reason
60 *  to configure termios.
61 */
62#define CONFIGURE_TERMIOS_DISABLED
63
64/*
65 *  This test does not use any stdio.
66 */
67#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 0
68
69/*
70 *  This may prevent us from running on every architecture but it
71 *  demonstrates that the user can specify how small of a minimum
72 *  stack they want.
73 */
74#define CONFIGURE_MINIMUM_TASK_STACK_SIZE 512
75
76/*
77 *  This lowers the number of priorities that this test is able to
78 *  use.  The Idle task will be running at the lowest priority.
79 */
80#define CONFIGURE_MAXIMUM_PRIORITY 15
81
82/*
83 *  This disables Classic API Notepads and saves 16 uint32_t's of RAM
84 *  per Task Control Block.  If you aren't using these and are tight
85 *  on RAM, this is an option.
86 */
87#define CONFIGURE_DISABLE_CLASSIC_API_NOTEPADS
88
89/*
90 *  This configures RTEMS to use a single memory pool for the RTEMS Workspace
91 *  and C Program Heap.  If not defined, there will be separate memory pools
92 *  for the RTEMS Workspace and C Program Heap.  Having separate pools
93 *  does haved some advantages in the event a task blows a stack or writes
94 *  outside its memory area. However, in low memory systems the overhead of
95 *  the two pools plus the potential for unused memory in either pool is
96 *  very undesirable.
97 *
98 *  In high memory environments, this is desirable when you want to use
99 *  the RTEMS "unlimited" objects option.  You will be able to create objects
100 *  until you run out of memory.
101 */
102#define CONFIGURE_UNIFIED_WORK_AREAS
103
104/*
105 *  In this application, the initialization task performs the system
106 *  initialization and then transforms itself into the idle task.
107 */
108#define CONFIGURE_IDLE_TASK_BODY Init
109#define CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION
110
111/*
112 *  If you are debugging confdefs.h, define this
113 */
114/* #define CONFIGURE_CONFDEFS_DEBUG */
115
116/*
117 *  Instantiate the configuration tables.
118 */
119#define CONFIGURE_INIT
120
121#include <rtems/confdefs.h>
122
123/* global variables */
Note: See TracBrowser for help on using the repository browser.