ChibiOS
21.6.0
|
Kernel related settings and hooks.
Kernel parameters and options | |
#define | CH_CFG_MAX_THREADS 4 |
Maximum number of user threads in the application. More... | |
#define | CH_CFG_AUTOSTART_THREADS TRUE |
Auto starts threads when chSysInit() is invoked. 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_WAITEXIT TRUE |
Threads synchronization APIs. More... | |
#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_MESSAGES TRUE |
Synchronous Messages APIs. More... | |
OSLIB options | |
#define | CH_CFG_USE_MAILBOXES TRUE |
Mailboxes APIs. More... | |
#define | CH_CFG_USE_MEMCORE TRUE |
Core Memory Manager APIs. More... | |
#define | CH_CFG_MEMCORE_SIZE 0 |
Managed RAM size. 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_USE_OBJ_CACHES TRUE |
Objects Caches APIs. More... | |
#define | CH_CFG_USE_DELEGATES TRUE |
Delegate threads APIs. More... | |
#define | CH_CFG_USE_JOBS TRUE |
Jobs Queues 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... | |
#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_THREAD_EXIT_HOOK(tp) {} |
Threads finalization 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_MAX_THREADS 4 |
Maximum number of user threads in the application.
Definition at line 51 of file nil/templates/chconf.h.
#define CH_CFG_AUTOSTART_THREADS TRUE |
Auto starts threads when chSysInit()
is invoked.
Definition at line 58 of file nil/templates/chconf.h.
#define CH_CFG_ST_RESOLUTION 32 |
System time counter resolution.
Definition at line 75 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 85 of file nil/templates/chconf.h.
#define CH_CFG_ST_TIMEDELTA 0 |
Time delta constant for the tick-less mode.
Definition at line 97 of file nil/templates/chconf.h.
#define CH_CFG_USE_WAITEXIT TRUE |
Threads synchronization APIs.
If enabled then the chThdWait()
function is included in the kernel.
TRUE
. Definition at line 117 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 127 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 138 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 148 of file nil/templates/chconf.h.
#define CH_CFG_USE_MESSAGES TRUE |
Synchronous Messages APIs.
If enabled then the synchronous messages APIs are included in the kernel.
TRUE
. Definition at line 159 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 180 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 191 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 206 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 217 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 228 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 239 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 250 of file nil/templates/chconf.h.
#define CH_CFG_USE_OBJ_CACHES TRUE |
Objects Caches APIs.
If enabled then the objects caches APIs are included in the kernel.
TRUE
. Definition at line 261 of file nil/templates/chconf.h.
#define CH_CFG_USE_DELEGATES TRUE |
Delegate threads APIs.
If enabled then the delegate threads APIs are included in the kernel.
TRUE
. Definition at line 272 of file nil/templates/chconf.h.
#define CH_CFG_USE_JOBS TRUE |
Jobs Queues APIs.
If enabled then the jobs queues APIs are included in the kernel.
TRUE
. Definition at line 283 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 303 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 312 of file nil/templates/chconf.h.
#define CH_CFG_FACTORY_OBJECTS_REGISTRY TRUE |
Enables the registry of generic objects.
Definition at line 319 of file nil/templates/chconf.h.
#define CH_CFG_FACTORY_GENERIC_BUFFERS TRUE |
Enables factory for generic buffers.
Definition at line 326 of file nil/templates/chconf.h.
#define CH_CFG_FACTORY_SEMAPHORES TRUE |
Enables factory for semaphores.
Definition at line 333 of file nil/templates/chconf.h.
#define CH_CFG_FACTORY_MAILBOXES TRUE |
Enables factory for mailboxes.
Definition at line 340 of file nil/templates/chconf.h.
#define CH_CFG_FACTORY_OBJ_FIFOS TRUE |
Enables factory for objects FIFOs.
Definition at line 347 of file nil/templates/chconf.h.
#define CH_CFG_FACTORY_PIPES TRUE |
Enables factory for Pipes.
Definition at line 354 of file nil/templates/chconf.h.
#define CH_DBG_STATISTICS FALSE |
Debug option, kernel statistics.
FALSE
. Definition at line 373 of file nil/templates/chconf.h.
#define CH_DBG_SYSTEM_STATE_CHECK TRUE |
Debug option, system state check.
FALSE
. Definition at line 382 of file nil/templates/chconf.h.
#define CH_DBG_ENABLE_CHECKS TRUE |
Debug option, parameters checks.
FALSE
. Definition at line 391 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 431 of file nil/templates/chconf.h.
#define CH_CFG_THREAD_EXT_INIT_HOOK | ( | tr | ) |
Threads initialization hook.
Definition at line 437 of file nil/templates/chconf.h.
#define CH_CFG_THREAD_EXIT_HOOK | ( | tp | ) | {} |
Threads finalization hook.
User finalization code added to the chThdExit()
API.
Definition at line 445 of file nil/templates/chconf.h.
#define CH_CFG_IDLE_ENTER_HOOK | ( | ) |
Idle thread enter hook.
Definition at line 453 of file nil/templates/chconf.h.
#define CH_CFG_IDLE_LEAVE_HOOK | ( | ) |
Idle thread leave hook.
Definition at line 462 of file nil/templates/chconf.h.
#define CH_CFG_SYSTEM_HALT_HOOK | ( | reason | ) |