ChibiOS/RT  5.1.0
chconf.h File Reference

Configuration file template. More...

Go to the source code of this file.

Macros

System timers settings
#define CH_CFG_ST_RESOLUTION   32
 System time counter resolution. More...
 
#define CH_CFG_ST_FREQUENCY   10000
 System tick frequency. More...
 
#define CH_CFG_INTERVALS_SIZE   32
 Time intervals data size. More...
 
#define CH_CFG_TIME_TYPES_SIZE   32
 Time types data size. More...
 
#define CH_CFG_ST_TIMEDELTA   2
 Time delta constant for the tick-less mode. More...
 
Kernel parameters and options
#define CH_CFG_TIME_QUANTUM   0
 Round robin interval. More...
 
#define CH_CFG_MEMCORE_SIZE   0
 Managed RAM size. More...
 
#define CH_CFG_NO_IDLE_THREAD   FALSE
 Idle thread automatic spawn suppression. More...
 
Performance options
#define CH_CFG_OPTIMIZE_SPEED   TRUE
 OS optimization. More...
 
Subsystem options
#define CH_CFG_USE_TM   TRUE
 Time Measurement APIs. More...
 
#define CH_CFG_USE_REGISTRY   TRUE
 Threads registry APIs. More...
 
#define CH_CFG_USE_WAITEXIT   TRUE
 Threads synchronization APIs. More...
 
#define CH_CFG_USE_SEMAPHORES   TRUE
 Semaphores APIs. More...
 
#define CH_CFG_USE_SEMAPHORES_PRIORITY   FALSE
 Semaphores queuing mode. More...
 
#define CH_CFG_USE_MUTEXES   TRUE
 Mutexes APIs. More...
 
#define CH_CFG_USE_MUTEXES_RECURSIVE   FALSE
 Enables recursive behavior on mutexes. More...
 
#define CH_CFG_USE_CONDVARS   TRUE
 Conditional Variables APIs. More...
 
#define CH_CFG_USE_CONDVARS_TIMEOUT   TRUE
 Conditional Variables APIs with timeout. More...
 
#define CH_CFG_USE_EVENTS   TRUE
 Events Flags APIs. More...
 
#define CH_CFG_USE_EVENTS_TIMEOUT   TRUE
 Events Flags APIs with timeout. More...
 
#define CH_CFG_USE_MESSAGES   TRUE
 Synchronous Messages APIs. More...
 
#define CH_CFG_USE_MESSAGES_PRIORITY   FALSE
 Synchronous Messages queuing mode. More...
 
#define CH_CFG_USE_MAILBOXES   TRUE
 Mailboxes APIs. More...
 
#define CH_CFG_USE_MEMCORE   TRUE
 Core Memory Manager APIs. More...
 
#define CH_CFG_USE_HEAP   TRUE
 Heap Allocator APIs. More...
 
#define CH_CFG_USE_MEMPOOLS   TRUE
 Memory Pools Allocator APIs. More...
 
#define CH_CFG_USE_OBJ_FIFOS   TRUE
 Objects FIFOs APIs. More...
 
#define CH_CFG_USE_DYNAMIC   TRUE
 Dynamic Threads APIs. More...
 
Objects factory options
#define CH_CFG_USE_FACTORY   TRUE
 Objects Factory APIs. More...
 
#define CH_CFG_FACTORY_MAX_NAMES_LENGTH   8
 Maximum length for object names. More...
 
#define CH_CFG_FACTORY_OBJECTS_REGISTRY   TRUE
 Enables the registry of generic objects. More...
 
#define CH_CFG_FACTORY_GENERIC_BUFFERS   TRUE
 Enables factory for generic buffers. More...
 
#define CH_CFG_FACTORY_SEMAPHORES   TRUE
 Enables factory for semaphores. More...
 
#define CH_CFG_FACTORY_MAILBOXES   TRUE
 Enables factory for mailboxes. More...
 
#define CH_CFG_FACTORY_OBJ_FIFOS   TRUE
 Enables factory for objects FIFOs. More...
 
Debug options
#define CH_DBG_STATISTICS   FALSE
 Debug option, kernel statistics. More...
 
#define CH_DBG_SYSTEM_STATE_CHECK   TRUE
 Debug option, system state check. More...
 
#define CH_DBG_ENABLE_CHECKS   TRUE
 Debug option, parameters checks. More...
 
#define CH_DBG_ENABLE_ASSERTS   TRUE
 Debug option, consistency checks. More...
 
#define CH_DBG_TRACE_MASK   CH_DBG_TRACE_MASK_ALL
 Debug option, trace buffer. More...
 
#define CH_DBG_TRACE_BUFFER_SIZE   128
 Trace buffer entries. More...
 
#define CH_DBG_ENABLE_STACK_CHECK   TRUE
 Debug option, stack checks. More...
 
#define CH_DBG_FILL_THREADS   TRUE
 Debug option, stacks initialization. More...
 
#define CH_DBG_THREADS_PROFILING   FALSE
 Debug option, threads profiling. More...
 
Kernel hooks
#define CH_CFG_SYSTEM_EXTRA_FIELDS   /* Add threads custom fields here.*/
 System structure extension. More...
 
#define CH_CFG_SYSTEM_INIT_HOOK()
 System initialization hook. More...
 
#define CH_CFG_THREAD_EXTRA_FIELDS   /* Add threads custom fields here.*/
 Threads descriptor structure extension. More...
 
#define CH_CFG_THREAD_INIT_HOOK(tp)
 Threads initialization hook. More...
 
#define CH_CFG_THREAD_EXIT_HOOK(tp)
 Threads finalization hook. More...
 
#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp)
 Context switch hook. More...
 
#define CH_CFG_IRQ_PROLOGUE_HOOK()
 ISR enter hook. More...
 
#define CH_CFG_IRQ_EPILOGUE_HOOK()
 ISR exit hook. More...
 
#define CH_CFG_IDLE_ENTER_HOOK()
 Idle thread enter hook. More...
 
#define CH_CFG_IDLE_LEAVE_HOOK()
 Idle thread leave hook. More...
 
#define CH_CFG_IDLE_LOOP_HOOK()
 Idle Loop hook. More...
 
#define CH_CFG_SYSTEM_TICK_HOOK()
 System tick event hook. More...
 
#define CH_CFG_SYSTEM_HALT_HOOK(reason)
 System halt hook. More...
 
#define CH_CFG_TRACE_HOOK(tep)
 Trace hook. More...
 

Detailed Description

Configuration file template.

A copy of this file must be placed in each project directory, it contains the application specific kernel settings.

Definition in file chconf.h.