ChibiOS
19.1.4
|
![]() |
Kernel related settings and hooks.
Kernel parameters and options | |
#define | CH_CFG_NUM_THREADS 3 |
Number of user threads in the application. More... | |
System timer settings | |
#define | CH_CFG_ST_RESOLUTION 32 |
System time counter resolution. More... | |
#define | CH_CFG_ST_FREQUENCY 1000 |
System tick frequency. More... | |
#define | CH_CFG_ST_TIMEDELTA 0 |
Time delta constant for the tick-less mode. More... | |
Subsystem options | |
#define | CH_CFG_USE_SEMAPHORES TRUE |
Semaphores APIs. More... | |
#define | CH_CFG_USE_MUTEXES FALSE |
Mutexes APIs. More... | |
#define | CH_CFG_USE_EVENTS TRUE |
Events Flags APIs. 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_PIPES TRUE |
Pipes APIs. More... | |
#define | CH_CFG_MEMCORE_SIZE 0 |
Managed RAM size. 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... | |
#define | CH_CFG_FACTORY_PIPES TRUE |
Enables factory for Pipes. 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 |
System assertions. More... | |
#define | CH_DBG_ENABLE_STACK_CHECK TRUE |
Stack check. More... | |
Kernel hooks | |
#define | CH_CFG_SYSTEM_INIT_HOOK() |
System initialization hook. More... | |
#define | CH_CFG_THREAD_EXT_FIELDS /* Add threads custom fields here.*/ |
Threads descriptor structure extension. More... | |
#define | CH_CFG_THREAD_EXT_INIT_HOOK(tr) |
Threads initialization 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_SYSTEM_HALT_HOOK(reason) |
System halt hook. More... | |
#define CH_CFG_NUM_THREADS 3 |
Number of user threads in the application.
Definition at line 46 of file nil/templates/chconf.h.
Referenced by chSchDoReschedule(), chSchGoSleepTimeoutS(), chSchReadyI(), chSysInit(), chSysTimerHandlerI(), nil_find_thread(), and nil_ready_all().
#define CH_CFG_ST_RESOLUTION 32 |
System time counter resolution.
Definition at line 61 of file nil/templates/chconf.h.
#define CH_CFG_ST_FREQUENCY 1000 |
System tick frequency.
CH_CFG_ST_RESOLUTION
option defines the maximum amount of time allowed for timeouts. Definition at line 69 of file nil/templates/chconf.h.
#define CH_CFG_ST_TIMEDELTA 0 |
Time delta constant for the tick-less mode.
Definition at line 79 of file nil/templates/chconf.h.
#define CH_CFG_USE_SEMAPHORES TRUE |
Semaphores APIs.
If enabled then the Semaphores APIs are included in the kernel.
TRUE
. Definition at line 96 of file nil/templates/chconf.h.
#define CH_CFG_USE_MUTEXES FALSE |
Mutexes APIs.
If enabled then the mutexes APIs are included in the kernel.
FALSE
. Definition at line 105 of file nil/templates/chconf.h.
#define CH_CFG_USE_EVENTS TRUE |
Events Flags APIs.
If enabled then the event flags APIs are included in the kernel.
TRUE
. Definition at line 113 of file nil/templates/chconf.h.
#define CH_CFG_USE_MAILBOXES TRUE |
Mailboxes APIs.
If enabled then the asynchronous messages (mailboxes) APIs are included in the kernel.
TRUE
. CH_CFG_USE_SEMAPHORES
. Definition at line 123 of file nil/templates/chconf.h.
#define CH_CFG_USE_MEMCORE TRUE |
Core Memory Manager APIs.
If enabled then the core memory manager APIs are included in the kernel.
TRUE
. Definition at line 132 of file nil/templates/chconf.h.
#define CH_CFG_USE_HEAP TRUE |
Heap Allocator APIs.
If enabled then the memory heap allocator APIs are included in the kernel.
TRUE
. Definition at line 141 of file nil/templates/chconf.h.
#define CH_CFG_USE_MEMPOOLS TRUE |
Memory Pools Allocator APIs.
If enabled then the memory pools allocator APIs are included in the kernel.
TRUE
. Definition at line 150 of file nil/templates/chconf.h.
#define CH_CFG_USE_OBJ_FIFOS TRUE |
Objects FIFOs APIs.
If enabled then the objects FIFOs APIs are included in the kernel.
TRUE
. Definition at line 159 of file nil/templates/chconf.h.
#define CH_CFG_USE_PIPES TRUE |
Pipes APIs.
If enabled then the pipes APIs are included in the kernel.
TRUE
. Definition at line 168 of file nil/templates/chconf.h.
#define CH_CFG_MEMCORE_SIZE 0 |
Managed RAM size.
Size of the RAM area to be managed by the OS. If set to zero then the whole available RAM is used. The core memory is made available to the heap allocator and/or can be used directly through the simplified core memory allocator.
heap_base
and heap_end
symbols. CH_CFG_USE_MEMCORE
. Definition at line 181 of file nil/templates/chconf.h.
#define CH_CFG_USE_FACTORY TRUE |
Objects Factory APIs.
If enabled then the objects factory APIs are included in the kernel.
FALSE
. Definition at line 199 of file nil/templates/chconf.h.
#define CH_CFG_FACTORY_MAX_NAMES_LENGTH 8 |
Maximum length for object names.
If the specified length is zero then the name is stored by pointer but this could have unintended side effects.
Definition at line 206 of file nil/templates/chconf.h.
#define CH_CFG_FACTORY_OBJECTS_REGISTRY TRUE |
Enables the registry of generic objects.
Definition at line 211 of file nil/templates/chconf.h.
#define CH_CFG_FACTORY_GENERIC_BUFFERS TRUE |
Enables factory for generic buffers.
Definition at line 216 of file nil/templates/chconf.h.
#define CH_CFG_FACTORY_SEMAPHORES TRUE |
Enables factory for semaphores.
Definition at line 221 of file nil/templates/chconf.h.
#define CH_CFG_FACTORY_MAILBOXES TRUE |
Enables factory for mailboxes.
Definition at line 226 of file nil/templates/chconf.h.
#define CH_CFG_FACTORY_OBJ_FIFOS TRUE |
Enables factory for objects FIFOs.
Definition at line 231 of file nil/templates/chconf.h.
#define CH_CFG_FACTORY_PIPES TRUE |
Enables factory for Pipes.
Definition at line 236 of file nil/templates/chconf.h.
#define CH_DBG_STATISTICS FALSE |
Debug option, kernel statistics.
FALSE
. Definition at line 253 of file nil/templates/chconf.h.
#define CH_DBG_SYSTEM_STATE_CHECK TRUE |
Debug option, system state check.
FALSE
. Definition at line 260 of file nil/templates/chconf.h.
#define CH_DBG_ENABLE_CHECKS TRUE |
Debug option, parameters checks.
FALSE
. Definition at line 267 of file nil/templates/chconf.h.
#define CH_DBG_ENABLE_ASSERTS TRUE |
#define CH_DBG_ENABLE_STACK_CHECK TRUE |
#define CH_CFG_SYSTEM_INIT_HOOK | ( | ) |
#define CH_CFG_THREAD_EXT_FIELDS /* Add threads custom fields here.*/ |
Threads descriptor structure extension.
User fields added to the end of the thread_t
structure.
Definition at line 304 of file nil/templates/chconf.h.
#define CH_CFG_THREAD_EXT_INIT_HOOK | ( | tr | ) |
Threads initialization hook.
Definition at line 310 of file nil/templates/chconf.h.
Referenced by chSysInit().
#define CH_CFG_IDLE_ENTER_HOOK | ( | ) |
Idle thread enter hook.
Definition at line 320 of file nil/templates/chconf.h.
#define CH_CFG_IDLE_LEAVE_HOOK | ( | ) |
Idle thread leave hook.
Definition at line 329 of file nil/templates/chconf.h.
#define CH_CFG_SYSTEM_HALT_HOOK | ( | reason | ) |