xvi CONTENTS
8.22.3.10 chGuardedPoolAllocTimeout(guarded_memory_pool_t ∗gmp, sysinterval_t time-
out) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
8.22.3.11 chGuardedPoolFreeI(guarded_memory_pool_t ∗gmp, void ∗objp) . . . . . . . . 246
8.22.3.12 chGuardedPoolFree(guarded_memory_pool_t ∗gmp, void ∗objp) . . . . . . . . 247
8.22.3.13 chPoolObjectInit(memory_pool_t ∗mp, size_t size, memgetfunc_t provider) . . . 248
8.22.3.14 chPoolAdd(memory_pool_t ∗mp, void ∗objp) . . . . . . . . . . . . . . . . . . . 249
8.22.3.15 chPoolAddI(memory_pool_t ∗mp, void ∗objp) . . . . . . . . . . . . . . . . . . . 249
8.22.3.16 chGuardedPoolObjectInit(guarded_memory_pool_t ∗gmp, size_t size) . . . . . . 250
8.22.3.17 chGuardedPoolAdd(guarded_memory_pool_t ∗gmp, void ∗objp) . . . . . . . . . 250
8.22.3.18 chGuardedPoolAddI(guarded_memory_pool_t ∗gmp, void ∗objp) . . . . . . . . 251
8.22.3.19 chGuardedPoolAllocI(guarded_memory_pool_t ∗gmp) . . . . . . . . . . . . . . 252
8.23 Dynamic Threads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
8.23.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
8.23.2 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
8.23.2.1 chThdCreateFromHeap(memory_heap_t ∗heapp, size_t size, const char ∗name,
tprio_t prio, tfunc_t pf, void ∗arg) . . . . . . . . . . . . . . . . . . . . . . . . . . 254
8.23.2.2 chThdCreateFromMemoryPool(memory_pool_t ∗mp, const char ∗name, tprio_t
prio, tfunc_t pf, void ∗arg) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
8.24 Registry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
8.24.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
8.24.2 Macro Definition Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
8.24.2.1 REG_REMOVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
8.24.2.2 REG_INSERT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
8.24.3 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
8.24.3.1 chRegFirstThread(void) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
8.24.3.2 chRegNextThread(thread_t ∗tp) . . . . . . . . . . . . . . . . . . . . . . . . . . 259
8.24.3.3 chRegFindThreadByName(const char ∗name) . . . . . . . . . . . . . . . . . . 260
8.24.3.4 chRegFindThreadByPointer(thread_t ∗tp) . . . . . . . . . . . . . . . . . . . . . 261
8.24.3.5 chRegFindThreadByWorkingArea(stkalign_t ∗wa) . . . . . . . . . . . . . . . . 262
8.24.3.6 chRegSetThreadName(const char ∗name) . . . . . . . . . . . . . . . . . . . . 262
8.24.3.7 chRegGetThreadNameX(thread_t ∗tp) . . . . . . . . . . . . . . . . . . . . . . 263
8.24.3.8 chRegSetThreadNameX(thread_t ∗tp, const char ∗name) . . . . . . . . . . . . 263
8.25 Debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
8.25.1 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
8.25.2 Macro Definition Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
8.25.2.1 CH_DBG_STACK_FILL_VALUE . . . . . . . . . . . . . . . . . . . . . . . . . 265
8.25.2.2 chDbgCheck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
8.25.2.3 chDbgAssert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
8.25.3 Function Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
8.25.3.1 _dbg_check_disable(void) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
8.25.3.2 _dbg_check_suspend(void) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
ChibiOS/RT