Files
rtems/testsuites/samples/minimum/init.c
Joel Sherrill bbfe59b4fd 2008-06-17 Joel Sherrill <joel.sherrill@oarcorp.com>
* iostream/system.h: Init task was close to blowing stack on PowerPC.
	* minimum/init.c: Disable Classic API Notepads.
2008-06-17 18:50:30 +00:00

95 lines
2.3 KiB
C

/* Minimum Size Application Initialization
*
* COPYRIGHT (c) 1989-2008.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://www.rtems.com/license/LICENSE.
*
* $Id$
*/
#include <bsp.h>
rtems_task Init(
rtems_task_argument ignored
)
{
rtems_mode mode;
/* initialize application */
/* Real application would call idle loop functionality */
/* but in this case, just return and fall into a fatal error */
}
/* configuration information */
/*
* This application has no device drivers.
*/
/* NOTICE: the clock driver is explicitly disabled */
#define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
/*
* This is the smallest IO subsystem RTEMS currently supports.
*/
#define CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM
/*
* This disables reentrancy support in the C Library. It is usually
* not something an application wants to do unless the development
* team is committed to using C Library routines that are KNOWN to
* be reentrant. Caveat Emptor!!
*/
#define CONFIGURE_DISABLE_NEWLIB_REENTRANCY
/*
* This test does not need the console driver so there is no reason
* to configure termios.
*/
#define CONFIGURE_TERMIOS_DISABLED
/*
* This test does not use any stdio.
*/
#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 0
/*
* This may prevent us from running on every architecture but it
* demonstrates that the user can specify how small of a minimum
* stack they want.
*/
#define CONFIGURE_MINIMUM_TASK_STACK_SIZE 512
/*
* This lowers the number of priorities that this test is able to
* use. The Idle task will be running at the lowest priority.
*/
#define CONFIGURE_MAXIMUM_PRIORITY 15
/*
* This disables Classic API Notepads and saves 16 uint32_t's of RAM
* per Task Control Block. If you aren't using these and are tight
* on RAM, this is an option.
*/
#define CONFIGURE_DISABLE_CLASSIC_NOTEPADS
/*
* In this application, the initialization task performs the system
* initialization and then transforms itself into the idle task.
*/
#define CONFIGURE_IDLE_TASK_BODY Init
#define CONFIGURE_IDLE_TASK_INITIALIZES_APPLICATION
/*
* Instantiate the configuration tables.
*/
#define CONFIGURE_INIT
#include <rtems/confdefs.h>
/* global variables */