Standard C Library¶
The kernel currently provides only the minimal subset of the standard C library required to meet the needs of Zephyr and its subsystems and features, primarily in the areas of string manipulation and display.
Applications that require a more extensive C library can either submit contributions that enhance the existing library or substitute with a replacement library.
The Zephyr SDK and other supported toolchains comes with a bare-metal C library
based on newlib
that can be used with Zephyr by selecting the
CONFIG_NEWLIB_LIBC
in the application configuration file. Part of the
support for newlib
is a set of hooks available under
lib/libc/newlib/libc-hooks.c
which integrates the c library with basic
kernel services.
Minimal C Library¶
The minimal C library is part of Zephyr and provides a minimal set of C functions needed by Zephyr.
The following functions are implemented in the minimal C library included with Zephyr:
abs()
atoi()
bsearch()
calloc()
free()
gmtime()
gmtime_r()
isalnum()
isalpha()
isdigit()
isgraph()
isprint()
isspace()
isupper()
isxdigit()
localtime()
malloc()
memchr()
memcmp()
memcpy()
memmove()
memset()
mktime()
rand()
realloc()
snprintf()
sprintf()
strcat()
strchr()
strcmp()
strcpy()
strlen()
trncat()
strncmp()
strncpy()
strrchr()
strstr()
strtol()
trtoul()
time()
tolower()
toupper()
vsnprintf()
vsprintf()