(toppers-users 1161) Re: hello world Ūʤ

Honda Hiroki hhonda ipflex.com
2003ǯ 9 2 () 20:29:16 JST


äˤʤޤԡեåҤĤǤ

> > 㤨 "hello world" ɽץˤϡޤ
> > ե̾Ƥ򲿽֤ơƬιԤ
> > #include <stdio.h> 񤤤ơѥ餬ư褦 path 
> > ꤷƥޥɥ饤󤫤 cc Ϥ...
>
> ʤۤɡץκˡ˳ȯĶʥץ뤿Ρ
> ˡ˴ؤȤΤ褦˻פޤΤˡɤ˥ե
> ֤ơɤΤ褦˥ץ񤤤ƤФ褤ȤǤϡ
> 夤⤷ޤ

 TOPPERS ˼Ȥ߻Ϥ᤿ȤˤޤITRON4.0 
ΤƤͤȤΤʤ鸽ǽʬɡITRON4.0 γؽ
ȤƻȤˤϥӥʡȡ

sample1 ϤƸȤ֤Ϥäåʥץ
Makefile ⤳ʤʣʤʡhello world ʤäȴñ Makefile 
ǤʡפȻפޤؽʤƤˡhello world 
Ǥ sample1 Ʊ餤ʣ Makefile ɬפȤ狼äƤӤäꡣ

# Ȥˡͥ륳ե졼Υϡɥ뤬⤤Ǥ
# 򤷤ƤޤСŪʻųݤȻƱǤΤǤ

Ȥ߹߸ RTOS Ǥ TOPPERS ˤȤäơhello world ץ
ưץפȤƤ̵̣Ȼפޤüʥӥɼɬפ
 TOPPERS ˤȤäơhello world ץϡ֥ӥɼ祵ץ
ȤͭȻפޤ

ʲΤ褦ʳդǥӥɼޥǤ褦ʥ塼ȥꥢ
Ф줷⡢ȴޤ

  Step 1: ñȯ hello world ץӥɤ褦

    void main_task(VP_INT exinf) {
      syslog(LOG_NOTICE, "Hello, world");
      kernel_exit();
    }

    ݥȡ
      main() ʤprintf() ʤexit() ʤ
      Makefile  CFLAGS  -I ꤬ɬס
      Makefile  OBJS  hello.o ʳˤɬס
      ե졼󵭽ҥե뤬ɬס
      Makefile ˥ե졼εҤɬס

  Step 2: Ϣȯ hello world ץӥɤ褦

    void main_task(VP_INT exinf) {
      UINT count = 0;
      while (1) {
        syslog(LOG_NOTICE, "Hello, world %u", count++);
        dly_tsk(1000);
      }
    }

    ݥȡ
      եҥե #include "timer.cfg" ɬס

  Step 3: ޥ hello world ץӥɤ褦

    void main_task_A(VP_INT exinf) {
      UINT count = 0;
      while (1) {
        syslog(LOG_NOTICE, "Task A %u", count++);
        dly_tsk(1000);
      }
    }
    void main_task_B(VP_INT exinf) {
      UINT count = 0;
      while (1) {
        syslog(LOG_NOTICE, "Task B %u", count++);
        dly_tsk(800);
      }
    }

    ݥȡ
      CRE_TSK() ǥޥȤȤ򤹤롣

  Step 4: ɶͭޥץӥɤ褦

    void main_task(VP_INT exinf) {
      UINT count = 0;
      ID tskid;
      get_tid(&tskid);
      while (1) {
        syslog(LOG_NOTICE, "Task %d: %u", tskid, count++);
        dly_tsk((INT)exinf);
      }
    }

    ݥȡ
      CRE_TSK() ΰΰ̣򤹤롣

  ġ

  # ä¤٤ƤߤƤ Step 1 񤷤äƤΤ
  # ߵ郎⤤ȸʤǤ礦͡

ޤŪ˾ȸФäڤˡ§ŬѤ줽ʤΤ(^^)
դǼ餤ޤ

====
ԡեå
R&D 󥿡
Ĺ (hhonda  ipflex.com)