Function esp_idf_svc::sys::xTaskCreatePinnedToCore
source · pub unsafe extern "C" fn xTaskCreatePinnedToCore(
pxTaskCode: Option<unsafe extern "C" fn(_: *mut c_void)>,
pcName: *const i8,
ulStackDepth: u32,
pvParameters: *mut c_void,
uxPriority: u32,
pxCreatedTask: *mut *mut tskTaskControlBlock,
xCoreID: i32,
) -> i32
Expand description
@brief Create a new task that is pinned to a particular core
This function is similar to xTaskCreate(), but allows the creation of a pinned task. The task’s pinned core is specified by the xCoreID argument. If xCoreID is set to tskNO_AFFINITY, then the task is unpinned and can run on any core.
@note If ( configNUMBER_OF_CORES == 1 ), setting xCoreID to tskNO_AFFINITY will be be treated as 0.
@param pxTaskCode Pointer to the task entry function. @param pcName A descriptive name for the task. @param ulStackDepth The size of the task stack specified as the NUMBER OF BYTES. Note that this differs from vanilla FreeRTOS. @param pvParameters Pointer that will be used as the parameter for the task being created. @param uxPriority The priority at which the task should run. @param pxCreatedTask Used to pass back a handle by which the created task can be referenced. @param xCoreID The core to which the task is pinned to, or tskNO_AFFINITY if the task has no core affinity. @return pdPASS if the task was successfully created and added to a ready list, otherwise an error code defined in the file projdefs.h