目次
前
次
TCB(Task Control Block)
TCB(Task Control Block)は、タスク制御ブロックと呼びます。
USOでは、次の2パラメータを記憶する領域です。
- タスク関数の実行開始アドレス
- WAIT状態の時間カウント値
TCBは、構造体を利用して、次のように定義します。
typedef unsigned short UWORD ;
typedef struct {
void (*tsk)(void);
UWORD wcount ;
} TCBP ;
構造体は、メモリの使い方を定義しただけなので、実際はタスク数に
応じて、配列でメモリを確保します。4つタスクを利用する例は、以下。
#define TSK_ID_MAX 4
TCBP tcb[TSK_ID_MAX];
TCBにタスク状態を含めるRTOSもありますが、USOはメモリの少ない
マイコンでも動作できるよう、タスク状態は別の変数で管理します。
目次
前
次