Main Content

Linux Task

Spawn task functions as separate Linux threads

Add-On Required: This feature requires the Embedded Coder Support Package for Intel SoC Devices add-on.

  • Linux Task block

Libraries:
Embedded Coder Support Package for Intel SoC Devices

Description

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.

Examples

Ports

Output

expand all

A function-call control signal that triggers a Function-Call Subsystem block.

Parameters

expand all

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 / and : characters.

Programmatic Use

Block Parameter: taskName
Default: Task0

Select the scheduling policy that applies to this thread. You can choose from the following options:

  • SCHED_FIFO enables 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.

    The default scheduling policy is FIFO scheduling.

    Selecting SCHED_FIFO, displays the Thread priority parameter, which you can set to a value from 1 to 99.

  • SCHED_OTHER enables 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.

    Selecting SCHED_OTHER, hides the Thread priority parameter, and sets the thread priority to 0.

Programmatic Use

Block Parameter: taskPolicy
Type: SCHED_FIFO |
Values: SCHED_OTHER |
Default: SCHED_FIFO

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.

Note

The task priority rate for VxWorks® follows a POSIX® priority numbering system where higher value results in higher task priority.

Programmatic Use

Block Parameter: taskPriority
Default: 1

Version History

Introduced in R2014b