Function esp_idf_svc::hal::sys::xTaskCreateStaticPinnedToCore

source ·
pub unsafe extern "C" fn xTaskCreateStaticPinnedToCore(
    pxTaskCode: Option<unsafe extern "C" fn(_: *mut c_void)>,
    pcName: *const i8,
    ulStackDepth: u32,
    pvParameters: *mut c_void,
    uxPriority: u32,
    puxStackBuffer: *mut u8,
    pxTaskBuffer: *mut xSTATIC_TCB,
    xCoreID: i32,
) -> *mut tskTaskControlBlock
Expand description

@brief Create a new static task that is pinned to a particular core

This function is similar to xTaskCreateStatic(), 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 puxStackBuffer Must point to a StackType_t array that has at least ulStackDepth indexes @param pxTaskBuffer Must point to a variable of type StaticTask_t, which will then be used to hold the task’s data structures, @param xCoreID The core to which the task is pinned to, or tskNO_AFFINITY if the task has no core affinity. @return The task handle if the task was created, NULL otherwise.