Go to the documentation of this file.
33 #include "os_port_config.h"
40 #define PTR_OFFSET(addr, offset) ((void *) ((uint8_t *) (addr) + (offset)))
42 #define timeCompare(t1, t2) ((int32_t) ((t1) - (t2)))
45 #if !defined(__AT32F403A_407_LIBRARY_VERSION) && \
46 !defined(__AT32F435_437_LIBRARY_VERSION)
57 #define LSB(x) ((x) & 0xFF)
61 #define MSB(x) (((x) >> 8) & 0xFF)
65 #define MIN(a, b) ((a) < (b) ? (a) : (b))
69 #define MAX(a, b) ((a) > (b) ? (a) : (b))
73 #define arraysize(a) (sizeof(a) / sizeof(a[0]))
77 #define INFINITE_DELAY ((uint_t) -1)
79 #define MAX_DELAY (INFINITE_DELAY / 2)
82 #if defined(USE_NO_RTOS)
85 #elif defined(USE_CHIBIOS)
88 #elif defined(USE_CMX_RTX)
89 #include "os_port_cmx_rtx.h"
91 #elif defined(USE_CMSIS_RTOS)
94 #elif defined(USE_CMSIS_RTOS2)
97 #elif defined(USE_FREERTOS)
100 #elif defined(USE_SAFERTOS)
101 #include "os_port_safertos.h"
103 #elif defined(USE_THREADX)
106 #elif defined(USE_RTX)
109 #elif defined(USE_UCOS2)
112 #elif defined(USE_UCOS3)
115 #elif defined(USE_EMBOS)
118 #elif defined(USE_SYS_BIOS)
121 #elif defined(USE_ZEPHYR)
122 #include "os_port_zephyr.h"
124 #elif defined(_WIN32)
127 #elif defined(__linux__) || defined(__FreeBSD__)
134 #define osMemset(p, value, length) (void) memset(p, value, length)
140 #define osMemcpy(dest, src, length) (void) memcpy(dest, src, length)
146 #define osMemmove(dest, src, length) (void) memmove(dest, src, length)
152 #define osMemcmp(p1, p2, length) memcmp(p1, p2, length)
158 #define osMemchr(p, c, length) memchr(p, c, length)
164 #define osStrlen(s) strlen(s)
170 #define osStrcmp(s1, s2) strcmp(s1, s2)
176 #define osStrncmp(s1, s2, length) strncmp(s1, s2, length)
182 #define osStrcasecmp(s1, s2) strcasecmp(s1, s2)
186 #ifndef osStrncasecmp
188 #define osStrncasecmp(s1, s2, length) strncasecmp(s1, s2, length)
194 #define osStrchr(s, c) strchr(s, c)
200 #define osStrstr(s1, s2) strstr(s1, s2)
206 #define osStrcpy(s1, s2) (void) strcpy(s1, s2)
212 #define osStrncpy(s1, s2, length) (void) strncpy(s1, s2, length)
218 #define osStrcat(s1, s2) (void) strcat(s1, s2)
224 #define osStrtok_r(s, delim, last) strtok_r(s, delim, last)
230 #define osSprintf(dest, ...) sprintf(dest, __VA_ARGS__)
236 #define osSnprintf(dest, size, ...) snprintf(dest, size, __VA_ARGS__)
242 #define osVsnprintf(dest, size, format, ap) vsnprintf(dest, size, format, ap)
248 #define osStrtoul(s, endptr, base) strtoul(s, endptr, base)
254 #define osStrtoull(s, endptr, base) strtoull(s, endptr, base)
260 #define osTolower(c) tolower((uint8_t) (c))
266 #define osToupper(c) toupper((uint8_t) (c))
272 #define osIsupper(c) isupper((uint8_t) (c))
278 #define osIsdigit(c) isdigit((uint8_t) (c))
284 #define osIsspace(c) isspace((uint8_t) (c))
289 #define osIsblank(c) ((c) == ' ' || (c) == '\t')
292 #if !defined(__linux__) && !defined(__FreeBSD__)
296 #define usleep(delay) {volatile uint32_t n = delay * 4; while(n > 0) n--;}
300 #define sleep(delay) {volatile uint32_t n = delay * 4000; while(n > 0) n--;}
308 #define OS_INVALID_HANDLE OS_INVALID_TASK_ID
RTOS abstraction layer (CMSIS-RTOS)
RTOS abstraction layer (ChibiOS/RT)
RTOS abstraction layer (Keil RTX)
RTOS abstraction layer (CMSIS-RTOS 2 / RTX v5)
RTOS abstraction layer (Micrium uC/OS-II)
RTOS abstraction layer (Azure RTOS ThreadX)
RTOS abstraction layer (SYS/BIOS)
RTOS abstraction layer (FreeRTOS)
RTOS abstraction layer (Windows)
RTOS abstraction layer (POSIX Threads)
RTOS abstraction layer (Micrium uC/OS-III)
Compiler specific definitions.
RTOS abstraction layer (Segger embOS)