source: rtems/testsuites/samples/minimum/init.c @ ccd5434

Last change on this file since ccd5434 was ccd5434, checked in by Sebastian Huber <sebastian.huber@…>, on Jan 7, 2016 at 8:55:45 AM

score: Introduce Thread_Entry_information

This avoids potential dead code in _Thread_Handler(). It gets rid of
the dangerous function pointer casts.

Update #2514.

  • Property mode set to 100644
File size: 2.9 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
23static void *Init( uintptr_t ignored )
24{
25  /* initialize application */
26
27  /* Real application would call idle loop functionality */
28
29  /* but in this case, just return and fall into a fatal error */
30
31  return NULL;
32}
33
34/* configuration information */
35
36/*
37 * This application has no device drivers.
38 */
39/* NOTICE: the clock driver is explicitly disabled */
40#define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
41
42/*
43 *  This application has no filesytem and libio support.
44 */
45#define CONFIGURE_APPLICATION_DISABLE_FILESYSTEM
46
47/*
48 *  This disables reentrancy support in the C Library.  It is usually
49 *  not something an application wants to do unless the development
50 *  team is committed to using C Library routines that are KNOWN to
51 *  be reentrant.  Caveat Emptor!!
52 */
53#define CONFIGURE_DISABLE_NEWLIB_REENTRANCY
54
55/*
56 *  This test does not need the console driver so there is no reason
57 *  to configure termios.
58 */
59#define CONFIGURE_TERMIOS_DISABLED
60
61/*
62 *  This test does not use any stdio.
63 */
64#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 0
65
66/*
67 *  This may prevent us from running on every architecture but it
68 *  demonstrates that the user can specify how small of a minimum
69 *  stack they want.
70 */
71#define CONFIGURE_MINIMUM_TASK_STACK_SIZE 512
72
73/*
74 *  This lowers the number of priorities that this test is able to
75 *  use.  The Idle task will be running at the lowest priority.
76 */
77#define CONFIGURE_MAXIMUM_PRIORITY 15
78
79/*
80 *  This configures RTEMS to use a single memory pool for the RTEMS Workspace
81 *  and C Program Heap.  If not defined, there will be separate memory pools
82 *  for the RTEMS Workspace and C Program Heap.  Having separate pools
83 *  does haved some advantages in the event a task blows a stack or writes
84 *  outside its memory area. However, in low memory systems the overhead of
85 *  the two pools plus the potential for unused memory in either pool is
86 *  very undesirable.
87 *
88 *  In high memory environments, this is desirable when you want to use
89 *  the RTEMS "unlimited" objects option.  You will be able to create objects
90 *  until you run out of memory.
91 */
92#define CONFIGURE_UNIFIED_WORK_AREAS
93
94/*
95 *  In this application, the initialization task performs the system
96 *  initialization and then transforms itself into the idle task.
97 */
98#define CONFIGURE_IDLE_TASK_BODY Init
99#define CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION
100
101/*
102 *  If you are debugging confdefs.h, define this
103 */
104/* #define CONFIGURE_CONFDEFS_DEBUG */
105
106/*
107 *  Instantiate the configuration tables.
108 */
109#define CONFIGURE_INIT
110
111#include <rtems/confdefs.h>
112
113/* global variables */
Note: See TracBrowser for help on using the repository browser.