/* * カーネルの起動 */ void sta_ker(void) { /* * TECSの初期化 */ #ifndef TOPPERS_OMIT_TECS initialize_tecs(); #endif /* TOPPERS_OMIT_TECS */ /* * ターゲット依存の初期化 */ target_initialize(); /* * 各モジュールの初期化 * * タイムイベント管理モジュールは他のモジュールより先に初期化 * する必要がある. */ initialize_kmm(); initialize_tmevt(); /*[ASPD1061]*/ initialize_object(); /* * 初期化ルーチンの実行 */ call_inirtn(); /* * 高分解能タイマの設定 */ current_hrtcnt = target_hrt_get_current(); /*[ASPD1063]*/ set_hrt_event(); /*[ASPD1064]*/ /* * カーネル動作の開始 */ kerflg = true; LOG_KER_ENTER(); start_dispatch(); assert(0); }
/* * カーネルの起動 * NMIを除く全ての割込みがマスクされた状態(全割込みロック状態に相当)で呼び出される. */ void sta_ker(void) { target_initialize(); initialize_object(); call_inirtn(); /* * カーネルの動作を開始する. */ kerflg = true; /* ディスパッチャを起動し,タスクの動作を開始する */ LOG_KER_ENTER(); start_dispatch(); assert(false); }