ChibiOS 21.11.4
chconf.h File Reference

Configuration file template. More...

Go to the source code of this file.

Macros

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

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 rt/templates/chconf.h.