タスクユーティリティー

[API]


xTaskGetCurrentTaskHandle

task.h

xTaskHandle xTaskGetCurrentTaskHandle( void );

INCLUDE_xTaskGetCurrentTaskHandle がこの機能を利用可能とするために1にセットされなくてはなりません。

リターン:
現在実行中(呼び出した)のタスクのハンドル。


xTaskGetTickCount

task.h

volatile portTickType xTaskGetTickCount( void );

リターン:
vTaskStartSchedulerが呼び出された以来のチック(システム・クロック)のカウント数。


xTaskGetSchedulerState

task.h

portBASE_TYPE xTaskGetSchedulerState( void );

リターン:
(task.h の中で定義された)スケジューラの状況が次の定数の1つとして表される: taskSCHEDULER_NOT_STARTED 、 taskSCHEDULER_RUNNING 、 taskSCHEDULER_SUSPENDED


uxTaskGetNumberOfTasks

task.h

unsigned portBASE_TYPE uxTaskGetNumberOfTasks( void );

リターン:
リアルタイムカーネルが現在管理しているタスクの数。 これはすべての実行可能状態、ブロック状態、そしてサスペンド状態のタスクを含みます。 アイドル・タスクによってデリートされたが、まだフリーになっていないタスクが同じくカウントに含められる。


vTaskList

task.h

void vTaskList( portCHAR *pcWriteBuffer );

configUSE_TRACE_FACILITY 、 INCLUDE_vTaskDelete と INCLUDE_vTaskSuspend がすべて、この機能を利用可能とするため1と定義されなくてはなりません。 もっと多くの情報を得るためにコンフィグレーション。セクションを参照してください。

ノート:この関数はその時間割り込みを禁止します。 これは通常のアプリケーションのランタイム時の使用を意図していない。デバッグ支援用です.

それらの現在の状態とスタック最高使用量とともに、すべてのタスクをリストします。

タスクは次のように表記される。ブロック状態’B’、実行可能’R’、削除’D’あるいはサスペンド状態’S’

パラメータ: pcWriteBuffer   上記のもののが詳細がアスキーの形式で、書かれるバッファ。 このバッファは生成された報告を収容するに十分大きくなければならない。 タスク毎におよそ40バイトが必要である。


vTaskStartTrace

task.h

void vTaskStartTrace( portCHAR * pcBuffer, unsigned portLONG ulBufferSize );

[ユーザはもっと新しく使いやすく、いっそう強力なフック・マクロ をトレース出来るものに気付くかもしれない]

リアルタイムカーネル活量トレースを開始する。 トレースは、どのタスクがいつ走っているかについて、識別をログファイルに書きます。

トレース・ファイルはバイナリ形式で記録される。 別個のDOS ユーティリティーconvtrce.exe がこれを見ることが出来て、スプレッドシートでプロットすることができるように、タブで区分けされたテキストファイルに変換するために使われます。

パラメータ: pcBuffer   トレースを書き込むバッファ。
ulBufferSize   バイト表示での pcBuffer の大きさ。 トレースはバッファが一杯になるか、あるいは ulTaskEndTrace() が呼び出されるまで続行します。


ulTaskEndTrace

task.h

unsigned portLONG ulTaskEndTrace( void );

[ユーザはもっと新しく使いやすく、いっそう強力なフック・マクロ をトレース出来るものに気付くかもしれない。]

カーネルトレースを止める。
vTaskStartTrace() を参照のこと。

リターン:
トレースバッファに書き込まれたバイト数。


vTaskGetRunTimeStats

task.h

void vTaskGetRunTimeStats( portCHAR *pcWriteBuffer );

この機能のフルの説明のためにRun Time Statsページを見てください。

configGENERATE_RUN_TIME_STATS がこの機能を利用可能とするために1と定義されなくてはなりません。 アプリケーションは、周辺機器のタイマ / カウンターの構成を設定して、そしてそれぞれタイマの最新のカウント値を返し、portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() と portGET_RUN_TIME_COUNTER_VALUE を定義しなければならない。

周辺機器のタイマ / カウンターの構成を設定して、そしてそれぞれタイマの最新のカウント値を返し カウンターは少なくともチックカウントの10倍の周波数であるべきです。

ノート:この機能はその時間割り込みを停止する。 これは通常のアプリケーションのランタイム使用を意図していない、デバッグ支援用です。

configGENERATE_RUN_TIME_STATS を1にセットすることはトータルな蓄積された実行時間が各タスク用にストアされるという結果になる。 蓄積されたタイム値の分解能は portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() マクロによって構成を設定されたタイマの周波数に依存します。
 vTaskGetRunTimeStats () を呼び出しで、絶対カウント値としても、トータルシステム実行時間のパーセンテージとしても、バッファにそれぞれのタスクのトータルな実行時間を書き込みます。

パラメータ: pcWriteBuffer   実行時間をアスキーの形式で書かれるバッファ。 このバッファは生成された報告を収容するのに十分大きいものでなければならない。 タスク毎におよそ40バイトは用意すべきです。