|
|
|||||||||||||||||||||||||||||||||||||
t_services.hアプリケーション用 標準インクルードファイル [詳細]
t_services.hのインクルード依存関係図 ![]() このグラフは、どのファイルから直接、間接的にインクルードされているかを示しています。 ![]()
説明アプリケーション用 標準インクルードファイルこのインクルードファイルは,カーネル上で動作するプログラムのソースファイルでインクルードする標準インクルードファイルである. この中で, kernel.h (さらにここから,t_stddef.h, itron.h, tool_defs.h, sys_defs.h, cpu_defs.h, t_syslog.h) と serial.h をインクルードしている. また,アプリケーションに有益と思われる定義をいくつか含んでいる. アセンブリ言語のソースファイルやシステムコンフィギュレーションファイルからこのファイルをインクルードする時は, _MACRO_ONLY を定義しておくことで,マクロ定義以外の記述を除くことができる. t_services.h で定義されています。 マクロ定義
サービスコール s を呼び出し,返値がエラーであれば,エラーメッセージを出力し,カーネルを異常終了させる. 参照元 logtask()・serial_cls_por()・serial_opn_por()・serial_rea_chr()・serial_rea_dat()・serial_wri_chr()・serial_wri_dat()・sio_ierdy_rcv()・sio_ierdy_snd()・timer_handler().
サービスコール s を呼び出し,返値がエラーであれば,エラーメッセージを出力する.
関数
t_services.h の 96 行で定義されています。 参照先 kernel_abort()・LOG_EMERG・t_perror(). 00097 { 00098 if (ercd < 0) { 00099 t_perror(LOG_EMERG, file, line, expr, ercd); 00100 kernel_abort(); 00101 } 00102 return(ercd); 00103 }
関数の呼び出しグラフ: ![]()
t_services.h の 87 行で定義されています。 参照先 LOG_ERROR・t_perror(). 00088 { 00089 if (ercd < 0) { 00090 t_perror(LOG_ERROR, file, line, expr, ercd); 00091 } 00092 return(ercd); 00093 }
関数の呼び出しグラフ: ![]()
カーネルの終了処理
終了処理ルーチンは,アプリケーションで用意し, VATT_TER を使ってカーネルに登録する. VATT_TER によって追加された終了処理ルーチンは,カーネルの管理外の割込みを除くすべての割込みを禁止した状態で, システムコンフィギュレーションファイル中での VATT_TER の記述順と逆の順序で呼び出される. 終了処理ルーチン内では,サービスコールを呼び出してはならない.終了処理ルーチン内でサービスコールを呼び出した場合, システムの動作は保証されない (実際には,ターゲットによって,呼び出しても差し支えないサービスコールがある).
参照先 call_atexit()・call_terrtn()・cpu_terminate()・FALSE・i_lock_cpu()・iniflg・sense_context()・sense_lock()・sys_exit()・syslog_terminate()・t_lock_cpu(). 00101 { 00102 /* 00103 * 割込みを禁止 00104 */ 00105 if (!sense_lock()) { 00106 if (sense_context()) { 00107 i_lock_cpu(); 00108 } 00109 else { 00110 t_lock_cpu(); 00111 } 00112 } 00113 iniflg = FALSE; 00114 00115 /* 00116 * 終了処理ルーチンの実行 00117 */ 00118 call_terrtn(); 00119 00120 /* 00121 * atexit の処理とデストラクタの実行 00122 */ 00123 call_atexit(); 00124 00125 /* 00126 * システムログ機能の終了処理 00127 */ 00128 syslog_terminate(); 00129 00130 /* 00131 * ターゲット依存の終了処理 00132 */ 00133 cpu_terminate(); 00134 sys_exit(); 00135 }
関数の呼び出しグラフ: ![]()
t_perror.c の 48 行で定義されています。 参照先 itron_strerror()・syslog_4. 参照元 _t_panic()・_t_perror(). 00049 { 00050 syslog_4(prio, "%s reported by `%s' in line %d of `%s'.", 00051 itron_strerror(ercd), expr, line, file); 00052 }
関数の呼び出しグラフ: ![]()
Copyright © 2006 by TAKAGI Nobuhisa. Copyright © 2006 by Kijineko Inc.. このページは Mon Dec 18 17:19:41 2006 に Doxygen によって生成されました。 データ入力からプログラム開発まで!様々なスキルを持ったメンバーが登録しています【@SOHO】 |
|||||||||||||||||||||||||||||||||||||