Go to the documentation of this file.
31#define _CHIBIOS_RT_CONF_
32#define _CHIBIOS_RT_CONF_VER_7_0_
48#if !defined(CH_CFG_SMP_MODE)
49#define CH_CFG_SMP_MODE FALSE
65#if !defined(CH_CFG_ST_RESOLUTION)
66#define CH_CFG_ST_RESOLUTION 32
74#if !defined(CH_CFG_ST_FREQUENCY)
75#define CH_CFG_ST_FREQUENCY 10000
82#if !defined(CH_CFG_INTERVALS_SIZE)
83#define CH_CFG_INTERVALS_SIZE 32
90#if !defined(CH_CFG_TIME_TYPES_SIZE)
91#define CH_CFG_TIME_TYPES_SIZE 32
102#if !defined(CH_CFG_ST_TIMEDELTA)
103#define CH_CFG_ST_TIMEDELTA 2
127#if !defined(CH_CFG_TIME_QUANTUM)
128#define CH_CFG_TIME_QUANTUM 0
138#if !defined(CH_CFG_NO_IDLE_THREAD)
139#define CH_CFG_NO_IDLE_THREAD FALSE
159#if !defined(CH_CFG_OPTIMIZE_SPEED)
160#define CH_CFG_OPTIMIZE_SPEED TRUE
179#if !defined(CH_CFG_USE_TM)
180#define CH_CFG_USE_TM TRUE
189#if !defined(CH_CFG_USE_TIMESTAMP)
190#define CH_CFG_USE_TIMESTAMP TRUE
199#if !defined(CH_CFG_USE_REGISTRY)
200#define CH_CFG_USE_REGISTRY TRUE
210#if !defined(CH_CFG_USE_WAITEXIT)
211#define CH_CFG_USE_WAITEXIT TRUE
220#if !defined(CH_CFG_USE_SEMAPHORES)
221#define CH_CFG_USE_SEMAPHORES TRUE
233#if !defined(CH_CFG_USE_SEMAPHORES_PRIORITY)
234#define CH_CFG_USE_SEMAPHORES_PRIORITY FALSE
243#if !defined(CH_CFG_USE_MUTEXES)
244#define CH_CFG_USE_MUTEXES TRUE
255#if !defined(CH_CFG_USE_MUTEXES_RECURSIVE)
256#define CH_CFG_USE_MUTEXES_RECURSIVE FALSE
267#if !defined(CH_CFG_USE_CONDVARS)
268#define CH_CFG_USE_CONDVARS TRUE
279#if !defined(CH_CFG_USE_CONDVARS_TIMEOUT)
280#define CH_CFG_USE_CONDVARS_TIMEOUT TRUE
289#if !defined(CH_CFG_USE_EVENTS)
290#define CH_CFG_USE_EVENTS TRUE
301#if !defined(CH_CFG_USE_EVENTS_TIMEOUT)
302#define CH_CFG_USE_EVENTS_TIMEOUT TRUE
312#if !defined(CH_CFG_USE_MESSAGES)
313#define CH_CFG_USE_MESSAGES TRUE
325#if !defined(CH_CFG_USE_MESSAGES_PRIORITY)
326#define CH_CFG_USE_MESSAGES_PRIORITY FALSE
338#if !defined(CH_CFG_USE_DYNAMIC)
339#define CH_CFG_USE_DYNAMIC TRUE
359#if !defined(CH_CFG_USE_MAILBOXES)
360#define CH_CFG_USE_MAILBOXES TRUE
370#if !defined(CH_CFG_USE_MEMCORE)
371#define CH_CFG_USE_MEMCORE TRUE
385#if !defined(CH_CFG_MEMCORE_SIZE)
386#define CH_CFG_MEMCORE_SIZE 0
399#if !defined(CH_CFG_USE_HEAP)
400#define CH_CFG_USE_HEAP TRUE
410#if !defined(CH_CFG_USE_MEMPOOLS)
411#define CH_CFG_USE_MEMPOOLS TRUE
421#if !defined(CH_CFG_USE_OBJ_FIFOS)
422#define CH_CFG_USE_OBJ_FIFOS TRUE
432#if !defined(CH_CFG_USE_PIPES)
433#define CH_CFG_USE_PIPES TRUE
443#if !defined(CH_CFG_USE_OBJ_CACHES)
444#define CH_CFG_USE_OBJ_CACHES TRUE
454#if !defined(CH_CFG_USE_DELEGATES)
455#define CH_CFG_USE_DELEGATES TRUE
465#if !defined(CH_CFG_USE_JOBS)
466#define CH_CFG_USE_JOBS TRUE
485#if !defined(CH_CFG_USE_FACTORY)
486#define CH_CFG_USE_FACTORY TRUE
494#if !defined(CH_CFG_FACTORY_MAX_NAMES_LENGTH)
495#define CH_CFG_FACTORY_MAX_NAMES_LENGTH 8
501#if !defined(CH_CFG_FACTORY_OBJECTS_REGISTRY)
502#define CH_CFG_FACTORY_OBJECTS_REGISTRY TRUE
508#if !defined(CH_CFG_FACTORY_GENERIC_BUFFERS)
509#define CH_CFG_FACTORY_GENERIC_BUFFERS TRUE
515#if !defined(CH_CFG_FACTORY_SEMAPHORES)
516#define CH_CFG_FACTORY_SEMAPHORES TRUE
522#if !defined(CH_CFG_FACTORY_MAILBOXES)
523#define CH_CFG_FACTORY_MAILBOXES TRUE
529#if !defined(CH_CFG_FACTORY_OBJ_FIFOS)
530#define CH_CFG_FACTORY_OBJ_FIFOS TRUE
536#if !defined(CH_CFG_FACTORY_PIPES) || defined(__DOXYGEN__)
537#define CH_CFG_FACTORY_PIPES TRUE
554#if !defined(CH_DBG_STATISTICS)
555#define CH_DBG_STATISTICS FALSE
565#if !defined(CH_DBG_SYSTEM_STATE_CHECK)
566#define CH_DBG_SYSTEM_STATE_CHECK TRUE
576#if !defined(CH_DBG_ENABLE_CHECKS)
577#define CH_DBG_ENABLE_CHECKS TRUE
588#if !defined(CH_DBG_ENABLE_ASSERTS)
589#define CH_DBG_ENABLE_ASSERTS TRUE
598#if !defined(CH_DBG_TRACE_MASK)
599#define CH_DBG_TRACE_MASK CH_DBG_TRACE_MASK_ALL
607#if !defined(CH_DBG_TRACE_BUFFER_SIZE)
608#define CH_DBG_TRACE_BUFFER_SIZE 128
621#if !defined(CH_DBG_ENABLE_STACK_CHECK)
622#define CH_DBG_ENABLE_STACK_CHECK TRUE
633#if !defined(CH_DBG_FILL_THREADS)
634#define CH_DBG_FILL_THREADS TRUE
646#if !defined(CH_DBG_THREADS_PROFILING)
647#define CH_DBG_THREADS_PROFILING FALSE
663#define CH_CFG_SYSTEM_EXTRA_FIELDS \
671#define CH_CFG_SYSTEM_INIT_HOOK() { \
679#define CH_CFG_OS_INSTANCE_EXTRA_FIELDS \
687#define CH_CFG_OS_INSTANCE_INIT_HOOK(oip) { \
695#define CH_CFG_THREAD_EXTRA_FIELDS \
707#define CH_CFG_THREAD_INIT_HOOK(tp) { \
717#define CH_CFG_THREAD_EXIT_HOOK(tp) { \
728#define CH_CFG_CONTEXT_SWITCH_HOOK(ntp, otp) { \
735#define CH_CFG_IRQ_PROLOGUE_HOOK() { \
742#define CH_CFG_IRQ_EPILOGUE_HOOK() { \
752#define CH_CFG_IDLE_ENTER_HOOK() { \
762#define CH_CFG_IDLE_LEAVE_HOOK() { \
770#define CH_CFG_IDLE_LOOP_HOOK() { \
779#define CH_CFG_SYSTEM_TICK_HOOK() { \
788#define CH_CFG_SYSTEM_HALT_HOOK(reason) { \
797#define CH_CFG_TRACE_HOOK(tep) { \
805#define CH_CFG_RUNTIME_FAULTS_HOOK(mask) { \