47 #if !defined(CH_FREQUENCY) || defined(__DOXYGEN__)
48 #define CH_FREQUENCY 1000
62 #if !defined(CH_TIME_QUANTUM) || defined(__DOXYGEN__)
63 #define CH_TIME_QUANTUM 1
77 #if !defined(CH_MEMCORE_SIZE) || defined(__DOXYGEN__)
78 #define CH_MEMCORE_SIZE 0
94 #if !defined(CH_NO_IDLE_THREAD) || defined(__DOXYGEN__)
95 #define CH_NO_IDLE_THREAD FALSE
115 #if !defined(CH_OPTIMIZE_SPEED) || defined(__DOXYGEN__)
116 #define CH_OPTIMIZE_SPEED TRUE
134 #if !defined(CH_USE_REGISTRY) || defined(__DOXYGEN__)
135 #define CH_USE_REGISTRY TRUE
145 #if !defined(CH_USE_WAITEXIT) || defined(__DOXYGEN__)
146 #define CH_USE_WAITEXIT TRUE
155 #if !defined(CH_USE_SEMAPHORES) || defined(__DOXYGEN__)
156 #define CH_USE_SEMAPHORES TRUE
167 #if !defined(CH_USE_SEMAPHORES_PRIORITY) || defined(__DOXYGEN__)
168 #define CH_USE_SEMAPHORES_PRIORITY FALSE
179 #if !defined(CH_USE_SEMSW) || defined(__DOXYGEN__)
180 #define CH_USE_SEMSW TRUE
189 #if !defined(CH_USE_MUTEXES) || defined(__DOXYGEN__)
190 #define CH_USE_MUTEXES TRUE
201 #if !defined(CH_USE_CONDVARS) || defined(__DOXYGEN__)
202 #define CH_USE_CONDVARS FALSE
213 #if !defined(CH_USE_CONDVARS_TIMEOUT) || defined(__DOXYGEN__)
214 #define CH_USE_CONDVARS_TIMEOUT FALSE
223 #if !defined(CH_USE_EVENTS) || defined(__DOXYGEN__)
224 #define CH_USE_EVENTS FALSE
235 #if !defined(CH_USE_EVENTS_TIMEOUT) || defined(__DOXYGEN__)
236 #define CH_USE_EVENTS_TIMEOUT FALSE
246 #if !defined(CH_USE_MESSAGES) || defined(__DOXYGEN__)
247 #define CH_USE_MESSAGES FALSE
258 #if !defined(CH_USE_MESSAGES_PRIORITY) || defined(__DOXYGEN__)
259 #define CH_USE_MESSAGES_PRIORITY FALSE
270 #if !defined(CH_USE_MAILBOXES) || defined(__DOXYGEN__)
271 #define CH_USE_MAILBOXES TRUE
280 #if !defined(CH_USE_QUEUES) || defined(__DOXYGEN__)
281 #define CH_USE_QUEUES FALSE
291 #if !defined(CH_USE_MEMCORE) || defined(__DOXYGEN__)
292 #define CH_USE_MEMCORE FALSE
305 #if !defined(CH_USE_HEAP) || defined(__DOXYGEN__)
306 #define CH_USE_HEAP FALSE
319 #if !defined(CH_USE_MALLOC_HEAP) || defined(__DOXYGEN__)
320 #define CH_USE_MALLOC_HEAP FALSE
330 #if !defined(CH_USE_MEMPOOLS) || defined(__DOXYGEN__)
331 #define CH_USE_MEMPOOLS TRUE
343 #if !defined(CH_USE_DYNAMIC) || defined(__DOXYGEN__)
344 #define CH_USE_DYNAMIC FALSE
363 #if !defined(CH_DBG_SYSTEM_STATE_CHECK) || defined(__DOXYGEN__)
364 #define CH_DBG_SYSTEM_STATE_CHECK FALSE
374 #if !defined(CH_DBG_ENABLE_CHECKS) || defined(__DOXYGEN__)
375 #define CH_DBG_ENABLE_CHECKS FALSE
386 #if !defined(CH_DBG_ENABLE_ASSERTS) || defined(__DOXYGEN__)
387 #define CH_DBG_ENABLE_ASSERTS FALSE
397 #if !defined(CH_DBG_ENABLE_TRACE) || defined(__DOXYGEN__)
398 #define CH_DBG_ENABLE_TRACE FALSE
411 #if !defined(CH_DBG_ENABLE_STACK_CHECK) || defined(__DOXYGEN__)
412 #define CH_DBG_ENABLE_STACK_CHECK FALSE
423 #if !defined(CH_DBG_FILL_THREADS) || defined(__DOXYGEN__)
424 #define CH_DBG_FILL_THREADS TRUE
436 #if !defined(CH_DBG_THREADS_PROFILING) || defined(__DOXYGEN__)
437 #define CH_DBG_THREADS_PROFILING FALSE
471 #define halGetCounterValue() hal_lld_get_counter_value()
483 #define hal_lld_get_counter_value() DWT_CYCCNT
489 #if !defined(THREAD_EXT_FIELDS) || defined(__DOXYGEN__)
490 #define THREAD_EXT_FIELDS \
491 halrtcnt_t ticks_switched_in; \
492 halrtcnt_t ticks_total; \
503 #if !defined(THREAD_EXT_INIT_HOOK) || defined(__DOXYGEN__)
504 #define THREAD_EXT_INIT_HOOK(tp) { \
517 #if !defined(THREAD_EXT_EXIT_HOOK) || defined(__DOXYGEN__)
518 #define THREAD_EXT_EXIT_HOOK(tp) { \
527 #if !defined(THREAD_CONTEXT_SWITCH_HOOK) || defined(__DOXYGEN__)
528 #define THREAD_CONTEXT_SWITCH_HOOK(ntp, otp) { \
529 ntp->ticks_switched_in = halGetCounterValue(); \
530 otp->ticks_total += ntp->ticks_switched_in - otp->ticks_switched_in; \
539 #if !defined(IDLE_LOOP_HOOK) || defined(__DOXYGEN__)
540 #define IDLE_LOOP_HOOK() { \
541 extern void vApplicationIdleHook(void); \
542 vApplicationIdleHook(); \
551 #if !defined(SYSTEM_TICK_EVENT_HOOK) || defined(__DOXYGEN__)
552 #define SYSTEM_TICK_EVENT_HOOK() { \
562 #if !defined(SYSTEM_HALT_HOOK) || defined(__DOXYGEN__)
563 #define SYSTEM_HALT_HOOK() { \
576 #define CORTEX_USE_FPU TRUE
uint32_t halrtcnt_t
Type of the realtime free counter value.