Example #1
0
/* システム・タスクとユーザ・タスクの起動 */
static int start_threads(int argc, char *argv[])
{
  kz_run(consdrv_main,  "consdrv",  1, 0x100, 0, NULL);
  kz_run(command_main,  "command",  8, 0x100, 0, NULL);
  kz_run(timerdrv_main, "timerdrv", 2, 0x100, 0, NULL);
#if 0
  kz_run(clock_main,    "clock",    9, 0x100, 0, NULL);
#endif
  kz_run(netdrv_main,   "netdrv",  10, 0x100, 0, NULL);
  kz_run(ethernet_main, "ethernet",11, 0x100, 0, NULL);
  kz_run(arp_main,      "arp",     11, 0x100, 0, NULL);
  kz_run(ip_main,       "ip",      12, 0x100, 0, NULL);
  kz_run(icmp_main,     "icmp",    12, 0x100, 0, NULL);
  kz_run(tcp_main,      "tcp",     12, 0x100, 0, NULL);
  kz_run(udp_main,      "udp",     12, 0x100, 0, NULL);
  kz_run(httpd_main,    "httpd",   14, 0x100, 0, NULL);
  kz_run(tftp_main,     "tftp",    14, 0x100, 0, NULL);

  kz_chpri(15); /* 優先順位を下げて,アイドルスレッドに移行する */
  INTR_ENABLE; /* 割込み有効にする */
  while (1) {
    asm volatile ("sleep"); /* 省電力モードに移行 */
  }

  return 0;
}
Example #2
0
static int start_threads(int argc, char *argv[])
{
    kz_run(consdrv_main, "consdrv", 1, 0x200, 0, NULL);
    kz_run(command_main, "command", 8, 0x200, 0, NULL);

    kz_chpri(15);
    INTR_ENABLE;
    while(1) {
        asm volatile ("sleep");
    }
    
    return 0;
}
Example #3
0
static int start_threads(int argc, char *argv[])
{
    test09_1_id = kz_run(test09_1_main, "test09_1", 1, 0x100, 0, NULL);
    test09_2_id = kz_run(test09_2_main, "test09_2", 1, 0x100, 0, NULL);
    test09_3_id = kz_run(test09_3_main, "test09_3", 1, 0x100, 0, NULL);
    
    kz_chpri(15);
    INTR_ENABLE;
    while(1) {
        asm volatile ("sleep");
    }
    
    return 0;
}
Example #4
0
/* システム・タスクとユーザ・タスクの起動 */
static int start_threads(int argc, char *argv[])
{
  kz_run(netdrv_main,   "netdrv",  10, 0x100, 0, NULL);
  kz_run(ethernet_main, "ethernet",11, 0x100, 0, NULL);
  kz_run(arp_main,      "arp",     11, 0x100, 0, NULL);
  kz_run(ip_main,       "ip",      12, 0x100, 0, NULL);
  kz_run(tcp_main,      "tcp",     12, 0x100, 0, NULL);
  kz_run(httpd_main,    "httpd",   14, 0x100, 0, NULL);

  kz_chpri(15); /* 優先順位を下げて,アイドルスレッドに移行する */
  INTR_ENABLE; /* 割込み有効にする */
  while (1) {
    asm volatile ("sleep"); /* 省電力モードに移行 */
  }

  return 0;
}
// システム・タスクとユーザー・タスクの起動
static int start_threads(int argc, char *argv[]) {
  /* test09_1_id = kz_run(test09_1_main, "test09_1", 1, 0x100, 0, NULL); */
  /* test09_2_id = kz_run(test09_2_main, "test09_2", 2, 0x100, 0, NULL); */
  /* test09_3_id = kz_run(test09_3_main, "test09_3", 3, 0x100, 0, NULL); */
  /* kz_run(test10_1_main, "test10_1", 1, 0x100, 0, NULL); */
  /* kz_run(test11_1_main, "test11_1", 1, 0x100, 0, NULL); */
  /* kz_run(test11_2_main, "test11_2", 1, 0x100, 0, NULL); */
  kz_run(consdrv_main, "consdrv", 1, 0x200, 0, NULL);
  kz_run(command_main, "command", 8, 0x200, 0, NULL);

  kz_chpri(15);
  INTR_ENABLE;
  while (1) {
    asm volatile ("sleep");
  }
  return 0;
}
Example #6
0
int test09_2_main(int argc, char *argv[])
{
    puts("test09_2 started.\n");

    puts("test09_2 sleep in.\n");
    kz_sleep();
    puts("test09_2 sleep out.\n");
    
    puts("test09_2 chpri in.\n");
    kz_chpri(3);
    puts("test09_2 chpri out.\n");

    puts("test09_2 wait in.\n");
    kz_wait();
    puts("test09_2 wait out.\n");

    puts("test09_2 exit.\n");

    return 0;
}
Example #7
0
int test09_1_main(int argc, char *argv[])
{
  puts("test09_1 started.\n");

  puts("test09_1 sleep in.\n");
  kz_sleep();
  puts("test09_1 sleep out.\n");

  puts("test09_1 chpri in.\n");
  kz_chpri(3);
  puts("test09_1 chpri out.\n");

  puts("test09_1 wait in.\n");
  kz_wait();
  puts("test09_1 wait out.\n");

  puts("test09_1 trap in.\n");
  asm volatile ("trapa #1");
  puts("test09_1 trap out.\n");

  puts("test09_1 exit.\n");

  return 0;
}