#include "kernel_impl.h"
#include "time_event.h"
#include <sil.h>
マクロ定義 | |
#define | LOG_KER_ENTER() |
#define | LOG_KER_LEAVE() |
#define | LOG_EXT_KER_ENTER() |
#define | LOG_EXT_KER_LEAVE(ercd) |
関数 | |
void | sta_ker (void) |
ER | ext_ker (void) |
void | exit_kernel (void) |
変数 | |
bool_t | kerflg = false |
void exit_kernel | ( | void | ) |
参照先 assert, call_atexit(), call_terrtn, と target_exit.
00153 { 00154 /* 00155 * 終了処理ルーチンの実行 00156 */ 00157 call_terrtn(); 00158 00159 /* 00160 * atexitの処理とデストラクタの実行 00161 */ 00162 call_atexit(); 00163 00164 /* 00165 * ターゲット依存の終了処理 00166 */ 00167 target_exit(); 00168 assert(0); 00169 }
ER ext_ker | ( | void | ) |
参照先 assert, call_exit_kernel, kerflg, LOG_EXT_KER_ENTER, LOG_KER_LEAVE, SIL_LOC_INT, と SIL_PRE_LOC.
参照元 main_task().
00123 { 00124 SIL_PRE_LOC; 00125 00126 LOG_EXT_KER_ENTER(); 00127 00128 /* 00129 * 割込みロック状態に移行 00130 */ 00131 SIL_LOC_INT(); 00132 00133 /* 00134 * カーネル動作の終了 00135 */ 00136 LOG_KER_LEAVE(); 00137 kerflg = false; 00138 00139 /* 00140 * カーネルの終了処理の呼出し 00141 * 00142 * 非タスクコンテキストに切り換えて,exit_kernelを呼び出す. 00143 */ 00144 call_exit_kernel(); 00145 assert(0); 00146 }
void sta_ker | ( | void | ) |
参照先 assert, call_inirtn, initialize_object, initialize_tmevt, kerflg, LOG_KER_ENTER, start_dispatch, と target_initialize.
00085 { 00086 /* 00087 * ターゲット依存の初期化 00088 */ 00089 target_initialize(); 00090 00091 /* 00092 * 各モジュールの初期化 00093 * 00094 * タイムイベント管理モジュールは他のモジュールより先に初期化 00095 * する必要がある. 00096 */ 00097 initialize_tmevt(); 00098 initialize_object(); 00099 00100 /* 00101 * 初期化ルーチンの実行 00102 */ 00103 call_inirtn(); 00104 00105 /* 00106 * カーネル動作の開始 00107 */ 00108 kerflg = true; 00109 LOG_KER_ENTER(); 00110 start_dispatch(); 00111 assert(0); 00112 }
Copyright © 2008 by Kijineko Inc.