------------------------------------------------------------------------------
  Hyper Operating System V4  ITRON4.0 Real-Time OS                      
    ե졼 ɥ                                         
                                                                              
                                       Copyright (C) 1998-2003 by Project HOS 
                                       http://sourceforge.jp/projects/hos/    
------------------------------------------------------------------------------



1. 

  ܥɥȤ Hyper Operating System V4ʰʲ HOS-V4ˤ
ե졼(hos4cfg)ˤĤƤ򵭺ܤޤ



2. ե졼Υᥤ

  hos-v4/config ʲ˥ե졼Υե뤬ޤ
ޤϡᥤơhos4cfg ɬפޤ
  WindowsѤǤȡ̵ѤǤ Borland-C++ Ver 5.5 ѤΥᥤ
ե뤬 bcc55.mak gccĶǤȡgcc.mak ޤΤ
򻲹ͤ˥ᥤԤäơ夬ä hos4cfg ѥ̤ä
ǥ쥯ȥ֤Ƥ



2. ե졼λȤ

  ե졼λͼΤ⡢ITRON4.0 ͤˤä
ޤΤǡޤ http://www.assoc.tron.org/itron/SPEC/mitron4-j.html
ۤΡͽ򤴰ɤ뤳Ȥ򤪴ᤷޤ
  绨ĤήȤޤƤϡŪAPI򵭺ܤޤsystem.cfg 
CץץåǽƤˡhos4cfg ǽ뤳Ȥˤ
kernel_id.h(IDʤɤإåե)ȡkernel_cfg.c(ͥ
֥ȤŪʤɡˤޤ
  ϡkernel_cfg.c 򥳥ѥ뤷ƥ󥯤뤳ȤǡHOS-V4Ѳǽ
ʤޤ



3. HOS-V4ѤǤŪAPI

  ITRON4.0 ɸ API
    CRE_TSK, DEF_TEX, CRE_SEM, CRE_FLG, CRE_DTQ, CRE_MBX, CRE_MBF,
    CRE_MPF, CRE_CYC, ATT_ISR, ATT_INI, INCLUDE

  HOS-V4 ȼ API
    HOS_IDL_STK, HOS_INT_STK, HOS_INT_SP, HOS_MAX_TPRI, HOS_KERNEL_HEAP,
    HOS_TIM_TIC, HOS_MIN_INTNO, HOS_MAX_INTNO, HOS_MAX_TSKID,
    HOS_MAX_SEMID, HOS_MAX_FLGID, HOS_MAX_DTQID, HOS_MAX_MBFID,
    HOS_MAX_MBXID,HOS_MAX_MPFID, HOS_MAX_CYCID, HOS_MAX_ISRID



4. ŪAPI

  ITRON4.0 ɸ API ˤĤƤ ITRON4.0  򤴻Ȥ
   Ǥ HOS ȼ API ˤĤƤΤޤ


4.1 ɥΥåλ

  API
      HOS_IDL_STK(SIZE idlstksz, VP idlstk);

  ڥѥ᡼
      SIZE   idlstksz     ɥΥåΥ
      VP     idlstk       ɥΥå

  ڵǽ
      ͥϼ¹Ԥ륿ʤ硢ͥǥɥ롼פ
    ¹ԤޤAPIǤϥɥ롼׼¹Υåꤷޤ
      idlstk ˻ꤵ줿ɥ쥹顢idlstksz ǻꤵ줿ʬ
    ΰ򥢥ɥΥå˳Ƥޤ
      idlstk  NULL ꤷ硢idlstksz ǻꤵ줿򥳥ե
    졼ưŪ˳ݤޤ
      ꤷʤǥեȤǥ128Ȥʤޤ

  ­
      ɥɬץå̤ϡ߻˳ѥå
    ڤؤޤǤκ¤Υȥ쥸ʬǤ
      ɬפ̤ϥץå䥳ѥʤɤδĶ˰¸١
    ŬͤǤͤˤʤäƤޤ


4.2 ߻Υåλ

  API
      HOS_INT_STK(SIZE intstksz, VP intstk);
      HOS_INT_SP(VP intsp);

  ڥѥ᡼
      SIZE   intstksz     ߻ΥåΥ
      VP     intstk       ߻Υå
      VP     intsp        ߻νåݥ

  ڵǽ
      ߤȯ硢åϳѥåڤؤޤ
      APIǤϳ߻ڤؤ륹åꤷޤ
      HOS_INT_STK  HOS_INT_SP ƱˤѤǤɤ餫Ѥ
    Ԥޤ
      HOS_INT_STK Ǥϡintstk ˻ꤵ줿ɥ쥹顢intstksz ǻ
    줿ʬΥΰ߻Υå˳Ƥޤ
      intstk  NULL ꤷ硢intstksz ǻꤵ줿򥳥ե
    졼ưŪ˳ݤޤ
      HOS_INT_SP Ǥϡintsp ˳ȯΥåݥͤľܻ
    Ǥޤ
      ɤAPIꤷʤ硢ե졼ϳѥå
    ݥ󥿤ޤӳ߻νåݥͤǼ
    const VP   kernel_int_sp ȤХѿƤ

  ­
      ߻ΥåϵưνåͤȶͭǤ١
    åץ롼ˤơkernel_int_sp ʾ礬ͤޤ
      ΰ١ǥեȤ kernel_int_sp ʤͤˤƤޤ


4.3 祿ͥ٤λ

  API
      HOS_MAX_TPRI(PRI maxpri);

  ڥѥ᡼
      PRI     maxpri      Ѥͥ

  ڵǽ
      ͥǳݤ롢ǥ塼οѹޤ
      ǥ塼ͥ٤οѰդޤΤǡѤ
    ͥ٤οŪ뤳Ȥǥ󤬲ǽȤʤޤ
      ꤷʤǥեȤ 16 Ȥʤޤ


4.4 ͥҡץλ

  API
      HOS_KERNEL_HEAP(SIZE heapsize);

  ڥѥ᡼
      SIZE   heapsize     륫ͥѥҡץΥ

  ڵǽ
      cre_tskcre_sem ʤɤΡ֥ȤưŪԤ API Ѥ
    ˥ͥ뤬ƤҡץΥꤷޤ
      ֥ȤưŪѤʤˤפǤ
      ꤷʤǥեȤǥ0Ȥʤꡢ֥ȤưŪ
    ʤʤޤ


4.5 ƥåμλ

  API
      HOS_TIM_TIC(UW nume, UW deno);

  ڥѥ᡼
      UW      nume        ƥåμʬ
      UW      deno        ƥåμʬ

  ڵǽ
      isig_tim ˤƥͥ˶뤹륿ƥåμꤷޤ
      㤨С 10/1 ꤷ硢isig_tim 򣱲ƤӽФȤ
    ͥΥƥ10ʤߤޤ
      դ 1/3 ʤɤꤷˤϡisig_tim  3ƤӽФƽ
    ƥ1ʤߤޤ
      ꤷʤǥեȤ 1/1 Ȥʤޤ

  ­
      㤨  3.333... ms Υ󥿡Х륿ޤˤơisig_tim 
    ƤӽФƥñ̻֤ ms 줷ʤɤ 10/3 
    ꤹСisig_tim  ƤӽФȤˡ3, 3, 4, 3, 3, 3, 4...
    Ȥä3 isig_tim θƤӽФǡƥ郎 10 ʤ
    褦ˤʤޤ


4.6 ֹϰϤλ

  API
      HOS_MIN_INTNO(INTNO minintno);
      HOS_MAX_INTNO(INTNO maxintno);

  ڥѥ᡼
      INTNO   minintno    ֹκǾ
      INTNO   maxintno    ֹκ

  ڵǽ
      ֹκͤȺǾͤꤷޤ
      ץåˤѤǤϰϤۤʤޤΤǤ
    ꤷƤ
      Ѳǽͤϡ0ޤͤȤʤޤ
      ꤷʤǥեȤǺ硢Ǿ 0 Ȥʤޤ

  ­
     ץåˤäƤϡȾץå㳰ꥻåȤʤɤ
    ƤƤꡢֹ椬Ⱦֹ椫Ϥޤ뤳Ȥ
    Τ⤢١ǾͤǤ褦ˤʤäƤޤ
      ꤷϰϤʬߴơ֥ޤ
    ǡץåǤƤƤѤʤϰϤ򳰤ʤɤ
    κ︺ԤȤǽǤ


4.7 ֥ȤκIDλ

  API
      HOS_MAX_TSKID(ID maxtskid);
      HOS_MAX_SEMID(ID maxsemid);
      HOS_MAX_FLGID(ID maxflgid);
      HOS_MAX_DTQID(ID maxdtqid);
      HOS_MAX_MBXID(ID maxmbxid);
      HOS_MAX_MBFID(ID maxmbfid);
      HOS_MAX_MPFID(ID maxmpfid);
      HOS_MAX_CYCID(ID maxcycid);
      HOS_MAX_ISRID(ID maxisrid);

  ڥѥ᡼
      ID      maxtskid    IDκ
      ID      maxsemid    ޥեIDκ
      ID      maxflgid    ե饰IDκ
      ID      maxdtqid    ǡ塼IDκ
      ID      maxmbxid    ᡼ܥåIDκ
      ID      maxmbfid    åХåեIDκ
      ID      maxmpfid    ĹסIDκ
      ID      maxcycid    ϥɥIDκ
      ID      maxisrid    ߥӥ롼IDκ

  ڵǽ
      ƥ֥ȤIDκͤꤷޤ
      ꤷʤǥեȤǥե졼
    ֥ȤѤƤIDֹˤʤޤ

  ­
      cre_tsk  cre_sem ȤäưŪ˥֥Ȥ
    硢ǻꤷϰϤĶIDѽޤ
      ʤǻꤷͤϡͥǤ ID ȥ֥Ȥ
    ӤĤơ֥Υ˱ƶޤưŪ˥֥
    ΤΤΥϥͥҡפӳݤޤ


4.8 ֥Ȥͽ

  API
      HOS_RES_TSKOBJ(ID tskobjno);
      HOS_RES_SEMOBJ(ID semobjno);
      HOS_RES_FLGOBJ(ID flgobjno);
      HOS_RES_DTQOBJ(ID dtqobjno);
      HOS_RES_MBXOBJ(ID mbxobjno);
      HOS_RES_MBFOBJ(ID mbfobjno);
      HOS_RES_MPFOBJ(ID mpfobjno);
      HOS_RES_CYCOBJ(ID cycobjno);

  ڥѥ᡼
      ID      tskobjno    ͽ󤹤륿֥ȿ
      ID      semobjno    ͽ󤹤륻ޥե֥ȿ
      ID      flgobjno    ͽ󤹤륻ޥե֥ȿ
      ID      dtqobjno    ͽ󤹤ǡ塼֥ȿ
      ID      mbxobjno    ͽ󤹤᡼ܥå֥ȿ
      ID      mbfobjno    ͽ󤹤åХåե֥ȿ
      ID      mpfobjno    ͽ󤹤ס륪֥ȿ
      ID      cycobjno    ͽ󤹤ϥɥ饪֥ȿ

  ڵǽ
      ͽ󤹤륪֥ȿλԤʤޤλ꤬ȡ
    Ūʬ˲äͽ xxxobjnoΥ֥ȤͥϿ
    ǽˤʤޤ

  ­
      ŪˤHOS_MAX_XXXIDƱӤAPIǤIDκͤǤ
    ʤͽ(=ŪʬѲǽID)ꤹۤʤ
    ޤޤAPIʣ꤬졢ºݤͽ󤵤륪֥
    ϻꤵ줿ͽ¤Ȥʤޤ
      HOS_MAX_XXXIDȤ¾ŪʴطˤޤξƱ˻Ѥ뤳
    ȤϽޤ



------------------------------------------------------------------------------
 Copyright (C) 1998-2003 by Project HOS                                       
------------------------------------------------------------------------------
