mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-08-26 03:39:42 +08:00
* hello/system.h, minimum/Makefile.am, minimum/init.c: Merge GSOC project code to add simple device only filesystem (devfs), optionally completely drop out filesystem, and to clean up disabling newlib reentrancy support. This dropped 17K from the minimum.exe for sparc/sis and arm/rtl22xx_t now has a 15K code space.
100 lines
2.4 KiB
C
100 lines
2.4 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 application has no filesytem and libio support.
|
|
*/
|
|
#define CONFIGURE_APPLICATION_DISABLE_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_API_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
|
|
|
|
/*
|
|
* If you are debugging confdefs.h, define this
|
|
*/
|
|
/* #define CONFIGURE_CONFDEFS_DEBUG */
|
|
|
|
/*
|
|
* Instantiate the configuration tables.
|
|
*/
|
|
#define CONFIGURE_INIT
|
|
|
|
#include <rtems/confdefs.h>
|
|
|
|
/* global variables */
|