Zephyr API Documentation
2.7.0-rc2
A Scalable Open Source RTOS
|
Macros | |
#define | NUM_THREADS ARRAY_SIZE(worker_priorities) |
#define | STACK_SIZE (640 + CONFIG_TEST_EXTRA_STACKSIZE) |
#define | PRI(n) (worker_priorities[n]) |
Enumerations | |
enum | { METAIRQ , COOP , PREEMPTIBLE } |
Functions | |
K_THREAD_STACK_DEFINE (manager_stack,(640+CONFIG_TEST_EXTRA_STACKSIZE)) | |
K_THREAD_STACK_ARRAY_DEFINE (worker_stacks, ARRAY_SIZE(worker_priorities),(640+CONFIG_TEST_EXTRA_STACKSIZE)) | |
K_SEM_DEFINE (main_sem, 0, 1) | |
void | wakeup_src_thread (int id) |
void | manager (void *p1, void *p2, void *p3) |
void | irq_waker (const void *p) |
void | validate_wakeup (int src, int target, k_tid_t last_thread) |
void | worker (void *p1, void *p2, void *p3) |
void | test_preempt (void) |
Test preemption. More... | |
void | test_main (void) |
Variables | |
enum { ... } | worker_priorities [] |
k_tid_t | last_thread |
struct k_thread | manager_thread |
struct k_thread | worker_threads [ARRAY_SIZE(worker_priorities)] |
struct k_sem | worker_sems [ARRAY_SIZE(worker_priorities)] |
int | target |
volatile int | do_lock |
volatile int | do_irq |
volatile int | do_sleep |
volatile int | do_yield |
#define NUM_THREADS ARRAY_SIZE(worker_priorities) |
#define PRI | ( | n | ) | (worker_priorities[n]) |
#define STACK_SIZE (640 + CONFIG_TEST_EXTRA_STACKSIZE) |
K_SEM_DEFINE | ( | main_sem | , |
0 | , | ||
1 | |||
) |
K_THREAD_STACK_ARRAY_DEFINE | ( | worker_stacks | , |
ARRAY_SIZE(worker_priorities) | , | ||
(640+CONFIG_TEST_EXTRA_STACKSIZE) | |||
) |
K_THREAD_STACK_DEFINE | ( | manager_stack | , |
(640+CONFIG_TEST_EXTRA_STACKSIZE) | |||
) |
void wakeup_src_thread | ( | int | id | ) |
volatile int do_irq |
volatile int do_lock |
volatile int do_sleep |
volatile int do_yield |
k_tid_t last_thread |
struct k_thread manager_thread |
int target |
enum { ... } worker_priorities[] |
struct k_sem worker_sems[ARRAY_SIZE(worker_priorities)] |
struct k_thread worker_threads[ARRAY_SIZE(worker_priorities)] |