|
ISIX-RTOS - small operating system for ARM microcontrollers 1.2
|
#include <isix/config.h>#include <isix/types.h>#include <prv/scheduler.h>#include <isix/task.h>#include <isix/memory.h>#include <prv/semaphore.h>#include <prv/multiple_objects.h>#include <string.h>#include <isix/printk.h>
Go to the source code of this file.
Defines | |
| #define | ISIX_DEBUG_TASK ISIX_DBG_OFF |
| #define | ALIGN_MASK 0x03 |
| #define | ALIGN_BYTES 4 |
| #define | MAGIC_FILL_VALUE 0x55 |
Functions | |
| task_t * | isix_task_create (task_func_ptr_t task_func, void *func_param, unsigned long stack_depth, prio_t priority) |
| int | isixp_task_change_prio (task_t *task, prio_t new_prio, bool yield) |
| int | isix_task_delete (task_t *task) |
| task_t * | isix_task_self (void) |
| size_t | isix_free_stack_space (const task_t *task) |
| #define ALIGN_BYTES 4 |
Definition at line 25 of file task.c.
Referenced by isix_task_create().
| #define ALIGN_MASK 0x03 |
Definition at line 23 of file task.c.
Referenced by isix_task_create().
| #define MAGIC_FILL_VALUE 0x55 |
Definition at line 27 of file task.c.
Referenced by isix_free_stack_space(), and isix_task_create().
| size_t isix_free_stack_space | ( | const task_t * | task | ) |
Definition at line 222 of file task.c.
References MAGIC_FILL_VALUE.
| task_t* isix_task_create | ( | task_func_ptr_t | task_func, |
| void * | func_param, | ||
| unsigned long | stack_depth, | ||
| prio_t | priority | ||
| ) |
Definition at line 30 of file task.c.
References ALIGN_BYTES, ALIGN_MASK, isix_alloc(), isix_current_task, isix_free(), isix_get_min_priority(), isix::ISIX_PORT_SCHED_MIN_STACK_DEPTH, isix_printk, isix_scheduler_running, isix::isix_yield(), isixp_add_task_to_ready_list(), isixp_enter_critical(), isixp_exit_critical(), isixp_task_init_stack(), MAGIC_FILL_VALUE, NULL, task_struct::prio, and TASK_READY.
Referenced by isix_init().
| int isix_task_delete | ( | task_t * | task | ) |
Definition at line 158 of file task.c.
References isix_current_task, isix::ISIX_EOK, isix_printk, isix::isix_yield(), isixp_add_task_to_delete_list(), isixp_delete_from_multiple_wait_list(), isixp_delete_task_from_ready_list(), isixp_enter_critical(), isixp_exit_critical(), list_delete(), NULL, TASK_DEAD, TASK_READY, TASK_SLEEPING, TASK_WAITING, and TASK_WAITING_MULTIPLE.
| task_t* isix_task_self | ( | void | ) |
Get current thread handler
Definition at line 208 of file task.c.
References isix_current_task.
| int isixp_task_change_prio | ( | task_t * | task, |
| prio_t | new_prio, | ||
| bool | yield | ||
| ) |
Definition at line 107 of file task.c.
References isix_current_task, isix::ISIX_ENOMEM, isix::ISIX_ENOPRIO, isix::ISIX_EOK, isix_get_min_priority(), isix_printk, isix::isix_yield(), isixp_add_task_to_ready_list(), isixp_add_task_to_sem_list(), isixp_delete_task_from_ready_list(), isixp_enter_critical(), isixp_exit_critical(), list_delete(), task_struct::state, TASK_READY, TASK_RUNNING, and TASK_WAITING.
1.7.3