The latest development version of this page may be more current than this released 2.3-beta.1 version.

POSIX

Introduction

Portable Operating System Interface (POSIX) is a series of standards specified by the IEEE Computer Society to maintain compatibility between operating systems. The WM IoT SDK utilizes FreeRTOS-Plus-POSIX,which can implement A subset of POSIX threading API. With this subset, application developers familiar with POSIX API can develop FreeRTOS applications using POSIX-like threading primitives. However, FreeRTOS-Plus-POSIX only implements about 20% of the POSIX API. Therefore, it is not possible to simply port existing POSIX-compliant applications or libraries to run on the FreeRTOS kernel using this wrapper alone.

Current Supported Features

FreeRTOS-Plus-POSIX has implemented part of the IEEE Std 1003.1-2017 version of the Open Group Technical Standards Basic Specification, Issue 7. FreeRTOS-Plus-POSIX includes the implementation of the following POSIX thread header files:

  • errno.h

  • fcntl.h

  • mqueue.h

  • pthread.h

  • sched.h

  • semaphore.h

  • signal.h

  • sys/types.h

  • time.h

  • unistd.h

  • utils.h

POSIX meunconfig configuration

The main configurations are as follows:

Configuration Name

Config Discriptors

Default Values

CONFIG_COMPONENT_POSIX_ENABLED

Whether to enable POSIX components

N

CONFIG_POSIX_TASK_NAME_DEFAULT

Configure the default name of the thread

pthread

CONFIG_POSIX_TIMER_NAME_DEFAULT

Set the default name of the timer

timer

CONFIG_POSIX_MQ_MAX_MESSAGES

Configures the default maximum number of messages

10

CONFIG_POSIX_MQ_MAX_SIZE

Configures the maximum byte size of the message

128