startup.c

#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


マクロ定義

 
#define LOG_EXT_KER_ENTER (  ) 

startup.c63 行で定義されています。

参照元 ext_ker().

#define LOG_EXT_KER_LEAVE ( ercd   ) 

startup.c67 行で定義されています。

 
#define LOG_KER_ENTER (  ) 

startup.c55 行で定義されています。

参照元 sta_ker().

 
#define LOG_KER_LEAVE (  ) 

startup.c59 行で定義されています。

参照元 ext_ker().


関数

void exit_kernel ( void   ) 

startup.c152 行で定義されています。

参照先 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   ) 

startup.c122 行で定義されています。

参照先 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   ) 

startup.c84 行で定義されています。

参照先 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 }


変数

bool_t kerflg = false

startup.c78 行で定義されています。


Copyright © 2008 by Kijineko Inc.

ホームページ制作