μT-Kernel/DSの機能

この章では、μT-Kernel/DS(Debugger Support)で提供している機能の詳細について説明を行う。

μT-Kernel/DSは、デバッガがμT-Kernelの内部状態の参照や実行のトレースを行うための機能を提供するものである。μT-Kernel/DSの提供する機能は、デバッガ専用であり、一般のアプリケーション等からは使用しない。

注意全般的な注意・補足事項
 

  • μT-Kernel/DSのシステムコール(td_~)は、特に明記されているものを除き、タスク独立部およびディスパッチ禁止中・割込み禁止中からも呼び出すことができる。

    ただし、実装によっては機能が制限される場合がある。

  • μT-Kernel/DSのシステムコール(td_~)を割込み禁止状態で呼び出した場合、割込み許可されることなく処理される。同様に、カーネルのその他の状態も変化させない。割込み許可状態やディスパッチ許可状態で呼び出された場合は、カーネルの動作も継続されるため、カーネルの状態は変化する場合がある。

  • μT-Kernel/DSのシステムコール(td_~)は、μT-Kernel/OSのシステムコールの呼出可能な保護レベルより低い保護レベル(TSVCLimit より低い保護レベル)から呼び出すことはできない(E_OACV)。

  • 常に発生する可能性のあるエラー E_PAR, E_MACV, E_CTX などは、特に説明を必要とする場合以外は省略している。

  • E_PAR, E_MACV, E_CTX の検出は実装依存でありエラーとして検出されない場合もあるため、このようなエラーを発生する可能性のある呼出を行ってはいけない。

カーネル内部状態取得機能

カーネル内部状態取得機能は、デバッガがカーネルの内部状態を取得するための機能である。オブジェクトの一覧を取得する機能、タスクの優先順位を取得する機能、待ち行列に並んだタスクの並び順を取得する機能、オブジェクトやシステムやタスクレジスタの状態を取得する機能、および時刻を取得する機能が含まれる。

td_lst_tsk - タスクIDのリスト参照

C言語インタフェース

#include <tk/dbgspt.h>

INT ct = td_lst_tsk (ID list[], INT nent );

パラメータ

ID list[] ListタスクIDを格納する領域
INT nent Number of List Entries list に格納可能な最大数

リターンパラメータ

INT ct Count使用されているタスクの個数
またはError Codeエラーコード

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート

解説

現在使用されているタスクIDのリストを取得し、list へ最大 nent 個分のタスクIDを格納する。戻値に、使用されているタスクの個数を返す。戻値 > nent であれば、すべてのタスクIDは取得できていないことを示す。

μT-Kernel 1.0との差異

本APIはサービスプロファイルの導入によりプロファイルで許容される場合に利用が可能となった。

td_lst_sem - セマフォIDのリスト参照

C言語インタフェース

#include <tk/dbgspt.h>

INT ct = td_lst_sem (ID list[], INT nent );

パラメータ

ID list[] ListセマフォIDを格納する領域
INT nent Number of List Entries list に格納可能な最大数

リターンパラメータ

INT ct Count使用されているセマフォの個数
またはError Codeエラーコード

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート

解説

現在使用されているセマフォIDのリストを取得し、list へ最大 nent 個分のセマフォIDを格納する。戻値に、使用されているセマフォの個数を返す。戻値 > nent であれば、すべてのセマフォIDは取得できていないことを示す。

μT-Kernel 1.0との差異

本APIはサービスプロファイルの導入によりプロファイルで許容される場合に利用が可能となった。

td_lst_flg - イベントフラグIDのリスト参照

C言語インタフェース

#include <tk/dbgspt.h>

INT ct = td_lst_flg (ID list[], INT nent );

パラメータ

ID list[] ListイベントフラグIDを格納する領域
INT nent Number of List Entries list に格納可能な最大数

リターンパラメータ

INT ct Count使用されているイベントフラグの個数
またはError Codeエラーコード

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート

解説

現在使用されているイベントフラグIDのリストを取得し、list へ最大 nent 個分のイベントフラグIDを格納する。戻値に、使用されているイベントフラグの個数を返す。戻値 > nent であれば、すべてのイベントフラグIDは取得できていないことを示す。

μT-Kernel 1.0との差異

本APIはサービスプロファイルの導入によりプロファイルで許容される場合に利用が可能となった。

td_lst_mbx - メールボックスIDのリスト参照

C言語インタフェース

#include <tk/dbgspt.h>

INT ct = td_lst_mbx (ID list[], INT nent );

パラメータ

ID list[] ListメールボックスIDを格納する領域
INT nent Number of List Entries list に格納可能な最大数

リターンパラメータ

INT ct Count使用されているメールボックスの個数
またはError Codeエラーコード

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート

解説

現在使用されているメールボックスIDのリストを取得し、list へ最大 nent 個分のメールボックスIDを格納する。戻値に、使用されているメールボックスの個数を返す。戻値 > nent であれば、すべてのメールボックスIDは取得できていないことを示す。

μT-Kernel 1.0との差異

本APIはサービスプロファイルの導入によりプロファイルで許容される場合に利用が可能となった。

td_lst_mtx - ミューテックスIDのリスト参照

C言語インタフェース

#include <tk/dbgspt.h>

INT ct = td_lst_mtx (ID list[], INT nent );

パラメータ

ID list[] ListミューテックスIDを格納する領域
INT nent Number of List Entries list に格納可能な最大数

リターンパラメータ

INT ct Count使用されているミューテックスの個数
またはError Codeエラーコード

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート

解説

現在使用されているミューテックスIDのリストを取得し、list へ最大 nent 個分のミューテックスIDを格納する。戻値に、使用されているミューテックスの個数を返す。戻値 > nent であれば、すべてのミューテックスIDは取得できていないことを示す。

μT-Kernel 1.0との差異

本APIはサービスプロファイルの導入によりプロファイルで許容される場合に利用が可能となった。

td_lst_mbf - メッセージバッファIDのリスト参照

C言語インタフェース

#include <tk/dbgspt.h>

INT ct = td_lst_mbf (ID list[], INT nent );

パラメータ

ID list[] ListメッセージバッファIDを格納する領域
INT nent Number of List Entries list に格納可能な最大数

リターンパラメータ

INT ct Count使用されているメッセージバッファの個数
またはError Codeエラーコード

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート

解説

現在使用されているメッセージバッファIDのリストを取得し、list へ最大 nent 個分のメッセージバッファIDを格納する。戻値に、使用されているメッセージバッファの個数を返す。戻値 > nent であれば、すべてのメッセージバッファIDは取得できていないことを示す。

μT-Kernel 1.0との差異

本APIはサービスプロファイルの導入によりプロファイルで許容される場合に利用が可能となった。

td_lst_por - ランデブポートIDのリスト参照

C言語インタフェース

#include <tk/dbgspt.h>

INT ct = td_lst_por (ID list[], INT nent );

パラメータ

ID list[] ListランデブポートIDを格納する領域
INT nent Number of List Entries list に格納可能な最大数

リターンパラメータ

INT ct Count使用されているランデブポートの個数
またはError Codeエラーコード

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート

解説

現在使用されているランデブポートIDのリストを取得し、list へ最大 nent 個分のランデブポートIDを格納する。戻値に、使用されているランデブポートの個数を返す。戻値 > nent であれば、すべてのランデブポートIDは取得できていないことを示す。

μT-Kernel 1.0との差異

本APIはサービスプロファイルの導入によりプロファイルで許容される場合に利用が可能となった。

td_lst_mpf - 固定長メモリプールIDのリスト参照

C言語インタフェース

#include <tk/dbgspt.h>

INT ct = td_lst_mpf (ID list[], INT nent );

パラメータ

ID list[] List固定長メモリプールIDを格納する領域
INT nent Number of List Entries list に格納可能な最大数

リターンパラメータ

INT ct Count使用されている固定長メモリプールの個数
またはError Codeエラーコード

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート

解説

現在使用されている固定長メモリプールIDのリストを取得し、list へ最大 nent 個分の固定長メモリプールIDを格納する。戻値に、使用されている固定長メモリプールの個数を返す。戻値 > nent であれば、すべての固定長メモリプールIDは取得できていないことを示す。

μT-Kernel 1.0との差異

本APIはサービスプロファイルの導入によりプロファイルで許容される場合に利用が可能となった。

td_lst_mpl - 可変長メモリプールIDのリスト参照

C言語インタフェース

#include <tk/dbgspt.h>

INT ct = td_lst_mpl (ID list[], INT nent );

パラメータ

ID list[] List可変長メモリプールIDを格納する領域
INT nent Number of List Entries list に格納可能な最大数

リターンパラメータ

INT ct Count使用されている可変長メモリプールの個数
またはError Codeエラーコード

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート

解説

現在使用されている可変長メモリプールIDのリストを取得し、list へ最大 nent 個分の可変長メモリプールIDを格納する。戻値に、使用されている可変長メモリプールの個数を返す。戻値 > nent であれば、すべての可変長メモリプールIDは取得できていないことを示す。

μT-Kernel 1.0との差異

本APIはサービスプロファイルの導入によりプロファイルで許容される場合に利用が可能となった。

td_lst_cyc - 周期ハンドラIDのリスト参照

C言語インタフェース

#include <tk/dbgspt.h>

INT ct = td_lst_cyc (ID list[], INT nent );

パラメータ

ID list[] List周期ハンドラIDを格納する領域
INT nent Number of List Entries list に格納可能な最大数

リターンパラメータ

INT ct Count使用されている周期ハンドラの個数
またはError Codeエラーコード

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート

解説

現在使用されている周期ハンドラIDのリストを取得し、list へ最大 nent 個分の周期ハンドラIDを格納する。戻値に、使用されている周期ハンドラの個数を返す。戻値 > nent であれば、すべての周期ハンドラIDは取得できていないことを示す。

μT-Kernel 1.0との差異

本APIはサービスプロファイルの導入によりプロファイルで許容される場合に利用が可能となった。

td_lst_alm - アラームハンドラIDのリスト参照

C言語インタフェース

#include <tk/dbgspt.h>

INT ct = td_lst_alm (ID list[], INT nent );

パラメータ

ID list[] ListアラームハンドラIDを格納する領域
INT nent Number of List Entries list に格納可能な最大数

リターンパラメータ

INT ct Count使用されているアラームハンドラの個数
またはError Codeエラーコード

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート

解説

現在使用されているアラームハンドラIDのリストを取得し、list へ最大 nent 個分のアラームハンドラIDを格納する。戻値に、使用されているアラームハンドラの個数を返す。戻値 > nent であれば、すべてのアラームハンドラIDは取得できていないことを示す。

μT-Kernel 1.0との差異

本APIはサービスプロファイルの導入によりプロファイルで許容される場合に利用が可能となった。

td_lst_ssy - サブシステムIDのリスト参照

C言語インタフェース

#include <tk/dbgspt.h>

INT ct = td_lst_ssy (ID list[], INT nent );

パラメータ

ID list[] ListサブシステムIDを格納する領域
INT nent Number of List Entries list に格納可能な最大数

リターンパラメータ

INT ct Count使用されているサブシステムの個数
またはError Codeエラーコード

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート

解説

現在使用されているサブシステムIDのリストを取得し、list へ最大 nent 個分のサブシステムIDを格納する。戻値に、使用されているサブシステムの個数を返す。戻値 > nent であれば、すべてのサブシステムIDは取得できていないことを示す。

μT-Kernel 1.0との差異

本APIはサービスプロファイルの導入によりプロファイルで許容される場合に利用が可能となった。

td_rdy_que - タスクの優先順位の参照

C言語インタフェース

#include <tk/dbgspt.h>

INT ct = td_rdy_que (PRI pri , ID list[], INT nent );

パラメータ

PRI pri Task Priority対象タスク優先度
ID list[] Task ID ListタスクIDを格納する領域
INT nent Number of List Entries list に格納可能な最大数

リターンパラメータ

INT ct Count優先度 pri の実行できる状態のタスクの個数
またはError Codeエラーコード

エラーコード

E_PAR パラメータエラー(pri が不正あるいは利用できない値)

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート

解説

実行できる状態(実行可能状態および実行状態)のタスクのうち、優先度が pri であるものを、優先順位の高い順に一列に並べ、その並び順にタスクIDのリストを取得する。

list には、優先順位が最高のものを先頭としてその並び順に、タスクIDが最大 nent 個まで格納される。

戻値には、pri の優先度を持つ実行できる状態のタスクの個数を返す。戻値 > nent であれば、すべてのタスクIDは取得できていないことを示す。

μT-Kernel 1.0との差異

本APIはサービスプロファイルの導入によりプロファイルで許容される場合に利用が可能となった。

td_sem_que - セマフォの待ち行列の参照

C言語インタフェース

#include <tk/dbgspt.h>

INT ct = td_sem_que (ID semid , ID list[], INT nent );

パラメータ

ID semid Semaphore ID対象セマフォID
ID list[] Task ID List待ちタスクのタスクIDを格納する領域
INT nent Number of List Entries list に格納可能な最大数

リターンパラメータ

INT ct Count待ちタスクの個数
またはError Codeエラーコード

エラーコード

E_ID ID番号が不正(semid が不正あるいは利用できない)
E_NOEXS 対象オブジェクトが存在しない(semid のセマフォが存在しない)

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート

解説

semid で指定したセマフォの待ち行列に並んでいるタスクのIDのリストを取得する。list には、セマフォの待ち行列の先頭からその並び順にタスクIDが最大 nent 個まで格納される。戻値には、セマフォの待ち行列に並んでいるタスクの個数を返す。戻値 > nent であれば、すべてのタスクIDは取得できないことを示す。

μT-Kernel 1.0との差異

本APIはサービスプロファイルの導入によりプロファイルで許容される場合に利用が可能となった。

td_flg_que - イベントフラグの待ち行列の参照

C言語インタフェース

#include <tk/dbgspt.h>

INT ct = td_flg_que (ID flgid , ID list[], INT nent );

パラメータ

ID flgid EventFlag ID対象イベントフラグID
ID list[] Task ID List待ちタスクのタスクIDを格納する領域
INT nent Number of List Entries list に格納可能な最大数

リターンパラメータ

INT ct Count待ちタスクの個数
またはError Codeエラーコード

エラーコード

E_ID ID番号が不正(flgid が不正あるいは利用できない)
E_NOEXS 対象オブジェクトが存在しない(flgid のイベントフラグが存在しない)

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート

解説

flgid で指定したイベントフラグの待ち行列に並んでいるタスクのIDのリストを取得する。list には、イベントフラグの待ち行列の先頭からその並び順にタスクIDが最大 nent 個まで格納される。戻値には、イベントフラグの待ち行列に並んでいるタスクの個数を返す。戻値 > nent であれば、すべてのタスクIDは取得できないことを示す。

μT-Kernel 1.0との差異

本APIはサービスプロファイルの導入によりプロファイルで許容される場合に利用が可能となった。

td_mbx_que - メールボックスの待ち行列の参照

C言語インタフェース

#include <tk/dbgspt.h>

INT ct = td_mbx_que (ID mbxid , ID list[], INT nent );

パラメータ

ID mbxid Mailbox ID対象メールボックスID
ID list[] Task ID List待ちタスクのタスクIDを格納する領域
INT nent Number of List Entries list に格納可能な最大数

リターンパラメータ

INT ct Count待ちタスクの個数
またはError Codeエラーコード

エラーコード

E_ID ID番号が不正(mbxid が不正あるいは利用できない)
E_NOEXS 対象オブジェクトが存在しない(mbxid のメールボックスが存在しない)

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート

解説

mbxid で指定したメールボックスの待ち行列に並んでいるタスクのIDのリストを取得する。list には、メールボックスの待ち行列の先頭からその並び順にタスクIDが最大 nent 個まで格納される。戻値には、メールボックスの待ち行列に並んでいるタスクの個数を返す。戻値 > nent であれば、すべてのタスクIDは取得できないことを示す。

μT-Kernel 1.0との差異

本APIはサービスプロファイルの導入によりプロファイルで許容される場合に利用が可能となった。

td_mtx_que - ミューテックスの待ち行列の参照

C言語インタフェース

#include <tk/dbgspt.h>

INT ct = td_mtx_que (ID mtxid , ID list[], INT nent );

パラメータ

ID mtxid Mutex ID対象ミューテックスID
ID list[] Task ID List待ちタスクのタスクIDを格納する領域
INT nent Number of List Entries list に格納可能な最大数

リターンパラメータ

INT ct Count待ちタスクの個数
またはError Codeエラーコード

エラーコード

E_ID ID番号が不正(mtxid が不正あるいは利用できない)
E_NOEXS 対象オブジェクトが存在しない(mtxid のミューテックスが存在しない)

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート

解説

mtxid で指定したミューテックスの待ち行列に並んでいるタスクのIDのリストを取得する。list には、ミューテックスの待ち行列の先頭からその並び順にタスクIDが最大 nent 個まで格納される。戻値には、ミューテックスの待ち行列に並んでいるタスクの個数を返す。戻値 > nent であれば、すべてのタスクIDは取得できないことを示す。

μT-Kernel 1.0との差異

本APIはサービスプロファイルの導入によりプロファイルで許容される場合に利用が可能となった。

td_smbf_que - メッセージバッファの送信待ち行列の参照

C言語インタフェース

#include <tk/dbgspt.h>

INT ct = td_smbf_que (ID mbfid , ID list[], INT nent );

パラメータ

ID mbfid Message Buffer ID対象メッセージバッファID
ID list[] Task ID List待ちタスクのタスクIDを格納する領域
INT nent Number of List Entries list に格納可能な最大数

リターンパラメータ

INT ct Count待ちタスクの個数
またはError Codeエラーコード

エラーコード

E_ID ID番号が不正(mbfid が不正あるいは利用できない)
E_NOEXS 対象オブジェクトが存在しない(mbfid のメッセージバッファが存在しない)

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート

解説

mbfid で指定したメッセージバッファの送信待ち行列に並んでいるタスクのIDのリストを取得する。list には、メッセージバッファの送信待ち行列の先頭からその並び順にタスクIDが最大 nent 個まで格納される。戻値には、メッセージバッファの送信待ち行列に並んでいるタスクの個数を返す。戻値 > nent であれば、すべてのタスクIDは取得できないことを示す。

μT-Kernel 1.0との差異

本APIはサービスプロファイルの導入によりプロファイルで許容される場合に利用が可能となった。

td_rmbf_que - メッセージバッファの受信待ち行列の参照

C言語インタフェース

#include <tk/dbgspt.h>

INT ct = td_rmbf_que (ID mbfid , ID list[], INT nent );

パラメータ

ID mbfid Message Buffer ID対象メッセージバッファID
ID list[] Task ID List待ちタスクのタスクIDを格納する領域
INT nent Number of List Entries list に格納可能な最大数

リターンパラメータ

INT ct Count待ちタスクの個数
またはError Codeエラーコード

エラーコード

E_ID ID番号が不正(mbfid が不正あるいは利用できない)
E_NOEXS 対象オブジェクトが存在しない(mbfid のメッセージバッファが存在しない)

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート

解説

mbfid で指定したメッセージバッファの受信待ち行列に並んでいるタスクのIDのリストを取得する。list には、メッセージバッファの受信待ち行列の先頭からその並び順にタスクIDが最大 nent 個まで格納される。戻値には、メッセージバッファの受信待ち行列に並んでいるタスクの個数を返す。戻値 > nent であれば、すべてのタスクIDは取得できないことを示す。

μT-Kernel 1.0との差異

本APIはサービスプロファイルの導入によりプロファイルで許容される場合に利用が可能となった。

td_cal_que - ランデブ呼出待ち行列の参照

C言語インタフェース

#include <tk/dbgspt.h>

INT ct = td_cal_que (ID porid , ID list[], INT nent );

パラメータ

ID porid Port ID対象ランデブポートID
ID list[] Task ID List待ちタスクのタスクIDを格納する領域
INT nent Number of List Entries list に格納可能な最大数

リターンパラメータ

INT ct Count待ちタスクの個数
またはError Codeエラーコード

エラーコード

E_ID ID番号が不正(porid が不正あるいは利用できない)
E_NOEXS 対象オブジェクトが存在しない(porid のランデブポートが存在しない)

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート

解説

porid で指定したランデブ呼出待ち行列に並んでいるタスクのIDのリストを取得する。list には、ランデブ呼出待ち行列の先頭からその並び順にタスクIDが最大 nent 個まで格納される。戻値には、ランデブ呼出待ち行列に並んでいるタスクの個数を返す。戻値 > nent であれば、すべてのタスクIDは取得できないことを示す。

μT-Kernel 1.0との差異

本APIはサービスプロファイルの導入によりプロファイルで許容される場合に利用が可能となった。

td_acp_que - ランデブ受付待ち行列の参照

C言語インタフェース

#include <tk/dbgspt.h>

INT ct = td_acp_que (ID porid , ID list[], INT nent );

パラメータ

ID porid Port ID対象ランデブポートID
ID list[] Task ID List待ちタスクのタスクIDを格納する領域
INT nent Number of List Entries list に格納可能な最大数

リターンパラメータ

INT ct Count待ちタスクの個数
またはError Codeエラーコード

エラーコード

E_ID ID番号が不正(porid が不正あるいは利用できない)
E_NOEXS 対象オブジェクトが存在しない(porid のランデブポートが存在しない)

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート

解説

porid で指定したランデブ受付待ち行列に並んでいるタスクのIDのリストを取得する。list には、ランデブ受付待ち行列の先頭からその並び順にタスクIDが最大 nent 個まで格納される。戻値には、ランデブ受付待ち行列に並んでいるタスクの個数を返す。戻値 > nent であれば、すべてのタスクIDは取得できないことを示す。

μT-Kernel 1.0との差異

本APIはサービスプロファイルの導入によりプロファイルで許容される場合に利用が可能となった。

td_mpf_que - 固定長メモリプールの待ち行列の参照

C言語インタフェース

#include <tk/dbgspt.h>

INT ct = td_mpf_que (ID mpfid , ID list[], INT nent );

パラメータ

ID mpfid Memory Pool ID対象固定長メモリプールID
ID list[] Task ID List待ちタスクのタスクIDを格納する領域
INT nent Number of List Entries list に格納可能な最大数

リターンパラメータ

INT ct Count待ちタスクの個数
またはError Codeエラーコード

エラーコード

E_ID ID番号が不正(mpfid が不正あるいは利用できない)
E_NOEXS 対象オブジェクトが存在しない(mpfid の固定長メモリプールが存在しない)

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート

解説

mpfid で指定した固定長メモリプールの待ち行列に並んでいるタスクのIDのリストを取得する。list には、固定長メモリプールの待ち行列の先頭からその並び順にタスクIDが最大 nent 個まで格納される。戻値には、固定長メモリプールの待ち行列に並んでいるタスクの個数を返す。戻値 > nent であれば、すべてのタスクIDは取得できないことを示す。

μT-Kernel 1.0との差異

本APIはサービスプロファイルの導入によりプロファイルで許容される場合に利用が可能となった。

td_mpl_que - 可変長メモリプールの待ち行列の参照

C言語インタフェース

#include <tk/dbgspt.h>

INT ct = td_mpl_que (ID mplid , ID list[], INT nent );

パラメータ

ID mplid Memory Pool ID対象可変長メモリプールID
ID list[] Task ID List待ちタスクのタスクIDを格納する領域
INT nent Number of List Entries list に格納可能な最大数

リターンパラメータ

INT ct Count待ちタスクの個数
またはError Codeエラーコード

エラーコード

E_ID ID番号が不正(mplid が不正あるいは利用できない)
E_NOEXS 対象オブジェクトが存在しない(mplid の可変長メモリプールが存在しない)

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート

解説

mplid で指定した可変長メモリプールの待ち行列に並んでいるタスクのIDのリストを取得する。list には、可変長メモリプールの待ち行列の先頭からその並び順にタスクIDが最大 nent 個まで格納される。戻値には、可変長メモリプールの待ち行列に並んでいるタスクの個数を返す。戻値 > nent であれば、すべてのタスクIDは取得できないことを示す。

μT-Kernel 1.0との差異

本APIはサービスプロファイルの導入によりプロファイルで許容される場合に利用が可能となった。

td_ref_tsk - タスク状態参照

C言語インタフェース

#include <tk/dbgspt.h>

ER ercd = td_ref_tsk (ID tskid , TD_RTSK *rtsk );

パラメータ

ID tskid Task ID対象タスクID(TSK_SELF 可)
TD_RTSK* rtsk Packet to Refer Task Statusタスク状態を返す領域へのポインタ

リターンパラメータ

ER ercd Error Codeエラーコード

rtsk の内容

void* exinf Extended Information拡張情報
PRI tskpri Task Priority現在の優先度
PRI tskbpri Task Base Priorityベース優先度
UINT tskstat Task Stateタスク状態
UW tskwait Task Wait Factor待ち要因
ID wid Waiting Object ID待ちオブジェクトID
INT wupcnt Wakeup Count起床要求キューイング数
INT suscnt Suspend Count強制待ち要求ネスト数
RELTIM slicetime Slice Time最大連続実行時間(ミリ秒)
UW waitmask Wait Mask待ちを禁止されている待ち要因
UINT texmask Task Exception Mask許可されているタスク例外
UINT tskevent Task Event発生しているタスクイベント
FP task Task Start Addressタスク起動アドレス
SZ stksz User Stack Sizeユーザスタックサイズ(バイト数)
SZ sstksz System Stack Sizeシステムスタックサイズ(バイト数)
void* istack Initial User Stack Pointerユーザスタックポインタ初期値
void* isstack Initial System Stack Pointerシステムスタックポインタ初期値

エラーコード

E_OK 正常終了
E_ID ID番号が不正
E_NOEXS 対象オブジェクトが存在しない

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

TK_SUPPORT_SLICETIME スライスタイム(slicetime)の取得が可能
TK_SUPPORT_DISWAI 待ち禁止状態に関する情報(waitmask)の取得が可能
TK_SUPPORT_TASKEXCEPTION タスク例外情報(texmask)の取得が可能
TK_SUPPORT_TASKEVENT タスクイベント発生情報(tskevent)の取得が可能
TK_HAS_SYSSTACK タスクがユーザスタックとは独立したシステムスタックを持ち、ユーザスタックに加えてシステムスタックに対する情報(sstksz, isstack)の取得が可能

以下のサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート

解説

タスクの状態を参照する。tk_ref_tsk() と同等だが、タスク起動アドレスおよびスタックに関する情報が追加されている。

スタック領域は、スタックポインタ初期値の位置から低位アドレス(値の小さい方)へ向かって、スタックサイズ分となる。

  • istackstksz ≦ ユーザスタック領域 < istack

  • isstacksstksz ≦ システムスタック領域 < isstack

なお、スタックポインタ初期値(istack, isstack)は、スタックポインタの現在位置ではない。タスク起動前の状態であっても、スタック領域は使用されている場合がある。スタックポインタの現在位置を得るには、td_get_reg() を用いる。

タスク状態情報(TD_RTSK)の slicetime は、ミリ秒単位に切り上げた値(単位ミリ秒)を返す。マイクロ秒単位の情報を知りたい場合には、td_ref_tsk_u を使う。

T-Kernel 2.0との差異

TD_RTSKのメンバtskwaitwaitmaskの型がUINTからUWに変更されている。

また、TD_RTSKのメンバstkszsstkszの型がINTからSZに変更されている。

μT-Kernel 1.0との差異

サービスプロファイルの導入により、μT-Kernelの仕様から除外されていたスライスタイム(slicetime)、待ち禁止状態に関する情報(waitmask)、タスク例外情報(texmask)、タスクイベント発生情報(tskevent)、システムスタックサイズ(sstksz)、システムスタックポインタ初期値(isstack)の取得が、プロファイルの制約に従う範囲で可能となった。

上記に伴い、tskstat に得られる値に TTS_NODISWAI(待ち禁止の拒否)と tskwait に得られる値にタスクイベントに関する値(TTW_EVn)が存在する。

なお、TD_RTSKのメンバstkszsstkszの型がWからSZに変更されている。

td_ref_tsk_u - タスク状態参照(マイクロ秒単位)

C言語インタフェース

#include <tk/dbgspt.h>

ER ercd = td_ref_tsk_u (ID tskid , TD_RTSK_U *rtsk_u );

パラメータ

ID tskid Task ID対象タスクID(TSK_SELF 可)
TD_RTSK_U* rtsk_u Packet to Refer Task Statusタスク状態を返す領域へのポインタ

リターンパラメータ

ER ercd Error Codeエラーコード

rtsk_u の内容

void* exinf Extended Information拡張情報
PRI tskpri Task Priority現在の優先度
PRI tskbpri Task Base Priorityベース優先度
UINT tskstat Task Stateタスク状態
UW tskwait Task Wait Factor待ち要因
ID wid Waiting Object ID待ちオブジェクトID
INT wupcnt Wakeup Count起床要求キューイング数
INT suscnt Suspend Count強制待ち要求ネスト数
RELTIM_U slicetime_u Slice Time最大連続実行時間(マイクロ秒)
UW waitmask Wait Mask待ちを禁止されている待ち要因
UINT texmask Task Exception Mask許可されているタスク例外
UINT tskevent Task Event発生しているタスクイベント
FP task Task Start Addressタスク起動アドレス
SZ stksz User Stack Sizeユーザスタックサイズ(バイト数)
SZ sstksz System Stack Sizeシステムスタックサイズ(バイト数)
void* istack Initial User Stack Pointerユーザスタックポインタ初期値
void* isstack Initial System Stack Pointerシステムスタックポインタ初期値

エラーコード

E_OK 正常終了
E_ID ID番号が不正
E_NOEXS 対象オブジェクトが存在しない

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のすべてのサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート
TK_SUPPORT_USEC マイクロ秒命令をサポート

その他の関連するサービスプロファイルについては、td_ref_tsk と同様である。

解説

td_ref_tsk のリターンパラメータである slicetime を64ビットマイクロ秒単位の slicetime_u としたシステムコールである。

リターンパラメータが slicetime_u となった点を除き、本システムコールの仕様は td_ref_tsk と同じである。詳細は td_ref_tsk の説明を参照のこと。

T-Kernel 2.0との差異

TD_RTSK_Uのメンバtskwaitwaitmaskの型がUINTからUWに変更されている。

また、TD_RTSK_Uのメンバstkszsstkszの型がINTからSZに変更されている。

μT-Kernel 1.0との差異

T-Kernel 2.0仕様に基づき新たに追加されたAPIである。

td_ref_tex - タスク例外の状態参照

C言語インタフェース

#include <tk/dbgspt.h>

ER ercd = td_ref_tex (ID tskid , TD_RTEX *pk_rtex );

パラメータ

ID tskid Task ID対象タスクID(TSK_SELF 可)
TD_RTEX* pk_rtex Packet to Refer Task Exception Statusタスク例外状態を返す領域へのポインタ

リターンパラメータ

ER ercd Error Codeエラーコード

pk_rtex の内容

UINT pendtex Pending Task Exception発生しているタスク例外
UINT texmask Task Exception Mask許可されているタスク例外

エラーコード

E_OK 正常終了
E_ID ID番号が不正
E_NOEXS 対象オブジェクトが存在しない

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のすべてのサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート
TK_SUPPORT_TASKEXCEPTION タスク例外処理機能をサポート

解説

タスク例外の状態を参照する。tk_ref_tex() と同等。

μT-Kernel 1.0との差異

本APIは過去のμT-Kernelの仕様では除外されていたが、サービスプロファイルの導入によりプロファイルで許容される場合に利用が可能となった。

td_ref_sem - セマフォ状態参照

C言語インタフェース

#include <tk/dbgspt.h>

ER ercd = td_ref_sem (ID semid , TD_RSEM *rsem );

パラメータ

ID semid Semaphore ID対象セマフォID
TD_RSEM* rsem Packet to Refer Semaphore Statusセマフォ状態を返す領域へのポインタ

リターンパラメータ

ER ercd Error Codeエラーコード

rsem の内容

void* exinf Extended Information拡張情報
ID wtsk Wait Task Information待ちタスクのID
INT semcnt Semaphore Count現在のセマフォカウント値

エラーコード

E_OK 正常終了
E_ID ID番号が不正
E_NOEXS 対象オブジェクトが存在しない

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート

解説

セマフォの状態を参照する。tk_ref_sem() と同等。

μT-Kernel 1.0との差異

本APIはサービスプロファイルの導入によりプロファイルで許容される場合に利用が可能となった。

td_ref_flg - イベントフラグ状態参照

C言語インタフェース

#include <tk/dbgspt.h>

ER ercd = td_ref_flg (ID flgid , TD_RFLG *rflg );

パラメータ

ID flgid EventFlag ID対象イベントフラグID
TD_RFLG* rflg Packet to Refer EventFlag Statusイベントフラグ状態を返す領域へのポインタ

リターンパラメータ

ER ercd Error Codeエラーコード

rflg の内容

void* exinf Extended Information拡張情報
ID wtsk Wait Task Information待ちタスクのID
UINT flgptn EventFlag Bit Pattern現在のイベントフラグのビットパターン

エラーコード

E_OK 正常終了
E_ID ID番号が不正
E_NOEXS 対象オブジェクトが存在しない

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート

解説

イベントフラグの状態を参照する。tk_ref_flg() と同等。

μT-Kernel 1.0との差異

本APIはサービスプロファイルの導入によりプロファイルで許容される場合に利用が可能となった。

td_ref_mbx - メールボックス状態参照

C言語インタフェース

#include <tk/dbgspt.h>

ER ercd = td_ref_mbx (ID mbxid , TD_RMBX *rmbx );

パラメータ

ID mbxid Mailbox ID対象メールボックスID
TD_RMBX* rmbx Packet to Refer Mailbox Statusメールボックス状態を返す領域へのポインタ

リターンパラメータ

ER ercd Error Codeエラーコード

rmbx の内容

void* exinf Extended Information拡張情報
ID wtsk Wait Task Information待ちタスクのID
T_MSG* pk_msg Packet of Message次に受信されるメッセージ

エラーコード

E_OK 正常終了
E_ID ID番号が不正
E_NOEXS 対象オブジェクトが存在しない

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート

解説

メールボックスの状態を参照する。tk_ref_mbx() と同等。

μT-Kernel 1.0との差異

本APIはサービスプロファイルの導入によりプロファイルで許容される場合に利用が可能となった。

td_ref_mtx - ミューテックス状態参照

C言語インタフェース

#include <tk/dbgspt.h>

ER ercd = td_ref_mtx (ID mtxid , TD_RMTX *rmtx );

パラメータ

ID mtxid Mutex ID対象ミューテックスID
TD_RMTX* rmtx Packet to Refer Mutex Statusミューテックス状態を返す領域へのポインタ

リターンパラメータ

ER ercd Error Codeエラーコード

rmtx の内容

void* exinf Extended Information拡張情報
ID htsk Locking Task IDロックしているタスクのID
ID wtsk Lock Waiting Task IDロック待ちタスクのID

エラーコード

E_OK 正常終了
E_ID ID番号が不正
E_NOEXS 対象オブジェクトが存在しない

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート

解説

ミューテックスの状態を参照する。tk_ref_mtx() と同等。

μT-Kernel 1.0との差異

本APIはサービスプロファイルの導入によりプロファイルで許容される場合に利用が可能となった。

td_ref_mbf - メッセージバッファ状態参照

C言語インタフェース

#include <tk/dbgspt.h>

ER ercd = td_ref_mbf (ID mbfid , TD_RMBF *rmbf );

パラメータ

ID mbfid Message Buffer ID対象メッセージバッファID
TD_RMBF* rmbf Packet to Refer Message Buffer Statusメッセージバッファ状態を返す領域へのポインタ

リターンパラメータ

ER ercd Error Codeエラーコード

rmbf の内容

void* exinf Extended Information拡張情報
ID wtsk Wait Task Information受信待ちタスクのID
ID stsk Send Task Information送信待ちタスクのID
INT msgsz Message Size次に受信されるメッセージのサイズ(バイト数)
SZ frbufsz Free Buffer Size空きバッファのサイズ(バイト数)
INT maxmsz Maximum Message Sizeメッセージの最大長(バイト数)

エラーコード

E_OK 正常終了
E_ID ID番号が不正
E_NOEXS 対象オブジェクトが存在しない

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート

解説

メッセージバッファの状態を参照する。tk_ref_mbf() と同等。

T-Kernel 2.0との差異

TD_RMBFのメンバ frbufsz の型がINTからSZに変更されている。

μT-Kernel 1.0との差異

本APIはサービスプロファイルの導入によりプロファイルで許容される場合に利用が可能となった。

また、TD_RMBFのメンバ frbufsz の型がWからSZに変更されている。

td_ref_por - ランデブポート状態参照

C言語インタフェース

#include <tk/dbgspt.h>

ER ercd = td_ref_por (ID porid , TD_RPOR *rpor );

パラメータ

ID porid Port ID対象ランデブポートID
TD_RPOR* rpor Packet to Refer Port Statusランデブポート状態を返す領域へのポインタ

リターンパラメータ

ER ercd Error Codeエラーコード

rpor の内容

void* exinf Extended Information拡張情報
ID wtsk Wait Task Information呼出待ちタスクのID
ID atsk Accept Task Information受付待ちタスクのID
INT maxcmsz Maximum Call Message Size呼出時のメッセージの最大長(バイト数)
INT maxrmsz Maximum Reply Message Size返答時のメッセージの最大長(バイト数)

エラーコード

E_OK 正常終了
E_ID ID番号が不正
E_NOEXS 対象オブジェクトが存在しない

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート

解説

ランデブポートの状態を参照する。tk_ref_por() と同等。

μT-Kernel 1.0との差異

本APIはサービスプロファイルの導入によりプロファイルで許容される場合に利用が可能となった。

td_ref_mpf - 固定長メモリプール状態参照

C言語インタフェース

#include <tk/dbgspt.h>

ER ercd = td_ref_mpf (ID mpfid , TD_RMPF *rmpf );

パラメータ

ID mpfid Memory Pool ID対象固定長メモリプールID
TD_RMPF* rmpf Packet to Refer Memory Pool Statusメモリプール状態を返す領域へのポインタ

リターンパラメータ

ER ercd Error Codeエラーコード

rmpf の内容

void* exinf Extended Information拡張情報
ID wtsk Wait Task Information待ちタスクのID
SZ frbcnt Free Block Count空き領域のブロック数

エラーコード

E_OK 正常終了
E_ID ID番号が不正
E_NOEXS 対象オブジェクトが存在しない

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート

解説

固定長メモリプールの状態を参照する。tk_ref_mpf() と同等。

T-Kernel 2.0との差異

TD_RMPFのメンバ frbcnt の型がINTからSZに変更されている。

μT-Kernel 1.0との差異

本APIはサービスプロファイルの導入によりプロファイルで許容される場合に利用が可能となった。

また、TD_RMPFのメンバ frbcnt の型がWからSZに変更されている。

td_ref_mpl - 可変長メモリプール状態参照

C言語インタフェース

#include <tk/dbgspt.h>

ER ercd = td_ref_mpl (ID mplid , TD_RMPL *rmpl );

パラメータ

ID mplid Memory Pool ID対象可変長メモリプールID
TD_RMPL* rmpl Packet to Refer Memory Pool Statusメモリプール状態を返す領域へのポインタ

リターンパラメータ

ER ercd Error Codeエラーコード

rmpl の内容

void* exinf Extended Information拡張情報
ID wtsk Wait Task Information待ちタスクのID
SZ frsz Free Memory Size空き領域の合計サイズ(バイト数)
SZ maxsz Max Memory Size最大の空き領域のサイズ(バイト数)

エラーコード

E_OK 正常終了
E_ID ID番号が不正
E_NOEXS 対象オブジェクトが存在しない

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート

解説

可変長メモリプールの状態を参照する。tk_ref_mpl() と同等。

T-Kernel 2.0との差異

TD_RMPLのメンバ frsz, maxsz の型がINTからSZに変更されている。

μT-Kernel 1.0との差異

本APIはサービスプロファイルの導入によりプロファイルで許容される場合に利用が可能となった。

また、TD_RMPLのメンバ frsz, maxsz の型がWからSZに変更されている。

td_ref_cyc - 周期ハンドラ状態参照

C言語インタフェース

#include <tk/dbgspt.h>

ER ercd = td_ref_cyc (ID cycid , TD_RCYC *rcyc );

パラメータ

ID cycid Cyclic Handler ID対象周期ハンドラID
TD_RCYC* rcyc Packet to Refer Cyclic Handler Status周期ハンドラの状態を返す領域へのポインタ

リターンパラメータ

ER ercd Error Codeエラーコード

rcyc の内容

void* exinf Extended Information拡張情報
RELTIM lfttim Left Time次のハンドラ起動までの残り時間(ミリ秒)
UINT cycstat Cyclic Handler Status周期ハンドラの状態

エラーコード

E_OK 正常終了
E_ID ID番号が不正
E_NOEXS 対象オブジェクトが存在しない

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート

解説

周期ハンドラの状態を参照する。tk_ref_cyc() と同等。

td_ref_cyc で取得する周期ハンドラ状態情報(TD_RCYC)における残り時間 lfttim は、ミリ秒単位に切り上げた値(単位ミリ秒)を返す。マイクロ秒単位の情報を知りたい場合には、td_ref_cyc_u を使う。

μT-Kernel 1.0との差異

本APIはサービスプロファイルの導入によりプロファイルで許容される場合に利用が可能となった。

td_ref_cyc_u - 周期ハンドラ状態参照(マイクロ秒単位)

C言語インタフェース

#include <tk/dbgspt.h>

ER ercd = td_ref_cyc_u (ID cycid , TD_RCYC_U *rcyc_u );

パラメータ

ID cycid Cyclic Handler ID対象周期ハンドラID
TD_RCYC_U* rcyc_u Packet to Refer Cyclic Handler Status周期ハンドラの状態を返す領域へのポインタ

リターンパラメータ

ER ercd Error Codeエラーコード

rcyc_u の内容

void* exinf Extended Information拡張情報
RELTIM_U lfttim_u Left Time次のハンドラ起動までの残り時間(マイクロ秒)
UINT cycstat Cyclic Handler Status周期ハンドラの状態

エラーコード

E_OK 正常終了
E_ID ID番号が不正
E_NOEXS 対象オブジェクトが存在しない

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のすべてのサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート
TK_SUPPORT_USEC マイクロ秒命令をサポート

解説

td_ref_cyc のリターンパラメータである lfttim を64ビットマイクロ秒単位の lfttim_u としたシステムコールである。

リターンパラメータが lfttim_u となった点を除き、本システムコールの仕様は td_ref_cyc と同じである。詳細は td_ref_cyc の説明を参照のこと。

μT-Kernel 1.0との差異

T-Kernel 2.0仕様に基づき新たに追加されたAPIである。

td_ref_alm - アラームハンドラ状態参照

C言語インタフェース

#include <tk/dbgspt.h>

ER ercd = td_ref_alm (ID almid , TD_RALM *ralm );

パラメータ

ID almid Alarm Handler ID対象アラームハンドラID
TD_RALM* ralm Packet to Refer Alarm Handler Statusアラームハンドラの状態を返す領域へのポインタ

リターンパラメータ

ER ercd Error Codeエラーコード

ralm の内容

void* exinf Extended Information拡張情報
RELTIM lfttim Left Timeハンドラ起動までの残り時間(ミリ秒)
UINT almstat Alarm Handler Statusアラームハンドラの状態

エラーコード

E_OK 正常終了
E_ID ID番号が不正
E_NOEXS 対象オブジェクトが存在しない

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート

解説

アラームハンドラの状態を参照する。tk_ref_alm() と同等。

td_ref_alm で取得するアラームハンドラ状態情報(TD_RALM)における残り時間 lfttim は、ミリ秒単位に切り上げた値(単位ミリ秒)を返す。マイクロ秒単位の情報を知りたい場合には、td_ref_alm_u を使う。

μT-Kernel 1.0との差異

本APIはサービスプロファイルの導入によりプロファイルで許容される場合に利用が可能となった。

td_ref_alm_u - アラームハンドラ状態参照(マイクロ秒単位)

C言語インタフェース

#include <tk/dbgspt.h>

ER ercd = td_ref_alm_u (ID almid , TD_RALM_U *ralm_u );

パラメータ

ID almid Alarm Handler ID対象アラームハンドラID
TD_RALM_U* ralm_u Packet to Refer Alarm Handler Statusアラームハンドラの状態を返す領域へのポインタ

リターンパラメータ

ER ercd Error Codeエラーコード

ralm_u の内容

void* exinf Extended Information拡張情報
RELTIM_U lfttim_u Left Timeハンドラ起動までの残り時間(マイクロ秒)
UINT almstat Alarm Handler Statusアラームハンドラの状態

エラーコード

E_OK 正常終了
E_ID ID番号が不正
E_NOEXS 対象オブジェクトが存在しない

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のすべてのサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート
TK_SUPPORT_USEC マイクロ秒命令をサポート

解説

td_ref_alm のリターンパラメータである lfttim を64ビットマイクロ秒単位の lfttim_u としたシステムコールである。

リターンパラメータが lfttim_u となった点を除き、本システムコールの仕様は td_ref_alm と同じである。詳細は td_ref_alm の説明を参照のこと。

μT-Kernel 1.0との差異

T-Kernel 2.0仕様に基づき新たに追加されたAPIである。

td_ref_sys - システム状態参照

C言語インタフェース

#include <tk/dbgspt.h>

ER ercd = td_ref_sys (TD_RSYS *pk_rsys );

パラメータ

TD_RSYS* pk_rsys Packet to Refer System Statusシステム状態を返す領域へのポインタ

リターンパラメータ

ER ercd Error Codeエラーコード

pk_rsys の内容

UINT sysstat System Stateシステム状態
ID runtskid Running Task ID現在実行状態にあるタスクのID
ID schedtskid Scheduled Task ID実行状態にすべきタスクのID

エラーコード

E_OK 正常終了

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート

解説

システムの状態を参照する。tk_ref_sys() と同等。

T-Kernel 2.0との差異

TD_RSYSのメンバsysstatの型がINTからUINTに変更されている。

μT-Kernel 1.0との差異

本APIはサービスプロファイルの導入によりプロファイルで許容される場合に利用が可能となった。

td_ref_ssy - サブシステム定義情報の参照

C言語インタフェース

#include <tk/dbgspt.h>

ER ercd = td_ref_ssy (ID ssid , TD_RSSY *rssy );

パラメータ

ID ssid Subsystem ID対象サブシステムID
TD_RSSY* rssy Packet to Refer Subsystemサブシステム定義情報を返す領域へのポインタ

リターンパラメータ

ER ercd Error Codeエラーコード

rssy の内容

PRI ssypri Subsystem Priorityサブシステム優先度
SZ resblksz Resource Control Block Sizeリソース管理ブロックサイズ(バイト数)

エラーコード

E_OK 正常終了
E_ID ID番号が不正
E_NOEXS 対象オブジェクトが存在しない

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート

解説

サブシステムの状態を参照する。tk_ref_ssy() と同等。

T-Kernel 2.0との差異

TD_RSSYのメンバ resblksz の型がINTからSZに変更されている。

μT-Kernel 1.0との差異

本APIはサービスプロファイルの導入によりプロファイルで許容される場合に利用が可能となった。

また、TD_RSSYのメンバ resblksz の型がWからSZに変更されている。

td_inf_tsk - タスク統計情報参照

C言語インタフェース

#include <tk/dbgspt.h>

ER ercd = td_inf_tsk (ID tskid , TD_ITSK *pk_itsk , BOOL clr );

パラメータ

ID tskid Task ID対象タスクID(TSK_SELF 可)
TD_ITSK* pk_itsk Packet to Refer Task Statisticsタスク統計情報を返す領域へのポインタ
BOOL clr Clearタスク統計情報のクリアの有無

リターンパラメータ

ER ercd Error Codeエラーコード

pk_itsk の内容

RELTIM stime System Time累積システムレベル実行時間(ミリ秒)
RELTIM utime User Time累積ユーザレベル実行時間(ミリ秒)

エラーコード

E_OK 正常終了
E_ID ID番号が不正
E_NOEXS 対象オブジェクトが存在しない

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のすべてのサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート
TK_SUPPORT_TASKINF タスク統計情報の取得機能が利用可能

解説

タスク統計情報を参照する。tk_inf_tsk() と同等。clrTRUE(≠0)の場合は、統計情報を取り出した後、累積時間をリセット(0クリア)する。

タスク統計情報(TD_ITSK)の stime, utime は、ミリ秒単位に切り上げた値(単位ミリ秒)を返す。マイクロ秒単位の情報を知りたい場合には、td_inf_tsk_u を使う。

μT-Kernel 1.0との差異

本APIはサービスプロファイルの導入によりプロファイルで許容される場合に利用が可能となった。

td_inf_tsk_u - タスク統計情報参照(マイクロ秒単位)

C言語インタフェース

#include <tk/dbgspt.h>

ER ercd = td_inf_tsk_u (ID tskid , TD_ITSK_U *itsk_u , BOOL clr );

パラメータ

ID tskid Task ID対象タスクID(TSK_SELF 可)
TD_ITSK_U* itsk_u Packet to Refer Task Statisticsタスク統計情報を返す領域へのポインタ
BOOL clr Clearタスク統計情報のクリアの有無

リターンパラメータ

ER ercd Error Codeエラーコード

itsk_u の内容

RELTIM_U stime_u System Time累積システムレベル実行時間(マイクロ秒)
RELTIM_U utime_u User Time累積ユーザレベル実行時間(マイクロ秒)

エラーコード

E_OK 正常終了
E_ID ID番号が不正
E_NOEXS 対象オブジェクトが存在しない

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のすべてのサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート
TK_SUPPORT_TASKINF タスク統計情報の取得機能が利用可能
TK_SUPPORT_USEC マイクロ秒命令をサポート

解説

td_inf_tsk のリターンパラメータである stimeutime を64ビットマイクロ秒単位の stime_u, utime_u としたシステムコールである。

リターンパラメータが stime_u, utime_u となった点を除き、本システムコールの仕様は td_inf_tsk と同じである。詳細は td_inf_tsk の説明を参照のこと。

μT-Kernel 1.0との差異

T-Kernel 2.0仕様に基づき新たに追加されたAPIである。

td_get_reg - タスクレジスタの参照

C言語インタフェース

#include <tk/dbgspt.h>

ER ercd = td_get_reg (ID tskid , T_REGS *pk_regs , T_EIT *pk_eit , T_CREGS *pk_cregs );

パラメータ

ID tskid Task ID対象タスクのID(TSK_SELF 不可)
T_REGS* pk_regs Packet of Registers汎用レジスタの値を返す領域へのポインタ
T_EIT* pk_eit Packet of EIT Registers例外時に保存されるレジスタの値を返す領域へのポインタ
T_CREGS* pk_cregs Packet of Control Registers制御レジスタの値を返す領域へのポインタ

リターンパラメータ

ER ercd Error Codeエラーコード

T_REGS, T_EIT, T_CREGSの内容は、CPUおよび実装ごとに定義する。

エラーコード

E_OK 正常終了
E_ID 不正ID番号(tskid が不正あるいは利用できない)
E_NOEXS オブジェクトが存在していない(tskid のタスクが存在しない)
E_OBJ オブジェクトの状態が不正(対象タスクが現在実行状態のタスク)

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のすべてのサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート
TK_SUPPORT_REGOPS タスクレジスタ操作関連機能が利用可能

解説

タスクのレジスタを参照する。tk_get_reg と同等。

現在実行状態にあるタスクは参照することはできない。タスク独立部の実行中を除けば、現在実行状態のタスクは自タスクである。

pk_regs, pk_eit, pk_cregs は、それぞれ NULL を指定すると、対応するレジスタは参照されない。

T_REGS, T_EIT, T_CREGSの内容は実装定義である。

μT-Kernel 1.0との差異

本APIはサービスプロファイルの導入によりプロファイルで許容される場合に利用が可能となった。

td_set_reg - タスクレジスタの設定

C言語インタフェース

#include <tk/dbgspt.h>

ER ercd = td_set_reg (ID tskid , CONST T_REGS *pk_regs , CONST T_EIT *pk_eit , CONST T_CREGS *pk_cregs );

パラメータ

ID tskid Task ID対象タスクのID(TSK_SELF 不可)
CONST T_REGS* pk_regs Packet of Registers汎用レジスタ
CONST T_EIT* pk_eit Packet of EIT Registers例外時に保存されるレジスタ
CONST T_CREGS* pk_cregs Packet of Control Registers制御レジスタ

T_REGS, T_EIT, T_CREGSの内容は、CPUおよび実装ごとに定義する。

リターンパラメータ

ER ercd Error Codeエラーコード

エラーコード

E_OK 正常終了
E_ID 不正ID番号(tskid が不正あるいは利用できない)
E_NOEXS オブジェクトが存在していない(tskid のタスクが存在しない)
E_OBJ オブジェクトの状態が不正(対象タスクが現在実行状態のタスク)

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のすべてのサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート
TK_SUPPORT_REGOPS タスクレジスタ操作関連機能が利用可能

解説

タスクのレジスタを設定する。tk_set_reg と同等。

現在実行状態にあるタスクに設定することはできない。タスク独立部の実行中を除けば、現在実行状態のタスクは自タスクである。

pk_regs, pk_eit, pk_cregs は、それぞれ NULL を指定すると、対応するレジスタは設定されない。

T_REGS, T_EIT, T_CREGS の内容は実装定義である。

μT-Kernel 1.0との差異

本APIはサービスプロファイルの導入によりプロファイルで許容される場合に利用が可能となった。

td_get_tim - システム時刻参照

C言語インタフェース

#include <tk/dbgspt.h>

ER ercd = td_get_tim (SYSTIM *tim , UW *ofs );

パラメータ

SYSTIM* tim Time現在時刻(ミリ秒)を返す領域へのポインタ
UW* ofs Offsetリターンパラメータ ofs を返す領域へのポインタ

リターンパラメータ

ER ercd Error Codeエラーコード
SYSTIM tim Time現在時刻(ミリ秒)
UW ofs Offset tim からの相対的な経過時間(ナノ秒)

tim の内容

W hi High 32bitsシステムの現在時刻の上位32ビット
UW lo Low 32bitsシステムの現在時刻の下位32ビット

エラーコード

E_OK 正常終了

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート

解説

現在時刻(1985年1月1日0時(GMT)からの通算のミリ秒数)を取得する。tim に返される値は tk_get_tim() と同じである。tim は、タイマ割込み間隔(周期)の分解能となるが、さらに細かい精度の時刻情報として tim からの経過時間を ofs にナノ秒単位で取得する。ofs の分解能は実装依存であるが、一般にはハードウェアタイマの分解能となる。

tim は、タイマ割込みによってカウントされる時刻であるため、割込み禁止期間中にタイマ割込み周期が来た場合、タイマ割込みハンドラが起動されず(起動が遅らされ)時刻が更新されないことがある。このような場合、tim には前回のタイマ割込みによって更新された時刻が返され、ofs には前回のタイマ割込みからの経過時間を返す。したがって、ofs はタイマ割込み間隔より長い時間となる場合がある。ofs がどの程度まで長い経過時間を計測できるかはハードウェアなどに依存するが、少なくともタイマ割込み間隔の2倍未満(0≦ofs<タイマ割込み間隔の2倍)の範囲まで計測できることが望ましい。

なお、tim および ofs に返される時刻は、td_get_tim() を呼び出してから戻るまでにかかった時間範囲の中のどこかの時点の時刻となる。td_get_tim() を呼び出した時点の時刻でも、td_get_tim() から戻った時点の時刻でもない。したがって、より正確な情報を得たい場合は、割込み禁止状態で呼び出すべきである。

T-Kernel 2.0との差異

ofsの型がUINTへのポインタからUWへのポインタに変更されている。

μT-Kernel 1.0との差異

本APIはサービスプロファイルの導入によりプロファイルで許容される場合に利用が可能となった。

td_get_tim_u - システム時刻参照(マイクロ秒単位)

C言語インタフェース

#include <tk/dbgspt.h>

ER ercd = td_get_tim_u (SYSTIM_U *tim_u , UW *ofs );

パラメータ

SYSTIM_U* tim_u Time現在時刻(マイクロ秒)を返す領域へのポインタ
UW* ofs Offsetリターンパラメータ ofs を返す領域へのポインタ

リターンパラメータ

ER ercd Error Codeエラーコード
SYSTIM_U tim_u Time現在時刻(マイクロ秒)
UW ofs Offset tim_u からの相対的な経過時間(ナノ秒)

エラーコード

E_OK 正常終了

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のすべてのサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート
TK_SUPPORT_USEC マイクロ秒命令をサポート

解説

td_get_tim のリターンパラメータである tim を64ビットマイクロ秒単位の tim_u としたシステムコールである。

リターンパラメータが tim_u となった点を除き、本システムコールの仕様は td_get_tim と同じである。詳細は td_get_tim の説明を参照のこと。

T-Kernel 2.0との差異

ofsの型がUINTへのポインタからUWへのポインタに変更されている。

μT-Kernel 1.0との差異

T-Kernel 2.0仕様に基づき新たに追加されたAPIである。

td_get_otm - システム稼働時間参照

C言語インタフェース

#include <tk/dbgspt.h>

ER ercd = td_get_otm (SYSTIM *tim , UW *ofs );

パラメータ

SYSTIM* tim Time稼働時間(ミリ秒)を返す領域へのポインタ
UW* ofs Offsetリターンパラメータ ofs を返す領域へのポインタ

リターンパラメータ

ER ercd Error Codeエラーコード
SYSTIM tim Time稼働時間(ミリ秒)
UW ofs Offset tim からの相対的な経過時間(ナノ秒)

tim の内容

W hi High 32bitsシステム稼働時間の上位32ビット
UW lo Low 32bitsシステム稼働時間の下位32ビット

エラーコード

E_OK 正常終了

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート

解説

システム稼働時間(システム起動時からの積算ミリ秒数)を取得する。tim に返される値は tk_get_otm() と同じである。tim は、タイマ割込み間隔(周期)の分解能となるが、さらに細かい精度の時刻情報として tim からの経過時間を ofs にナノ秒単位で取得する。ofs の分解能は実装依存であるが、一般にはハードウェアタイマの分解能となる。

tim は、タイマ割込みによってカウントされる時刻であるため、割込み禁止期間中にタイマ割込み周期が来た場合、タイマ割込みハンドラが起動されず(起動が遅らされ)時刻が更新されないことがある。このような場合、tim には前回のタイマ割込みによって更新された時刻が返され、ofs には前回のタイマ割込みからの経過時間を返す。したがって、ofs はタイマ割込み間隔より長い時間となる場合がある。ofs がどの程度まで長い経過時間を計測できるかはハードウェアなどに依存するが、少なくともタイマ割込み間隔の2倍未満(0≦ofs<タイマ割込み間隔の2倍)の範囲まで計測できることが望ましい。

なお、tim および ofs に返される時刻は、td_get_otm() を呼び出してから戻るまでにかかった時間範囲の中のどこかの時点の時刻となる。td_get_otm() を呼び出した時点の時刻でも、td_get_otm() から戻った時点の時刻でもない。したがって、より正確な情報を得たい場合は、割込み禁止状態で呼び出すべきである。

T-Kernel 2.0との差異

ofsの型がUINTへのポインタからUWへのポインタに変更されている。

μT-Kernel 1.0との差異

本APIはサービスプロファイルの導入によりプロファイルで許容される場合に利用が可能となった。

td_get_otm_u - システム稼働時間参照(マイクロ秒単位)

C言語インタフェース

#include <tk/dbgspt.h>

ER ercd = td_get_otm_u (SYSTIM_U *tim_u , UW *ofs );

パラメータ

SYSTIM_U* tim_u Time稼働時間(マイクロ秒)を返す領域へのポインタ
UW* ofs Offsetリターンパラメータ ofs を返す領域へのポインタ

リターンパラメータ

ER ercd Error Codeエラーコード
SYSTIM_U tim_u Time稼働時間(マイクロ秒)
UW ofs Offset tim_u からの相対的な経過時間(ナノ秒)

エラーコード

E_OK 正常終了

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のすべてのサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DBGSPT μT-Kernel/DSをサポート
TK_SUPPORT_USEC マイクロ秒命令をサポート

解説

td_get_otm のリターンパラメータである tim を64ビットマイクロ秒単位の tim_u としたシステムコールである。

リターンパラメータが tim_u となった点を除き、本システムコールの仕様は td_get_otm と同じである。詳細は td_get_otm の説明を参照のこと。

T-Kernel 2.0との差異

ofsの型がUINTへのポインタからUWへのポインタに変更されている。

μT-Kernel 1.0との差異

T-Kernel 2.0仕様に基づき新たに追加されたAPIである。

td_ref_dsname - DSオブジェクト名称の参照

C言語インタフェース

#include <tk/dbgspt.h>

ER ercd = td_ref_dsname (UINT type , ID id , UB *dsname );

パラメータ

UINT type Object Type対象オブジェクトタイプ
ID id Object ID対象オブジェクトID
UB* dsname DS Object NameDSオブジェクト名称を返す領域へのポインタ

リターンパラメータ

ER ercd Error Codeエラーコード

dsname の内容

オブジェクト生成時、または td_set_dsname() で設定されたDSオブジェクト名称

エラーコード

E_OK 正常終了
E_PAR オブジェクトタイプ不正
E_NOEXS 対象オブジェクトが存在しない
E_OBJ DSオブジェクト名称未使用

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DSNAME DSオブジェクト名称をサポート

解説

オブジェクト生成時に設定したDSオブジェクト名称(dsname)を参照する。対象となるオブジェクトは、オブジェクトタイプ(type)とオブジェクトID(id)で指定する。

指定可能なオブジェクトタイプ(type)は、以下の通りである。

TN_TSK 0x01タスク
TN_SEM 0x02セマフォ
TN_FLG 0x03イベントフラグ
TN_MBX 0x04メールボックス
TN_MBF 0x05メッセージバッファ
TN_POR 0x06ランデブポート
TN_MTX 0x07ミューテックス
TN_MPL 0x08可変長メモリプール
TN_MPF 0x09固定長メモリプール
TN_CYC 0x0a周期ハンドラ
TN_ALM 0x0bアラームハンドラ

DSオブジェクト名称は、オブジェクトの属性に、TA_DSNAME が指定された場合に有効となる。オブジェクト生成後に、td_set_dsname() でDSオブジェクト名称を再設定した場合は、この名称が参照される。

DSオブジェクト名称は、

使用可能文字(UB)

a~z, A~Z, 0~9

名称長

8バイト(満たない場合は NULL で埋める)

とするが、文字コードのチェックは、μT-Kernelでは行わない。

μT-Kernel 1.0との差異

本APIはサービスプロファイルの導入によりプロファイルで許容される場合に利用が可能となった。

td_set_dsname - DSオブジェクト名称の設定

C言語インタフェース

#include <tk/dbgspt.h>

ER ercd = td_set_dsname (UINT type , ID id , CONST UB *dsname );

パラメータ

UINT type Object Type対象オブジェクトタイプ
ID id Object ID対象オブジェクトID
CONST UB* dsname DS Object Name設定するDSオブジェクト名称

リターンパラメータ

ER ercd Error Codeエラーコード

エラーコード

E_OK 正常終了
E_PAR オブジェクトタイプ不正
E_NOEXS 対象オブジェクトが存在しない
E_OBJ DSオブジェクト名称未使用

利用可能なコンテキスト

タスク部準タスク部タスク独立部

関連するサービスプロファイル

以下のサービスプロファイルが有効に設定されている場合に限り、本システムコールはサポートされる。

TK_SUPPORT_DSNAME DSオブジェクト名称をサポート

解説

オブジェクト生成時に設定したDSオブジェクト名称(dsname)を再設定する。対象となるオブジェクトは、オブジェクトタイプ(type)とオブジェクトID(id)で指定する。

指定可能なオブジェクトタイプ(type)は、td_ref_dsname() と同様である。

なお、設定可能なDSオブジェクト名称は、

使用可能文字(UB)

a~z, A~Z, 0~9

名称長

8バイト(満たない場合は NULL で埋める)

とするが、文字コードのチェックは、μT-Kernelでは行わない。

DSオブジェクト名称は、オブジェクトの属性に、TA_DSNAME が指定されている場合に有効である。TA_DSNAME 属性が指定されていないオブジェクトを対象とした場合は、エラー E_OBJ となる。

μT-Kernel 1.0との差異

本APIはサービスプロファイルの導入によりプロファイルで許容される場合に利用が可能となった。