40#define __CHIBIOS_OSLIB__
45#define CH_OSLIB_STABLE 1
54#define CH_OSLIB_VERSION "1.3.3"
59#define CH_OSLIB_MAJOR 1
64#define CH_OSLIB_MINOR 3
69#define CH_OSLIB_PATCH 3
81#if !defined(__CHIBIOS_RT__) && !defined(__CHIBIOS_NIL__)
82#error "OS check failed, must be included after ch.h"
86#if !defined(CH_CFG_USE_MAILBOXES)
87#error "CH_CFG_USE_MAILBOXES not defined in chconf.h"
90#if !defined(CH_CFG_USE_MEMCORE)
91#error "CH_CFG_USE_MEMCORE not defined in chconf.h"
94#if !defined(CH_CFG_USE_HEAP)
95#error "CH_CFG_USE_HEAP not defined in chconf.h"
98#if !defined(CH_CFG_USE_MEMPOOLS)
99#error "CH_CFG_USE_MEMPOOLS not defined in chconf.h"
102#if !defined(CH_CFG_USE_OBJ_FIFOS)
103#error "CH_CFG_USE_OBJ_FIFOS not defined in chconf.h"
106#if !defined(CH_CFG_USE_PIPES)
107#error "CH_CFG_USE_PIPES not defined in chconf.h"
110#if !defined(CH_CFG_USE_OBJ_CACHES)
111#error "CH_CFG_USE_OBJ_CACHES not defined in chconf.h"
114#if !defined(CH_CFG_USE_DELEGATES)
115#error "CH_CFG_USE_DELEGATES not defined in chconf.h"
118#if !defined(CH_CFG_USE_JOBS)
119#error "CH_CFG_USE_JOBS not defined in chconf.h"
123#if !defined(CH_CFG_USE_FACTORY)
124#error "CH_CFG_USE_FACTORY not defined in chconf.h"
127#if !defined(CH_CFG_FACTORY_MAX_NAMES_LENGTH)
128#error "CH_CFG_FACTORY_MAX_NAMES_LENGTH not defined in chconf.h"
131#if !defined(CH_CFG_FACTORY_OBJECTS_REGISTRY)
132#error "CH_CFG_FACTORY_OBJECTS_REGISTRY not defined in chconf.h"
135#if !defined(CH_CFG_FACTORY_GENERIC_BUFFERS)
136#error "CH_CFG_FACTORY_GENERIC_BUFFERS not defined in chconf.h"
139#if !defined(CH_CFG_FACTORY_SEMAPHORES)
140#error "CH_CFG_FACTORY_SEMAPHORES not defined in chconf.h"
143#if !defined(CH_CFG_FACTORY_MAILBOXES)
144#error "CH_CFG_FACTORY_MAILBOXES not defined in chconf.h"
147#if !defined(CH_CFG_FACTORY_OBJ_FIFOS)
148#error "CH_CFG_FACTORY_OBJ_FIFOS not defined in chconf.h"
152#if !defined(CH_CUSTOMER_LIC_OSLIB) || !defined(CH_LICENSE_FEATURES)
153#error "malformed chlicense.h"
156#if (CH_LICENSE_FEATURES != CH_FEATURES_FULL) && \
157 (CH_LICENSE_FEATURES != CH_FEATURES_INTERMEDIATE) && \
158 (CH_LICENSE_FEATURES != CH_FEATURES_BASIC)
159#error "invalid CH_LICENSE_FEATURES setting"
163#if (CH_CUSTOMER_LIC_OSLIB == FALSE) || \
164 (CH_LICENSE_FEATURES == CH_FEATURES_INTERMEDIATE) || \
165 (CH_LICENSE_FEATURES == CH_FEATURES_BASIC)
168#undef CH_CFG_USE_FACTORY
170#define CH_CFG_USE_FACTORY FALSE
177#if (CH_CUSTOMER_LIC_OSLIB == FALSE) || \
178 (CH_LICENSE_FEATURES == CH_FEATURES_BASIC)
181#undef CH_CFG_USE_HEAP
182#undef CH_CFG_USE_MEMPOOLS
183#undef CH_CFG_USE_OBJ_FIFOS
184#undef CH_CFG_USE_PIPES
185#undef CH_CFG_USE_OBJ_CACHES
186#undef CH_CFG_USE_DELEGATES
187#undef CH_CFG_USE_JOBS
189#define CH_CFG_USE_HEAP FALSE
190#define CH_CFG_USE_MEMPOOLS FALSE
191#define CH_CFG_USE_OBJ_FIFOS FALSE
192#define CH_CFG_USE_PIPES FALSE
193#define CH_CFG_USE_OBJ_CACHES FALSE
194#define CH_CFG_USE_DELEGATES FALSE
195#define CH_CFG_USE_JOBS FALSE
201#if (CH_CUSTOMER_LIC_OSLIB == FALSE)
204#undef CH_CFG_USE_MAILBOXES
206#define CH_CFG_USE_MAILBOXES FALSE
250#if CH_CFG_USE_MEMCORE == TRUE
253#if CH_CFG_USE_HEAP == TRUE
256#if CH_CFG_USE_FACTORY == TRUE
Binary semaphores structures and macros.
Delegate threads macros and structures.
ChibiOS objects factory structures and macros.
Jobs Queues structures and macros.
Mailboxes macros and structures.
Core memory manager macros and structures.
Memory heaps macros and structures.
Memory Pools macros and structures.
Objects Caches macros and structures.
Objects FIFO structures and macros.
Pipes macros and structures.
static void __oslib_init(void)
Initialization of all library modules.
void __core_init(void)
Low level memory manager initialization.
void __heap_init(void)
Initializes the default heap.
void __factory_init(void)
Initializes the objects factory.