第15章 データ・タイプとマクロ
なお,マクロ,およびデータ構造体の定義は,<ri_root>\include\osに格納されている各ヘッダ・ファイルで行わ れています。
備考 <ri_root> は,RI850V4 のインストール・フォルダを表しています。 デフォルトでは,“C:\Program Files\Renesas Electronics\CS+\CC\RI850V4RH”となります。
なお,データ・タイプのマクロ定義は,標準ヘッダ・ファイル<ri_root>\include\kernel.h,およびITRON仕様共 通マクロ定義ファイル<ri_root>\include\itron.hから呼び出されるヘッダ・ファイル <ri_root>\include\os\types.hで行われています。
RI850V4が提供するサービス・コールを発行する際に使用するデータ構造体(タスク詳細情報,タスク基本情報など)について以下に示します。なお,各データ構造体のシステム予約領域はプログラムから参照しないようにしてください。
なお,タスク詳細情報T_RTSKの定義は,標準ヘッダ・ファイル<ri_root>\include\kernel.hから呼び出される ヘッダ・ファイル<ri_root>\include\os\packet.hで行われています。
- wobjid
タスクがWAITING状態へと遷移するきっかけとなった管理オブジェクト(セマフォ,イベントフラグなど)のIDが格納されます。
なお,タスクがWAITING状態以外の場合には,0が格納されます。
タスクがWAITING状態へと遷移するきっかけとなった管理オブジェクト(セマフォ,イベントフラグなど)のIDが格納されます。
なお,タスクがWAITING状態以外の場合には,0が格納されます。
なお,タスク基本情報T_RTSTの定義は,標準ヘッダ・ファイル<ri_root>\include\kernel.hから呼び出される ヘッダ・ファイル<ri_root>\include\os\packet.hで行われています。
なお,セマフォ詳細情報T_RSEMの定義は,標準ヘッダ・ファイル<ri_root>\include\kernel.hから呼び出される ヘッダ・ファイル<ri_root>\include\os\packet.hで行われています。
typedef struct t_rsem { ID wtskid; /*待ちタスクの有無*/ UH RFU1; /*システム予約領域*/ UINT semcnt; /*現在資源数*/ ATR sematr; /*属性*/ UH RFU2; /*システム予約領域*/ UINT maxsem; /*最大資源数*/ } T_RSEM; |
なお,イベントフラグ詳細情報T_RFLGの定義は,標準ヘッダ・ファイル<ri_root>\include\kernel.hから呼び出 されるヘッダ・ファイル<ri_root>\include\os\packet.hで行われています。
typedef struct t_rflg { ID wtskid; /*待ちタスクの有無*/ UH RFU1; /*システム予約領域*/ FLGPTN flgptn; /*現在ビット・パターン*/ ATR flgatr; /*属性*/ UH RFU2; /*システム予約領域*/ } T_RFLG; |
なお,データ・キュー詳細情報T_RDTQの定義は,標準ヘッダ・ファイル<ri_root>\include\kernel.hから呼び出 されるヘッダ・ファイル<ri_root>\include\os\packet.hで行われています。
なお,メッセージT_MSG,T_MSG_PRIの定義は,標準ヘッダ・ファイル<ri_root>\include\kernel.h,および ITRON仕様共通マクロ定義ファイル<ri_root>\include\itron.hから呼び出されるヘッダ・ファイル <ri_root>\include\os\types.hで行われています。
typedef struct t_msg_pri { struct t_msg msgque; /*システム予約領域*/ PRI msgpri; /*優先度*/ UH RFU; /*システム予約領域*/ } T_MSG_PRI; |
なお,メールボックス詳細情報T_RMBXの定義は,標準ヘッダ・ファイル<ri_root>\include\kernel.hから呼び出 されるヘッダ・ファイル<ri_root>\include\os\packet.hで行われています。
typedef struct t_rmbx { ID wtskid; /*待ちタスクの有無*/ UH RFU1; /*システム予約領域*/ T_MSG *pk_msg; /*待ちメッセージの有無*/ ATR mbxatr; /*属性*/ UH RFU2; /*システム予約領域*/ } T_RMBX; |
なお,ミューテックス詳細情報T_RMTXの定義は,標準ヘッダ・ファイル<ri_root>\include\kernel.hから呼び出 されるヘッダ・ファイル<ri_root>\include\os\packet.hで行われています。
typedef struct t_rmtx { ID htskid; /*ロックの有無*/ ID wtskid; /*待ちタスクの有無*/ ATR mtxatr; /*属性*/ PRI ceilpri; /*システム予約領域*/ } T_RMTX; |
なお,固定長メモリ・プール詳細情報T_RMPFの定義は,標準ヘッダ・ファイル<ri_root>\include\kernel.hから 呼び出されるヘッダ・ファイル<ri_root>\include\os\packet.hで行われています。
typedef struct t_rmpf { ID wtskid; /*待ちタスクの有無*/ UH RFU; /*システム予約領域*/ UINT fblkcnt; /*空き固定長メモリ・ブロックの総数*/ ATR mpfatr; /*属性*/ ID memid; /*システム予約領域*/ } T_RMPF; |
なお,可変長メモリ・プール詳細情報T_RMPLの定義は,標準ヘッダ・ファイル<ri_root>\include\kernel.hから呼び出されるヘッダ・ファイル<ri_root>\include\os\packet.hで行われています。
typedef struct t_rmpl { ID wtskid; /*待ちタスクの有無*/ UH RFU; /*システム予約領域*/ SIZE fmplsz; /*空き可変長メモリ・ブロックの合計サイズ*/ UINT fblksz; /*空き可変長メモリ・ブロックの最大サイズ*/ ATR mplatr; /*属性*/ ID memid; /*システム予約領域*/ } T_RMPL; |
なお,システム時刻情報SYSTIMの定義は,標準ヘッダ・ファイル<ri_root>\include\kernel.h,およびITRON仕様共通マクロ定義ファイル<ri_root>\include\itron.hから呼び出されるヘッダ・ファイル<ri_root>\include\os\types.hで行われています。
typedef struct t_systim { UW ltime; /*システム時刻(下位32ビット)*/ UH utime; /*システム時刻(上位16ビット)*/ UH RFU; /*システム予約領域*/ } SYSTIM; |
なお,周期ハンドラ詳細情報T_RCYCの定義は,標準ヘッダ・ファイル<ri_root>\include\kernel.hから呼び出されるヘッダ・ファイル<ri_root>\include\os\packet.hで行われています。
typedef struct t_rcyc { STAT cycstat; /*現在状態*/ UH RFU1; /*システム予約領域*/ RELTIM lefttim; /*残り時間*/ ATR cycatr; /*属性*/ UH RFU2; /*システム予約領域*/ RELTIM cyctim; /*起動周期*/ RELTIM cycphs; /*初期起動位相*/ } T_RCYC; |
- cycphs
周期ハンドラの初期起動位相(単位:ミリ秒)が格納されます。
なお,RI850V4における初期起動位相は,周期ハンドラの生成処理が完了してから1回目の起動要求が発行されるまでの相対時間間隔を意味しています。
周期ハンドラの初期起動位相(単位:ミリ秒)が格納されます。
なお,RI850V4における初期起動位相は,周期ハンドラの生成処理が完了してから1回目の起動要求が発行されるまでの相対時間間隔を意味しています。
なお,現在状態のマクロ定義は,標準ヘッダ・ファイル<ri_root>\include\kernel.h,およびITRON仕様共通マクロ定義ファイル<ri_root>\include\itron.hから呼び出されるヘッダ・ファイル<ri_root>\include\os\option.hで行われています。
なお,属性のマクロ定義は,標準ヘッダ・ファイル<ri_root>\include\kernel.h,およびITRON仕様共通マクロ定義ファイル<ri_root>\include\itron.hから呼び出されるヘッダ・ファイル<ri_root>\include\os\option.hで行われています。
なお,属性のマクロ定義は,標準ヘッダ・ファイル<ri_root>\include\kernel.h,およびITRON仕様共通マクロ定義ファイル<ri_root>\include\itron.hから呼び出されるヘッダ・ファイル<ri_root>\include\os\option.hで行われています。
なお,動作モードのマクロ定義は,標準ヘッダ・ファイル<ri_root>\include\kernel.h,およびITRON仕様共通マクロ定義ファイル<ri_root>\include\itron.hから呼び出されるヘッダ・ファイル<ri_root>\include\os\option.hで行われています。
なお,戻り値のマクロ定義は,標準ヘッダ・ファイル<ri_root>\include\kernel.h,およびITRON仕様共通マクロ定義ファイル<ri_root>\include\itron.hから呼び出されるヘッダ・ファイル<ri_root>\include\os\error.h,およびoption.hで行われています。
なお,構成定数のマクロ定義は,標準ヘッダ・ファイル<ri_root>\include\kernel.h,およびITRON仕様共通マクロ定義ファイル<ri_root>\include\itron.hから呼び出されるヘッダ・ファイル<ri_root>\include\os\component.hで行われています。ただし,一部数値が可変なマクロ定義に関しては,システム・コンフィギュレーション・ファイルの設定内容にしたがい,システム情報ヘッダ・ファイルで行われています。