Spawn task functions as separate Linux threads
Add-On Required: This feature requires the Embedded Coder Support Package for Intel SoC Devices add-on.
Embedded Coder Support Package for Intel SoC Devices
Use this block to create a task function that spawns as a separate Linux® thread. The task function runs the code of the downstream function-call subsystem.
Task name — Name of task in generated code
task0 (default) | character vector
Assign a name to this task. You can enter up to 32 letters and numbers. Do not use
standard C reserved characters, such as the
Thread scheduling policy — Thread scheduling policy
SCHED_FIFO (default) |
Select the scheduling policy that applies to this thread. You can choose from the following options:
SCHED_FIFOenables a First In, First Out scheduling algorithm that executes real-time processes without time slicing. With FIFO scheduling, a higher-priority process preempts a lower-priority process. The lower-priority process remains at the top of the list for its priority and resumes execution when the scheduler blocks all higher-priority processes.
For example, in the following image, task2 preempts task1. Then task3 preempts task2. When task3 completes, task2 resumes. When task2 completes, task1 resumes.
SCHED_FIFO, displays the Thread priority parameter, which you can set to a value from 1 to 99.
SCHED_OTHERenables the default Linux time-sharing scheduling algorithm. You can use this scheduling for all processes except those requiring special static priority real-time mechanisms. With this algorithm, the scheduler chooses processes based on their dynamic priority within the static priority 0 list. Each time the process is ready to run and the scheduler denies it, the operating system increases the dynamic priority of that process. Such prioritization helps the scheduler serve the SCHED_OTHER processes.
SCHED_OTHER, hides the Thread priority parameter, and sets the thread priority to 0.
Thread priority (1 to 99) — Thread priority
1 (default) | 1 – 99
When you set Thread scheduling policy to
SCHED_FIFO, you can set the priority of the thread from 1
to 99 (low-to-high).
Higher-priority tasks can preempt lower-priority tasks.
The task priority rate for VxWorks® follows a POSIX® priority numbering system where higher value results in higher task priority.
Introduced in R2014b