GadgetSeed
0.9.6
|
タスク制御API [詳解]
関数 | |
int | task_add (task_func func, char *name, int priority, struct st_tcb *tcb, unsigned int *stack, int stack_size, char *arg) |
タスクを追加する [詳解] | |
int | task_exec (task_func func, char *name, int priority, struct st_tcb *tcb, unsigned int *stack, int stack_size, char *arg) |
タスクを追加し起動する [詳解] | |
void | task_exit (void) |
タスクを終了する [詳解] | |
void | task_pause (void) |
タスクを停止する [詳解] | |
void | task_sleep (unsigned int stime) |
タスクを指定時間タイマ待ち状態にする [詳解] | |
void | task_kill (int id) |
指定したタスクを終了する [詳解] | |
void | task_wakeup (int id) |
指定したタスクを実行状態にする [詳解] | |
void | eventqueue_register (struct st_event *evtque, const char *name, void *args, unsigned int size, int count) |
イベントキューを登録する [詳解] | |
int | event_wait (struct st_event *evtque, void *arg, unsigned int timeout) |
タスクをイベント待ち状態にする [詳解] | |
int | event_check (struct st_event *evtque) |
イベントキューにイベントが登録されているか調べる [詳解] | |
void | event_clear (struct st_event *evtque) |
イベントキューに登録されているイベントを削除する [詳解] | |
void | event_wakeup (struct st_event *evtque, void *arg) |
イベントキューにイベントを登録する [詳解] | |
void | eventqueue_unregister (struct st_event *evtque) |
イベントキューを登録解除する [詳解] | |
void | mutex_register (struct st_mutex *mutex, const char *name) |
MUTEXを登録する [詳解] | |
int | mutex_lock (struct st_mutex *mutex, unsigned int timeout) |
MUTEXをロックする [詳解] | |
int | mutex_unlock (struct st_mutex *mutex) |
MUTEXをアンロックする [詳解] | |
void | mutex_unregister (struct st_mutex *mutex) |
MUTEXを登録解除する [詳解] | |
void | set_console_in_device (struct st_device *dev) |
実行タスクの標準入力デバイスを設定する [詳解] | |
void | set_console_out_device (struct st_device *dev) |
実行タスクの標準出力デバイスを設定する [詳解] | |
void | set_error_out_device (struct st_device *dev) |
実行タスクのエラー出力デバイスを設定する [詳解] | |
int | task_get_tasks_info (struct st_task_info *ti, int count) |
void | print_task_list (void) |
void | print_task_queue (void) |
void | print_call_trace (void) |
int event_check | ( | struct st_event * | evtque | ) |
イベントキューにイベントが登録されているか調べる
[in] | evtque | イベントキューポインタ |
syscall_api.c の 402 行目に定義があります。
void event_clear | ( | struct st_event * | evtque | ) |
int event_wait | ( | struct st_event * | evtque, |
void * | arg, | ||
unsigned int | timeout | ||
) |
タスクをイベント待ち状態にする
[in] | evtque | イベントキューポインタ |
[out] | args | イベント引数ポインタ |
[in] | timeout | イベントタイムアウト待ち時間(msec) |
syscall_api.c の 364 行目に定義があります。
参照元 get_event().
void event_wakeup | ( | struct st_event * | evtque, |
void * | arg | ||
) |
イベントキューにイベントを登録する
このイベントキューでイベント待ちのタスクは起床する
[in] | evtque | イベントキューポインタ |
[in] | arg | イベント引数ポインタ |
syscall_api.c の 453 行目に定義があります。
void eventqueue_register | ( | struct st_event * | evtque, |
const char * | name, | ||
void * | args, | ||
unsigned int | size, | ||
int | count | ||
) |
イベントキューを登録する
[in] | evtque | イベントキューポインタ |
[in] | name | イベントキュー名文字列ポインタ |
[in] | args | イベントキュー引数バッファポインタ |
[in] | size | 1イベント引数のサイズ |
[in] | count | キューするイベント数 |
syscall_api.c の 339 行目に定義があります。
void eventqueue_unregister | ( | struct st_event * | evtque | ) |
int mutex_lock | ( | struct st_mutex * | mutex, |
unsigned int | timeout | ||
) |
MUTEXをロックする
[in] | mutex | MUTEXポインタ |
[in] | timeout | タイムアウト時間(msec)(=0:タイムアウト無し) |
syscall_api.c の 517 行目に定義があります。
void mutex_register | ( | struct st_mutex * | mutex, |
const char * | name | ||
) |
int mutex_unlock | ( | struct st_mutex * | mutex | ) |
MUTEXをアンロックする
[in] | mutex | MUTEXポインタ |
syscall_api.c の 543 行目に定義があります。
void mutex_unregister | ( | struct st_mutex * | mutex | ) |
MUTEXを登録解除する
[in] | mutex | MUTEXポインタ |
syscall_api.c の 564 行目に定義があります。
参照元 unregister_device().
void set_console_in_device | ( | struct st_device * | dev | ) |
void set_console_out_device | ( | struct st_device * | dev | ) |
void set_error_out_device | ( | struct st_device * | dev | ) |
実行タスクのエラー出力デバイスを設定する
[in] | dev | デバイス |
syscall_api.c の 610 行目に定義があります。
int task_add | ( | task_func | func, |
char * | name, | ||
int | priority, | ||
struct st_tcb * | tcb, | ||
unsigned int * | stack, | ||
int | stack_size, | ||
char * | arg | ||
) |
タスクを追加する
本関数は、タスクを実行キューに追加するのみであり、追加されたタスク は実行状態にならない。
[in] | func | タスク関数 |
[in] | name | タスク名文字列ポインタ |
[in] | priority | タスク優先度 |
[in] | tcb | タスクコンテキストポインタ |
[in] | stack | タスクスタックポインタ |
[in] | stack_size | タスクスタックサイズ |
[in] | arg | タスク実行時引数文字列ポインタ |
syscall_api.c の 188 行目に定義があります。
int task_exec | ( | task_func | func, |
char * | name, | ||
int | priority, | ||
struct st_tcb * | tcb, | ||
unsigned int * | stack, | ||
int | stack_size, | ||
char * | arg | ||
) |
タスクを追加し起動する
タスクを実行キューに追加し、追加したタスクを実行状態にする。
[in] | func | タスク関数 |
[in] | name | タスク名文字列ポインタ |
[in] | priority | タスク優先度 |
[in] | tcb | タスクコンテキストポインタ |
[in] | stack | タスクスタックポインタ |
[in] | stack_size | タスクスタックサイズ |
[in] | arg | タスク実行時引数文字列ポインタ |
syscall_api.c の 231 行目に定義があります。
void task_exit | ( | void | ) |
void task_kill | ( | int | id | ) |
void task_pause | ( | void | ) |
void task_sleep | ( | unsigned int | stime | ) |
タスクを指定時間タイマ待ち状態にする
本関数を実行したタスクを stime (msec)休止する。
[in] | stime | 停止時間(msec) |
syscall_api.c の 290 行目に定義があります。
参照元 startup().
void task_wakeup | ( | int | id | ) |