Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

For a threadsafe newlib C implementation, we need to define:

Code Block
languagecpp
titleFreeRTOSConfig.h
#define configUSE_NEWLIB_REENTRANT      1

This will create a separate impure pointer for each task (handled by FreeRTOS).

Furthermore, we need to provide reentrant implementations for sbrk(), malloc_lock(), malloc_unlock(), env_lock(), env_unlock(). Broadly used is this independent implementation: newlib and FreeRTOS.

To use this, we have to exclude the libc_mem_support from the libc_support component.