割り込みハンドラ起動回数取得 API (FMP3のみ)
GICでの割り込み番号単位で割り込みハンドラの起動回数をカウントする API です。 現時点では、FMP3のみで使用できる機能です。
注意
現状、SOLID-OSカーネルイベントコールバック機能を使って実現しているので、 ユーザが同時にカーネルイベントコールバック機能を使用することはできません。
注釈
GICベースの機能のため、TOPPERSカーネル管理外の割り込み(SOLID_INTC_Register()で登録したもの) についても起動回数をカウント出来ます。
ソリューションプロパティ
割り込みハンドラ起動回数取得 API を使用するには、カーネルイベントコールバック機能の有効化が 必要なので、ソリューションプロパティで "SOLID_SUPPORT_RTOS_EVENT_CALLBACK" を "1" に設定してください。
また、コンパイルオプションで "BasicGCCSW" の定義に、"-DENABLE_PROF_INH_COUNT"を定義します
定義の例
API
APIを使用するコードでは prof/rtos_prof.h
をインクルードしてください。
#include "prof/rtos_prof.h"
RTOS_PROF_enable_taskTime_and_inhCount
-
int RTOS_PROF_enable_taskTime_and_inhCount(void)
タスクCPU時間の積算値を取得する API 、または、割り込みハンドラの呼び出し回数を取得する API、 または、その両方を起動します。
統計情報はこのAPI呼び出し時点から積算を開始します。 最初のタスクが起動される前から有効化するためには、kernel_cfg.c で定義されている_kernel_call_global_inirtn()関数で呼び出すことを推奨します。
- 戻り値
SOLID_ERR_OK
: 正常終了それ以外: 起動失敗