|
ChibiOS 21.11.5
|
Kernel related settings and hooks.

Kernel parameters and options | |
| #define | CH_CFG_MAX_THREADS 4 |
| Maximum number of user threads in the application. | |
| #define | CH_CFG_AUTOSTART_THREADS TRUE |
Auto starts threads when chSysInit() is invoked. | |
System timer settings | |
| #define | CH_CFG_ST_RESOLUTION 32 |
| System time counter resolution. | |
| #define | CH_CFG_ST_FREQUENCY 1000 |
| System tick frequency. | |
| #define | CH_CFG_ST_TIMEDELTA 0 |
| Time delta constant for the tick-less mode. | |
Subsystem options | |
| #define | CH_CFG_USE_WAITEXIT TRUE |
| Threads synchronization APIs. | |
| #define | CH_CFG_USE_SEMAPHORES TRUE |
| Semaphores APIs. | |
| #define | CH_CFG_USE_MUTEXES FALSE |
| Mutexes APIs. | |
| #define | CH_CFG_USE_EVENTS TRUE |
| Events Flags APIs. | |
| #define | CH_CFG_USE_MESSAGES TRUE |
| Synchronous Messages APIs. | |
OSLIB options | |
| #define | CH_CFG_USE_MAILBOXES TRUE |
| Mailboxes APIs. | |
| #define | CH_CFG_USE_MEMCHECKS TRUE |
| Memory checks 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 |
| System assertions. | |
| #define | CH_DBG_ENABLE_STACK_CHECK TRUE |
| Stack check. | |
Kernel hooks | |
| #define | CH_CFG_SYSTEM_INIT_HOOK() |
| System initialization hook. | |
| #define | CH_CFG_THREAD_EXT_FIELDS /* Add threads custom fields here.*/ |
| Threads descriptor structure extension. | |
| #define | CH_CFG_THREAD_EXT_INIT_HOOK(tr) |
| Threads initialization hook. | |
| #define | CH_CFG_THREAD_EXIT_HOOK(tp) |
| Threads finalization hook. | |
| #define | CH_CFG_IDLE_ENTER_HOOK() |
| Idle thread enter hook. | |
| #define | CH_CFG_IDLE_LEAVE_HOOK() |
| Idle thread leave hook. | |
| #define | CH_CFG_SYSTEM_HALT_HOOK(reason) |
| System halt hook. | |
Macros | |
| #define | _CHIBIOS_NIL_CONF_ |
| #define | _CHIBIOS_NIL_CONF_VER_4_0_ |
| #define _CHIBIOS_NIL_CONF_ |
Definition at line 31 of file nil/templates/chconf.h.
| #define _CHIBIOS_NIL_CONF_VER_4_0_ |
Definition at line 32 of file nil/templates/chconf.h.
| #define CH_CFG_MAX_THREADS 4 |
Maximum number of user threads in the application.
Definition at line 51 of file nil/templates/chconf.h.
Referenced by chSchDoPreemption(), chSchGoSleepTimeoutS(), chSchReadyI(), chSysInit(), chSysTimerHandlerI(), chThdCreateI(), chThdExit(), nil_find_thread(), and nil_ready_all().
| #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_MEMCHECKS TRUE |
Memory checks APIs.
If enabled then the memory checks APIs are included in the kernel.
TRUE. Definition at line 190 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 201 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 216 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 227 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 238 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 249 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 260 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 271 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 282 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 293 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 313 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 322 of file nil/templates/chconf.h.
| #define CH_CFG_FACTORY_OBJECTS_REGISTRY TRUE |
Enables the registry of generic objects.
Definition at line 329 of file nil/templates/chconf.h.
| #define CH_CFG_FACTORY_GENERIC_BUFFERS TRUE |
Enables factory for generic buffers.
Definition at line 336 of file nil/templates/chconf.h.
| #define CH_CFG_FACTORY_SEMAPHORES TRUE |
Enables factory for semaphores.
Definition at line 343 of file nil/templates/chconf.h.
| #define CH_CFG_FACTORY_MAILBOXES TRUE |
Enables factory for mailboxes.
Definition at line 350 of file nil/templates/chconf.h.
| #define CH_CFG_FACTORY_OBJ_FIFOS TRUE |
Enables factory for objects FIFOs.
Definition at line 357 of file nil/templates/chconf.h.
| #define CH_CFG_FACTORY_PIPES TRUE |
Enables factory for Pipes.
Definition at line 364 of file nil/templates/chconf.h.
| #define CH_DBG_STATISTICS FALSE |
Debug option, kernel statistics.
FALSE. Definition at line 383 of file nil/templates/chconf.h.
| #define CH_DBG_SYSTEM_STATE_CHECK TRUE |
Debug option, system state check.
FALSE. Definition at line 392 of file nil/templates/chconf.h.
| #define CH_DBG_ENABLE_CHECKS TRUE |
Debug option, parameters checks.
FALSE. Definition at line 401 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 441 of file nil/templates/chconf.h.
| #define CH_CFG_THREAD_EXT_INIT_HOOK | ( | tr | ) |
Threads initialization hook.
Definition at line 447 of file nil/templates/chconf.h.
Referenced by chThdCreateI().
| #define CH_CFG_THREAD_EXIT_HOOK | ( | tp | ) |
Threads finalization hook.
User finalization code added to the chThdExit() API.
Definition at line 455 of file nil/templates/chconf.h.
| #define CH_CFG_IDLE_ENTER_HOOK | ( | ) |
Idle thread enter hook.
Definition at line 463 of file nil/templates/chconf.h.
| #define CH_CFG_IDLE_LEAVE_HOOK | ( | ) |
Idle thread leave hook.
Definition at line 472 of file nil/templates/chconf.h.
| #define CH_CFG_SYSTEM_HALT_HOOK | ( | reason | ) |