26. Configuring a SystemΒΆ
- 26.1. Introduction
- 26.2. Default Value Selection Philosophy
- 26.3. Sizing the RTEMS Workspace
- 26.4. Potential Issues with RTEMS Workspace Size Estimation
- 26.5. Configuration Example
- 26.6. Unlimited Objects
- 26.7. General System Configuration
- 26.7.1. CONFIGURE_DIRTY_MEMORY
- 26.7.2. CONFIGURE_DISABLE_BSP_SETTINGS
- 26.7.3. CONFIGURE_DISABLE_NEWLIB_REENTRANCY
- 26.7.4. CONFIGURE_EXECUTIVE_RAM_SIZE
- 26.7.5. CONFIGURE_EXTRA_TASK_STACKS
- 26.7.6. CONFIGURE_INIT
- 26.7.7. CONFIGURE_INITIAL_EXTENSIONS
- 26.7.8. CONFIGURE_INTERRUPT_STACK_SIZE
- 26.7.9. CONFIGURE_MALLOC_DIRTY
- 26.7.10. CONFIGURE_MAXIMUM_FILE_DESCRIPTORS
- 26.7.11. CONFIGURE_MAXIMUM_PROCESSORS
- 26.7.12. CONFIGURE_MAXIMUM_THREAD_LOCAL_STORAGE_SIZE
- 26.7.13. CONFIGURE_MAXIMUM_THREAD_NAME_SIZE
- 26.7.14. CONFIGURE_MEMORY_OVERHEAD
- 26.7.15. CONFIGURE_MESSAGE_BUFFER_MEMORY
- 26.7.16. CONFIGURE_MICROSECONDS_PER_TICK
- 26.7.17. CONFIGURE_MINIMUM_TASK_STACK_SIZE
- 26.7.18. CONFIGURE_STACK_CHECKER_ENABLED
- 26.7.19. CONFIGURE_TICKS_PER_TIMESLICE
- 26.7.20. CONFIGURE_UNIFIED_WORK_AREAS
- 26.7.21. CONFIGURE_UNLIMITED_ALLOCATION_SIZE
- 26.7.22. CONFIGURE_UNLIMITED_OBJECTS
- 26.7.23. CONFIGURE_VERBOSE_SYSTEM_INITIALIZATION
- 26.7.24. CONFIGURE_ZERO_WORKSPACE_AUTOMATICALLY
- 26.8. Device Driver Configuration
- 26.8.1. CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
- 26.8.2. CONFIGURE_APPLICATION_EXTRA_DRIVERS
- 26.8.3. CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER
- 26.8.4. CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
- 26.8.5. CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
- 26.8.6. CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER
- 26.8.7. CONFIGURE_APPLICATION_NEEDS_IDE_DRIVER
- 26.8.8. CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER
- 26.8.9. CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER
- 26.8.10. CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER
- 26.8.11. CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER
- 26.8.12. CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER
- 26.8.13. CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER
- 26.8.14. CONFIGURE_APPLICATION_NEEDS_WATCHDOG_DRIVER
- 26.8.15. CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER
- 26.8.16. CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS
- 26.8.17. CONFIGURE_ATA_DRIVER_TASK_PRIORITY
- 26.8.18. CONFIGURE_EXCEPTION_TO_SIGNAL_MAPPING
- 26.8.19. CONFIGURE_MAXIMUM_DRIVERS
- 26.9. Classic API Configuration
- 26.9.1. CONFIGURE_MAXIMUM_BARRIERS
- 26.9.2. CONFIGURE_MAXIMUM_MESSAGE_QUEUES
- 26.9.3. CONFIGURE_MAXIMUM_PARTITIONS
- 26.9.4. CONFIGURE_MAXIMUM_PERIODS
- 26.9.5. CONFIGURE_MAXIMUM_PORTS
- 26.9.6. CONFIGURE_MAXIMUM_REGIONS
- 26.9.7. CONFIGURE_MAXIMUM_SEMAPHORES
- 26.9.8. CONFIGURE_MAXIMUM_TASKS
- 26.9.9. CONFIGURE_MAXIMUM_TIMERS
- 26.9.10. CONFIGURE_MAXIMUM_USER_EXTENSIONS
- 26.9.11. CONFIGURE_MINIMUM_TASKS_WITH_USER_PROVIDED_STORAGE
- 26.10. Classic API Initialization Task Configuration
- 26.10.1. CONFIGURE_INIT_TASK_ARGUMENTS
- 26.10.2. CONFIGURE_INIT_TASK_ATTRIBUTES
- 26.10.3. CONFIGURE_INIT_TASK_CONSTRUCT_STORAGE_SIZE
- 26.10.4. CONFIGURE_INIT_TASK_ENTRY_POINT
- 26.10.5. CONFIGURE_INIT_TASK_INITIAL_MODES
- 26.10.6. CONFIGURE_INIT_TASK_NAME
- 26.10.7. CONFIGURE_INIT_TASK_PRIORITY
- 26.10.8. CONFIGURE_INIT_TASK_STACK_SIZE
- 26.10.9. CONFIGURE_RTEMS_INIT_TASKS_TABLE
- 26.11. POSIX API Configuration
- 26.11.1. CONFIGURE_MAXIMUM_POSIX_KEYS
- 26.11.2. CONFIGURE_MAXIMUM_POSIX_KEY_VALUE_PAIRS
- 26.11.3. CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUES
- 26.11.4. CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS
- 26.11.5. CONFIGURE_MAXIMUM_POSIX_SEMAPHORES
- 26.11.6. CONFIGURE_MAXIMUM_POSIX_SHMS
- 26.11.7. CONFIGURE_MAXIMUM_POSIX_THREADS
- 26.11.8. CONFIGURE_MAXIMUM_POSIX_TIMERS
- 26.11.9. CONFIGURE_MINIMUM_POSIX_THREAD_STACK_SIZE
- 26.12. POSIX Initialization Thread Configuration
- 26.13. Event Recording Configuration
- 26.14. Filesystem Configuration
- 26.14.1. CONFIGURE_APPLICATION_DISABLE_FILESYSTEM
- 26.14.2. CONFIGURE_FILESYSTEM_ALL
- 26.14.3. CONFIGURE_FILESYSTEM_DOSFS
- 26.14.4. CONFIGURE_FILESYSTEM_FTPFS
- 26.14.5. CONFIGURE_FILESYSTEM_IMFS
- 26.14.6. CONFIGURE_FILESYSTEM_JFFS2
- 26.14.7. CONFIGURE_FILESYSTEM_NFS
- 26.14.8. CONFIGURE_FILESYSTEM_RFS
- 26.14.9. CONFIGURE_FILESYSTEM_TFTPFS
- 26.14.10. CONFIGURE_IMFS_DISABLE_CHMOD
- 26.14.11. CONFIGURE_IMFS_DISABLE_CHOWN
- 26.14.12. CONFIGURE_IMFS_DISABLE_LINK
- 26.14.13. CONFIGURE_IMFS_DISABLE_MKNOD
- 26.14.14. CONFIGURE_IMFS_DISABLE_MKNOD_DEVICE
- 26.14.15. CONFIGURE_IMFS_DISABLE_MKNOD_FILE
- 26.14.16. CONFIGURE_IMFS_DISABLE_MOUNT
- 26.14.17. CONFIGURE_IMFS_DISABLE_READDIR
- 26.14.18. CONFIGURE_IMFS_DISABLE_READLINK
- 26.14.19. CONFIGURE_IMFS_DISABLE_RENAME
- 26.14.20. CONFIGURE_IMFS_DISABLE_RMNOD
- 26.14.21. CONFIGURE_IMFS_DISABLE_SYMLINK
- 26.14.22. CONFIGURE_IMFS_DISABLE_UNMOUNT
- 26.14.23. CONFIGURE_IMFS_DISABLE_UTIME
- 26.14.24. CONFIGURE_IMFS_ENABLE_MKFIFO
- 26.14.25. CONFIGURE_IMFS_MEMFILE_BYTES_PER_BLOCK
- 26.14.26. CONFIGURE_JFFS2_DELAYED_WRITE_TASK_PRIORITY
- 26.14.27. CONFIGURE_USE_DEVFS_AS_BASE_FILESYSTEM
- 26.14.28. CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM
- 26.15. Block Device Cache Configuration
- 26.15.1. CONFIGURE_APPLICATION_NEEDS_LIBBLOCK
- 26.15.2. CONFIGURE_BDBUF_BUFFER_MAX_SIZE
- 26.15.3. CONFIGURE_BDBUF_BUFFER_MIN_SIZE
- 26.15.4. CONFIGURE_BDBUF_CACHE_MEMORY_SIZE
- 26.15.5. CONFIGURE_BDBUF_MAX_READ_AHEAD_BLOCKS
- 26.15.6. CONFIGURE_BDBUF_MAX_WRITE_BLOCKS
- 26.15.7. CONFIGURE_BDBUF_READ_AHEAD_TASK_PRIORITY
- 26.15.8. CONFIGURE_BDBUF_TASK_STACK_SIZE
- 26.15.9. CONFIGURE_SWAPOUT_BLOCK_HOLD
- 26.15.10. CONFIGURE_SWAPOUT_SWAP_PERIOD
- 26.15.11. CONFIGURE_SWAPOUT_TASK_PRIORITY
- 26.15.12. CONFIGURE_SWAPOUT_WORKER_TASKS
- 26.15.13. CONFIGURE_SWAPOUT_WORKER_TASK_PRIORITY
- 26.16. Task Stack Allocator Configuration
- 26.17. Idle Task Configuration
- 26.18. General Scheduler Configuration
- 26.18.1. CONFIGURE_CBS_MAXIMUM_SERVERS
- 26.18.2. CONFIGURE_MAXIMUM_PRIORITY
- 26.18.3. CONFIGURE_SCHEDULER_ASSIGNMENTS
- 26.18.4. CONFIGURE_SCHEDULER_CBS
- 26.18.5. CONFIGURE_SCHEDULER_EDF
- 26.18.6. CONFIGURE_SCHEDULER_EDF_SMP
- 26.18.7. CONFIGURE_SCHEDULER_NAME
- 26.18.8. CONFIGURE_SCHEDULER_PRIORITY
- 26.18.9. CONFIGURE_SCHEDULER_PRIORITY_AFFINITY_SMP
- 26.18.10. CONFIGURE_SCHEDULER_PRIORITY_SMP
- 26.18.11. CONFIGURE_SCHEDULER_SIMPLE
- 26.18.12. CONFIGURE_SCHEDULER_SIMPLE_SMP
- 26.18.13. CONFIGURE_SCHEDULER_STRONG_APA
- 26.18.14. CONFIGURE_SCHEDULER_TABLE_ENTRIES
- 26.18.15. CONFIGURE_SCHEDULER_USER
- 26.19. Clustered Scheduler Configuration
- 26.20. FACE Technical Standard Related Configuration
- 26.21. Multiprocessing Configuration
- 26.22. PCI Library Configuration
- 26.23. Ada Configuration
- 26.24. Directives
- 26.24.1. rtems_get_build_label()
- 26.24.2. rtems_get_copyright_notice()
- 26.24.3. rtems_get_target_hash()
- 26.24.4. rtems_get_version_string()
- 26.24.5. rtems_configuration_get_do_zero_of_workspace()
- 26.24.6. rtems_configuration_get_idle_task_stack_size()
- 26.24.7. rtems_configuration_get_idle_task()
- 26.24.8. rtems_configuration_get_interrupt_stack_size()
- 26.24.9. rtems_configuration_get_maximum_barriers()
- 26.24.10. rtems_configuration_get_maximum_extensions()
- 26.24.11. rtems_configuration_get_maximum_message_queues()
- 26.24.12. rtems_configuration_get_maximum_partitions()
- 26.24.13. rtems_configuration_get_maximum_periods()
- 26.24.14. rtems_configuration_get_maximum_ports()
- 26.24.15. rtems_configuration_get_maximum_processors()
- 26.24.16. rtems_configuration_get_maximum_regions()
- 26.24.17. rtems_configuration_get_maximum_semaphores()
- 26.24.18. rtems_configuration_get_maximum_tasks()
- 26.24.19. rtems_configuration_get_maximum_timers()
- 26.24.20. rtems_configuration_get_microseconds_per_tick()
- 26.24.21. rtems_configuration_get_milliseconds_per_tick()
- 26.24.22. rtems_configuration_get_nanoseconds_per_tick()
- 26.24.23. rtems_configuration_get_number_of_initial_extensions()
- 26.24.24. rtems_configuration_get_stack_allocate_for_idle_hook()
- 26.24.25. rtems_configuration_get_stack_allocate_hook()
- 26.24.26. rtems_configuration_get_stack_allocate_init_hook()
- 26.24.27. rtems_configuration_get_stack_allocator_avoids_work_space()
- 26.24.28. rtems_configuration_get_stack_free_hook()
- 26.24.29. rtems_configuration_get_stack_space_size()
- 26.24.30. rtems_configuration_get_ticks_per_timeslice()
- 26.24.31. rtems_configuration_get_unified_work_area()
- 26.24.32. rtems_configuration_get_user_extension_table()
- 26.24.33. rtems_configuration_get_user_multiprocessing_table()
- 26.24.34. rtems_configuration_get_work_space_size()
- 26.24.35. rtems_configuration_get_rtems_api_configuration()
- 26.24.36. rtems_resource_is_unlimited()
- 26.24.37. rtems_resource_maximum_per_allocation()
- 26.24.38. rtems_resource_unlimited()
- 26.25. Obsolete Configuration Options
- 26.25.1. CONFIGURE_BDBUF_BUFFER_COUNT
- 26.25.2. CONFIGURE_BDBUF_BUFFER_SIZE
- 26.25.3. CONFIGURE_DISABLE_CLASSIC_API_NOTEPADS
- 26.25.4. CONFIGURE_ENABLE_GO
- 26.25.5. CONFIGURE_GNAT_RTEMS
- 26.25.6. CONFIGURE_HAS_OWN_CONFIGURATION_TABLE
- 26.25.7. CONFIGURE_HAS_OWN_BDBUF_TABLE
- 26.25.8. CONFIGURE_HAS_OWN_DEVICE_DRIVER_TABLE
- 26.25.9. CONFIGURE_HAS_OWN_INIT_TASK_TABLE
- 26.25.10. CONFIGURE_HAS_OWN_MOUNT_TABLE
- 26.25.11. CONFIGURE_HAS_OWN_MULTIPROCESSING_TABLE
- 26.25.12. CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS
- 26.25.13. CONFIGURE_MAXIMUM_ADA_TASKS
- 26.25.14. CONFIGURE_MAXIMUM_DEVICES
- 26.25.15. CONFIGURE_MAXIMUM_FAKE_ADA_TASKS
- 26.25.16. CONFIGURE_MAXIMUM_GO_CHANNELS
- 26.25.17. CONFIGURE_MAXIMUM_GOROUTINES
- 26.25.18. CONFIGURE_MAXIMUM_MRSP_SEMAPHORES
- 26.25.19. CONFIGURE_NUMBER_OF_TERMIOS_PORTS
- 26.25.20. CONFIGURE_MAXIMUM_POSIX_BARRIERS
- 26.25.21. CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES
- 26.25.22. CONFIGURE_MAXIMUM_POSIX_MESSAGE_QUEUE_DESCRIPTORS
- 26.25.23. CONFIGURE_MAXIMUM_POSIX_MUTEXES
- 26.25.24. CONFIGURE_MAXIMUM_POSIX_RWLOCKS
- 26.25.25. CONFIGURE_MAXIMUM_POSIX_SPINLOCKS
- 26.25.26. CONFIGURE_POSIX_HAS_OWN_INIT_THREAD_TABLE
- 26.25.27. CONFIGURE_SMP_APPLICATION
- 26.25.28. CONFIGURE_SMP_MAXIMUM_PROCESSORS
- 26.25.29. CONFIGURE_TERMIOS_DISABLED