GadgetSeed  0.9.6
init.c ファイル

GadgetSeed カーネル初期化 [詳解]

#include "sysconfig.h"
#include "gadgetseed.h"
#include "system.h"
#include "device.h"
#include "interrupt.h"
#include "console.h"
#include "timer.h"
#include "tkprintf.h"
#include "memory.h"
#include "font.h"
#include "sysevent.h"
#include "device/timer_ioctl.h"
#include "task/task.h"
#include "task/syscall.h"
#include "task/task_opration.h"
init.c の依存先関係図:

[ソースコード]

マクロ定義

#define GSC_KERNEL_INITIALTASK_STACK_SIZE   (1024*2)
 < $gsc カーネル初期化タスクのスタックサイズ
 
#define xstr(s)   str(s)
 
#define str(s)   #s
 

関数

static void register_kernel_message_out_device (void)
 
void display_bunner (void)
 
void init_sect (void)
 
int initial_task (char *arg)
 イニシャルタスク [詳解]
 
void startup (void)
 タスクコンテキストで実行される初期化処理 [詳解]
 
void init_gs (int *argc, char ***argv)
 カーネルを初期化する [詳解]
 

変数

const char arch_name [] = xstr(GSC_ARCH)
 
const char cpu_name [] = xstr(GSC_CPUNAME)
 
const char system_name [] = xstr(GSC_SYSTEM)
 
struct st_device GSC_KERNEL_ERROUT_DEVICE
 $gsc エラーメッセージ出力デバイス
 
struct st_device GSC_KERNEL_TIMER_DEVICE
 $gsc カーネルタイマデバイス
 
struct st_device GSC_KERNEL_MESSAGEOUT_DEVICE
 $gsc カーネルメッセージ出力デバイス
 
static struct st_tcb init_task_tcb
 
static unsigned int init_task_stack [GSC_KERNEL_INITIALTASK_STACK_SIZE/sizeof(unsigned int)]
 
int flg_init_task_run = 0
 デバイスを登録する [詳解]
 

詳解

GadgetSeed カーネル初期化

日付
2007.12.31
著者
Takashi SHUDO

init.c に定義があります。

関数詳解

◆ init_gs()

void init_gs ( int *  argc,
char ***  argv 
)

カーネルを初期化する

引数
[in]argc引数の数
[in]argv引数の文字列

$gsc 文字フォント表示を有効にする

$gsc ヒープメモリを有効にする

init.c110 行目に定義があります。

参照先 init_system().

呼び出し関係図:

◆ initial_task()

int initial_task ( char *  arg)

イニシャルタスク

引数
[in]arg引数

init.c90 行目に定義があります。

参照先 startup().

呼び出し関係図:

◆ startup()

void startup ( void  )

タスクコンテキストで実行される初期化処理

$gsc TCP/IPネットワークを有効にする

$gsc コマンドシェルを有効にする

$gsc アプリケション起動関数名

$gsc アプリケション起動関数名(2番めに起動)

$gsc アプリケション起動関数名(3番めに起動)

$gsc アプリケション起動関数名(4番めに起動)

main.c144 行目に定義があります。

参照先 init_system_process(), task_sleep().

参照元 initial_task().

呼び出し関係図:
被呼び出し関係図:

変数詳解

◆ flg_init_task_run

int flg_init_task_run = 0

デバイスを登録する

引数
[in]devデバイスドライバ
[in]contextデバイスコンテキストデータポインタ(プライベートデータ)
[in]paramドライバパラメタ
戻り値
!=0:エラー

init.c81 行目に定義があります。

参照元 device_explan(), unregister_device().