(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)