예제 #1
0
파일: main.c 프로젝트: forest1040/kozos
int main(void)
{
  INTR_DISABLE; /* 割込み無効にする */

#ifdef SIMULATOR
  extern int bss_start, ebss;

  memset(&bss_start, 0, (long)&ebss - (long)&bss_start);

  /* ソフトウエア・割り込みベクタを初期化する */
  softvec_init();

  /* シリアルの初期化 */
  serial_init(SERIAL_DEFAULT_DEVICE);

#if 0
  /* DRAMの初期化 */
  dram_init();
#endif
#endif

  puts("kozos boot succeed!\n");

  /* OSの動作開始 */
  kz_start(start_threads, "idle", 0, 0x100, 0, NULL);
  /* ここには戻ってこない */

  return 0;
}
예제 #2
0
파일: main.c 프로젝트: xtanabe/12step
static int init(void)
{
	extern int erodata, data_start, edata, bss_start, ebss;

	memcpy(&data_start, &erodata, (long)&edata - (long)&data_start);
	memset(&bss_start, 0, (long)&ebss - (long)&bss_start);

	softvec_init();

	serial_init(SERIAL_DEFAULT_DEVICE);

	return 0;
}
예제 #3
0
static int init(void) {
  // 以下はリンカ・スクリプトで定義してあるシンボル。
  extern int erodata, data_start, edata, bss_start, ebss;

  // データ領域とBSS領域を初期化する。
  memcpy(&data_start, &erodata, (long)&edata - (long)&data_start);
  memset(&bss_start, 0, (long)&ebss - (long)&bss_start);

  // ソフトウェア・割込みベクタを初期化する
  softvec_init();
  
  // シリアルの初期化。
  serial_init(SERIAL_DEFAULT_DEVICE);

  return 0;
}
예제 #4
0
파일: main.c 프로젝트: monyuonyu/pinokernel
void init()
{
	extern int bss_start, bss_end, data_start, data_end, rodata_end;

	memset(&bss_start, 0, (long)&bss_end - (long)&bss_start);					// Bssセクション初期化
	memcpy(&data_start, &rodata_end, (long)&data_end - (long)&data_start);		// dataセクション初期化
	memset(&buf_start, 0, (long*)0x600);										// bufセクション初期化

	// 割り込みDISABLE
	INTERUUPT_DISABLE

	// ソフト割り込み初期化
	softvec_init();

	// シリアル通信初期化
	sci_init(SCI_NO_1, BitRate_type_br9600);

	boot_main();
}
예제 #5
0
파일: main.c 프로젝트: kshimo69/h83069fos
static int init(void)
{
    /* 以下はリンカ・スクリプトで定義してあるシンボル */
    extern int erodata, data_start, edata, bss_start, ebss;

    /*
     * データ領域とBSS領域を初期化する。この処理以降でないと、
     * グローバル変数が初期化されていないので注意。
     */
    memcpy(&data_start, &erodata, (long)&edata - (long)&data_start);
    memset(&bss_start, 0, (long)&ebss - (long)&bss_start);

    /* ソフトウェア割込みベクタを初期化する */
    softvec_init();

    /* シリアルの初期化 */
    serial_init(SERIAL_DEFAULT_DEVICE);

    return 0;
}
예제 #6
0
static int init(void)
{
	/* Followings are the symbols defined in linker script. */
	extern int erodata, data_start, edata, bss_start, ebss;

	/*
	 * Initialize the data area and BSS area. After the procedure,
	 * global variables are initialized.
	 */
	memcpy(&data_start, &erodata, (long)&edata - (long)&data_start);
	memset(&bss_start, 0, (long)&ebss - (long)&bss_start);

	/* initialize the software interruption vector */
	softvec_init();

	/* Initialize the serial device. */
	serial_init(SERIAL_DEFAULT_DEVICE);

	return 0;
}