Micrium OS Internal tasks#

Table - Micrium OS Internal tasks in the Appendix A - Internal Tasks page lists all the internal tasks automatically created by the Micrium OS along with their default priority. It is always possible to change the task priority after the module initialization.

Changing tasks priority must be done with care. Some tasks may have special requirements. Refer to the module's section of this user manual for more information.

Note that the default stack sizes have been deliberately set to a high value. It is recommended to configure them to a more appropriate size once your application is completed.

Table - Micrium OS Internal tasks#

Task

Module

Description

Default priority

Default stack size

Change priority with…

Change stack configuration with…

Default priority define

Timer

Kernel

Handles timer-based operations

5

256

OS_ConfigureTmrTask()

OS_ConfigureTmrTask()

KERNEL_TMR_TASK_PRIO_DFLT

Stat

Kernel

Maintain Kernel usage statistics

6

256

OS_ConfigureStatTask()

OS_ConfigureStatTask()

KERNEL_STAT_TASK_PRIO_DFLT

Service

CANopen

Handles CAN frames for different CANopen communication objects

9

512

CANopen_ConfigureSvcTaskStk()

CANopen_SvcTaskPrioSet()

CANOPEN_CORE_TASK_PRIO_DFLT

Hub

USB Host Core

Handles the USB Host Hub events

10

768

USBH_HUB_TaskPrioSet()

USBH_ConfigureHubTaskStk()

USBH_HUB_TASK_PRIO_DFLT

Scheduler

USB Host PBHCI

Handles Pipe-Based Host Controller Interface events

11

512

USBH_PBHCI_SchedTaskPrioSet()

USBH_PBHCI_ConfigureSchedTaskStk()

USBH_PBHCI_TASK_PRIO_DFLT

SD Core

IO-SD

Handles SD events (card connection, disconnection, interrupts) and data transfers

14

512

SD_CoreTaskPrioSet()

SD_ConfigureCoreTaskStk()

IO_SD_CORE_TASK_PRIO_DFLT

Net Core

Net Core

Handles timers and packet reception & deallocation

16

1024

Net_CoreTaskPrioSet()

Net_ConfigureCoreTaskStk()

NET_CORE_TASK_CFG_PRIO_DFLT

Net Core WiFi*

Net Core

Handles third party drivers that require it

17

-

NET_CORE_IF_WIFI_TASK_PRIO_DFLT

HTTP_Client

HTTP Client Application

18

768

HTTPc_TaskPrioSet()

HTTPc_ConfigureTaskStk()

HTTP_CLIENT_TASK_PRIO_DFLT

MQTT Client

MQTT Client Application

19

512

MQTTc_TaskPrioSet()

MQTTc_ConfigureTaskStk()

MQTT_CLIENT_TASK_PRIO_DFLT

IPerf

IPerf Application

Handles test runs

20

512

IPerf_TaskPrioSet()

Iperf_ConfigureTaskStk()

IPERF_TASK_PRIO_DFLT

Telnet Server

Telnet Session

Handles client's session

21

512

TELNETs_InstanceInit()

TELNETs_InstanceInit()

TELNET_SERVER_SESSION_TASK_CFG_STK_SIZE_ELEMENTS_DFLT

Telnet Server

Telnet Service

Handles new client request

22

256

TELNETs_InstanceInit()

TELNETs_InstanceInit()

TELNET_SERVER_TASK_CFG_STK_SIZE_ELEMENTS_DFLT

TFTP Server

TFTP Server

Handles TFTP requests

23

512

TFTPs_TaskPrioSet()

TFTPs_ConfigureTaskStk()

TFTP_SERVER_TASK_PRIO_DFLT

Asynchronous

USB Host Core

Handles asynchronous events

25

512

USBH_AsyncTaskPrioSet()

USBH_ConfigureAsyncTaskStk()

USBH_ASYNC_TASK_PRIO_DFLT

Asynchronous

IO-SD

Handles SD data transfers

26

512

SD_AsyncTaskPrioSet()

SD_ConfigureAsyncTaskStk()

IO_SD_ASYNC_TASK_PRIO_DFLT

Media Poll

File System Storage

Handles removable media status polling

27

512

FSStorage_PollTaskPrioSet()

FSStorage_ConfigureMediaPollTaskStk()

FS_MEDIA_POLL_TASK_PRIO_DFLT

Net Services

Net Core

Handles network services such as DHCP

28

512

Net_CoreSvcTaskPrioSet()

Net_ConfigureCoreSvcTaskStk()

NET_CORE_SVC_TASK_CFG_PRIO_DFLT

Timer

USB Device HID class

Handles timer-based HID events

29

512

USBD_HID_TmrTaskPrioSet()

USBD_HID_ConfigureTmrTaskStk()

USBD_HID_TMR_TASK_PRIO_DFLT

* The Net Core WiFi Interface task may be required by some WiFi driver implementations, as is the case with the Qualcomm QCA400x. When applicable, the driver will take care of setting the stack size, and will use the task priority mentioned above. Such task configuration can be overridden by the user application and passed to the NetIF_WiFi_Add() function.