By convention, all tasks created by a sample application or associated helper modules have a priority higher or equal to 50
.
Per the design of uC/OS-II, each tasks needs to have a unique priority. Creating a task while another task of the same priority is already running fails.
When using the Helper Modules, the following tasks are created:
task name | priority | description |
---|---|---|
locNotif | 50 | Listens for notifications from the local interface (see Helper Modules). |
locCtrl | 51 | Listens for events from the local interface (see Helper Modules). |
cli | 52 | Dispatches commands entered by the user on the CLI interface (see Helper Modules). |
As a results, the tasks created by the sample applications have a priority higher or equal to 53
.
By convention, the name, priority and stack size associated with each task of a sample application are defined in a header file called app_task_cfg.h
.
For example, the following contents indicates that the sample application defines 3 tasks. called "disco", "mgrconn" and "uart":
#ifndef APP_TASK_CFG_H #define APP_TASK_CFG_H #define TASK_APP_DISCO_NAME "disco" #define TASK_APP_DISCO_PRIORITY 55 #define TASK_APP_DISCO_STK_SIZE 256 #define TASK_APP_MGRCONN_NAME "mgrconn" #define TASK_APP_MGRCONN_PRIORITY 54 #define TASK_APP_MGRCONN_STK_SIZE 256 #define TASK_APP_UART_NAME "uart" #define TASK_APP_UART_PRIORITY 53 #define TASK_APP_UART_STK_SIZE 256 #endif
Here stack sizes are given in 4-byte words, so a stack size of 256 words = 1024 bytes of memory. A total of 8 kB of memory is set aside for all user tasks.