![]() |
AKOS
v1.0.0
Documentation
|
Thread management, scheduling, and thread messaging integration. More...
#include "thread.h"#include "core.h"#include "list.h"#include "memory.h"#include "timer.h"#include "priority.h"#include "port.h"#include <string.h>Go to the source code of this file.
Classes | |
| struct | task_tcb_t |
Macros | |
| #define | TASK_IDLE_PRI (OS_CFG_PRIO_MAX - 1u) |
| #define | TASK_TIMER_PRI ((uint8_t)OS_CFG_TIMER_TASK_PRI) |
| #define | TASK_TIMER_STK_SIZE (100u) |
| #define | SIZE_OF_TCB (sizeof(task_tcb_t)) |
Functions | |
| const thread_t __start_task_desc[] | __attribute__ ((weak)) |
| uint32_t | akos_thread_get_tick (void) |
| Get current tick counter. | |
| uint8_t | akos_thread_get_app_thread_count (void) |
| Get number of application threads defined via AKOS_THREAD_DEFINE. | |
| uint8_t | akos_thread_get_idle_thread_id (void) |
| Get the runtime thread ID assigned to the idle thread. | |
| uint8_t | akos_thread_get_timer_thread_id (void) |
| Get the runtime thread ID assigned to the timer thread. | |
| void | akos_thread_register_static_threads (void) |
| Create all statically defined application tasks plus system tasks. | |
| uint8_t | akos_thread_increment_tick (void) |
| Tick hook: unblock delayed tasks and select next runnable task. | |
| void | akos_thread_delay (const uint32_t tick_to_delay) |
| Delay current thread for a number of ticks. | |
| void | akos_thread_start (void) |
| Start scheduler state variables. | |
| void | akos_thread_post_msg_dynamic (uint8_t des_thread_id, int32_t sig, void *p_content, uint8_t msg_size) |
| Post dynamic payload message to another thread. | |
| void | akos_thread_post_msg_pure (uint8_t des_thread_id, int32_t sig) |
| Post pure signal message to another thread. | |
| msg_t * | akos_thread_wait_for_msg (uint32_t time_out) |
| Wait for a message on current thread queue. | |
Variables | |
| task_tcb_t *volatile | tcb_curr_ptr = NULL |
| task_tcb_t *volatile | tcb_high_rdy_ptr = NULL |
Thread management, scheduling, and thread messaging integration.
Definition in file thread.c.
| #define TASK_IDLE_PRI (OS_CFG_PRIO_MAX - 1u) |
| #define TASK_TIMER_PRI ((uint8_t)OS_CFG_TIMER_TASK_PRI) |
| void akos_thread_delay | ( | const uint32_t | tick_to_delay | ) |
| uint8_t akos_thread_get_app_thread_count | ( | void | ) |
| uint8_t akos_thread_get_idle_thread_id | ( | void | ) |
| uint32_t akos_thread_get_tick | ( | void | ) |
| uint8_t akos_thread_get_timer_thread_id | ( | void | ) |
| uint8_t akos_thread_increment_tick | ( | void | ) |
| void akos_thread_post_msg_dynamic | ( | uint8_t | des_thread_id, |
| int32_t | sig, | ||
| void * | p_content, | ||
| uint8_t | msg_size ) |
| void akos_thread_post_msg_pure | ( | uint8_t | des_thread_id, |
| int32_t | sig ) |
| void akos_thread_register_static_threads | ( | void | ) |
| void akos_thread_start | ( | void | ) |
| msg_t * akos_thread_wait_for_msg | ( | uint32_t | time_out | ) |
Wait for a message on current thread queue.
Wait for message from current thread queue.
| time_out | Timeout in ticks. Use OS_CFG_DELAY_MAX for infinite wait. |