Skip to content

Group xTaskCreateRestricted

Modules > xTaskCreateRestricted


Detailed Description

task. h

Only available when configSUPPORT_DYNAMIC_ALLOCATION is set to 1.

xTaskCreateRestricted() should only be used in systems that include an MPU implementation.

Create a new task and add it to the list of tasks that are ready to run. The function parameters define the memory regions and associated access permissions allocated to the task.

See xTaskCreateRestrictedStatic() for a version that does not use any dynamic memory allocation.


  • pxTaskDefinition Pointer to a structure that contains a member for each of the normal xTaskCreate() parameters (see the xTaskCreate() API documentation) plus an optional stack buffer and the memory region definitions.
  • pxCreatedTask Used to pass back a handle by which the created task can be referenced.


pdPASS if the task was successfully created and added to a ready list, otherwise an error code defined in the file projdefs.h

Example usage:

task. h

Memory regions are assigned to a restricted task when the task is created by a call to xTaskCreateRestricted(). These regions can be redefined using vTaskAllocateMPURegions().


  • xTask The handle of the task being updated.
  • xRegions A pointer to an MemoryRegion_t structure that contains the new memory region definitions.

Example usage: