
         TOPPERS/JSPͥ 桼ޥ˥奢 
            Xstormy16 åȰ¸

             Release 1.4.3бǽ: 06-Apr-2007

------------------------------------------------------------------------ 
 TOPPERS/JSP Kernel
     Toyohashi Open Platform for Embedded Real-Time Systems/
     Just Standard Profile Kernel

 Copyright (C) 2000-2005 by Embedded and Real-Time Systems Laboratory
                             Toyohashi Univ. of Technology, JAPAN

 嵭Ԥϡʲ (1)(4) ξ狼Free Software Foundation 
 ˤäƸɽƤ GNU General Public License  Version 2 ˵
 ҤƤ˸¤ꡤܥեȥܥեȥ
 ѤΤޤࡥʲƱˤѡʣѡۡʰʲ
 ѤȸƤ֡ˤ뤳Ȥ̵ǵ롥
 (1) ܥեȥ򥽡ɤηѤˤϡ嵭
     ɽѾ浪Ӳ̵ݾڵ꤬Τޤޤηǥ
     ˴ޤޤƤ뤳ȡ
 (2) ܥեȥ򡤥饤֥ʤɡ¾Υեȥȯ˻
     ѤǤǺۤˤϡۤȼɥȡ
     ԥޥ˥奢ʤɡˤˡ嵭ɽѾ浪Ӳ
     ̵ݾڵǺܤ뤳ȡ
 (3) ܥեȥ򡤵Ȥ߹ʤɡ¾Υեȥȯ˻
     ѤǤʤǺۤˤϡΤ줫ξ
     ȡ
   (a) ۤȼɥȡѼԥޥ˥奢ʤɡˤˡ嵭
       ɽѾ浪Ӳ̵ݾڵǺܤ뤳ȡ
   (b) ۤη֤̤ˡˤäơTOPPERSץȤ
       𤹤뤳ȡ
 (4) ܥեȥѤˤľŪޤϴŪ뤤ʤ»
     ⡤嵭ԤTOPPERSץȤդ뤳ȡ

 ܥեȥϡ̵ݾڤ󶡤ƤΤǤ롥嵭Ԥ
 TOPPERSץȤϡܥեȥ˴ؤơŬѲǽ
 ޤơʤݾڤԤʤޤܥեȥѤˤľ
 ŪޤϴŪʤ»˴ؤƤ⡤Ǥʤ

------------------------------------------------------------------------

Xstormy16 åȰ¸γ

1.1 åȥƥȳȯĶ

TOPPSER/JSPǤǤXstormy16ץåΥåȥƥȤ
ϡֻΥޥ ȯġ(Xstormy16꡼)פEVAǥХåΥߥ
졼Ķ򥵥ݡȤƤ롣
ֻΥޥ ȯġ(Xstormy16꡼)פϰʲǤ롣
http://www.semic.sanyo.co.jp/micon/jpn/index.html
Cѥޤޤ롣
Xstormy16꡼γCPUбTOPPERS/JSPϢΥեϡ嵭˿
ɲäΤǡ󥨥ߥ졼ĶǤưºݤʳȯԤ
ϡ嵭ǤǿǤΥեѤɬפ롣
ޤ嵭ȯġˤϡTOPPERS/JSP١ˤĤνԤä
ΤӥѥѤߤΥ饤֥ηǼƤΤǡ
ͥ뼫Ȥƥѥ뤹ɬפʤΤǤС嵭ȯġ
ɡ󥹥ȡ뤹ΤߤǡTOPPERS/JSPѤǤ롣

1.2 ݡȤ뵡ǽγ

Xstormy16ǤϡJSPǳĥ줿ʲεǽϥݡȤƤʤ
(1) ߥޥѹ(chg_ixx/get_ixx)
(2) ߤζػߤȵ(dis_int/ena_int)
(3) ǽɾѥƥﻲȵǽ(vxget_tim)
Xstormy16Ǥϡߤεġػߤӥ٥(ͥ)SFR(IL1L-IL2H)
ǴƤ뤿ᡢ嵭APIŬ礷ʤѹSFRؤ
äѹɬפ롣

1.3 ¾ΥåȤؤΥݡƥ

Xstormy16꡼(LC590200)ƤCPUǤCPUȤεǽ
ॹƥåѤΥޤƱλͤǼƤ롣ޤSIO
Ƥ뵡ǤƱλͤȤʤäƤΤǡ¾ΥåȤؤ
ݡƥ󥰤Ԥˡͥ뼫ȤϽɬפϤʤ
Ƥꥵ˱󥫡ץå
ɬפʥեϡ嵭ֻΥޥ ȯġ(Xstormy16꡼)
˴ޤޤƤΤǡѤ롣

1.4  ꥢݡ (UART)

EVAǥХåǤϡߥ졼Ķ󥨥ߥ졼ĶȤUART0
UART12ܤΥꥢݡȤġޤCPUǤƱͤλͤUART
ĵ郎롣
TOPPERS/JSPΥϡprintf()/scanf()ɸϤˤϡ
UART1Ѥ롣(sys_config.hLOGTASK_PORTIDѹǽ)
ꥢݡȤʲ˼
   ܡ쥤ȡ57600Baud
   ǡĹ8 ӥå
   ȥåץӥåȡ1 ӥå
   ѥƥʤ
   եʤ

Xstormy16 ץå¸εǽ

Ǥϡͥ뤪ӥƥॵӥεǽǡXstormy16¸
ʬˤĤƲ⤹롣

2.1 ǡ

signed int unsigned intΥ 16ӥåȤǤ롣

2.2 ߴǽȳߥϥɥ

2.2.1 ͥγ

Xstormy16ץޡɡ2.4Ϥ˵Ҥ줿ˡ줿
߽롼ϡͥγߤȤƵǽ롣
ͥγߤϥͥ˴Ϣ;ʬʥСإåɤ
®Ǥȿ̡ʲդɬפ롣
(1) ͥγߤͥ٤ϡƤΥͥγߤ
    ͥ٤⤯ʤФʤʤ(ͥγ߽
    ͥγߤդȡǥǥѥåȯ
    ͥγߤνǤƤޤǽ뤿
    ᡣ)
    ֻΥޥ ȯġ(Xstormy16꡼)פ˴ޤޤǤǤϡ"
    ƥȤΥӥٱ¹"ѤƤ뤿ᡢ
    ¤Ϥʤ
(2) ͥγߤγ߽롼Ǥϡͥ륵
    ƤӽФƤϤʤʤ
(3) ͥγߤǤϡȯΥå򤽤ΤޤѤ
    ᡢƤΥΥå̤ˤɬʬƤɬפ
    롣
(4) ͥγߤ⡢CPUå֤Ǥϼդʤ
    ǤXstormy16TOPPERS/JSPǤϡʬΥӥ뤬
    ǤCPUå֤ȤʤäƤΤդɬס
    ֻΥޥ ȯġ(Xstormy16꡼)פ˴ޤޤǤǤϡ
    ӥCPUåʤߥϥɥи
    Ǻ12åCPUåζ֤롣

2.2.2 ߥϥɥֹ

DEF_INH ǻꤹߥϥɥֹ(inhno)ϡXstormy16 Ǥγ
٥ֹɽΥǡ(INHNO) unsigned intƤ롣
ߥϥɥֹˤϡ0-16ǤEVAǥХåΥߥ졼
ĶǤϡʲƤ롣
  1 : Base Timer (ץꥱǻѲ)
  2 : Timer0 (ॹƥåѤ˻)
  3 : Timer1 (ץꥱǻѲ)
 16 : UART (ϡɸϤǻ)
CPUǻѲǽʳߤ㳰٥ֹˤĤƤϡ줾Υޥ
Υ桼ޥ˥奢򻲾ȡ

2.2.3 ġγߤεġػߤͥ

Xstormy16Ǥϡġγߤεġػߤͥ٤ϥͥǤϴ
IL1L/IL1H/IL2L/IL2HؤǹԤ

2.3 CPU㳰ǽCPU㳰ϥɥ

DEF_EXC ǻꤹߥϥɥֹΥǡ(EXCNO) unsigned int
Ƥ롣ʲֹ椬ǽǤ롣
  0 : ̤̿μ¹
  1 : ϤؤΥɥ
  2 : ROM/RAM̤ꥢؤΥ

2.4 ȥåץ⥸塼

Xstormy16¸Υȥåץ⥸塼(start.S)Ǥϡν
Ԥ
(1) åݥ󥿤ν
(2) .bssν
(3) .dataν
(4) ͥεư(kernel_startʬ)

2.5 󥿥ƥȤλѤ륹å

Xstormy16Ǥϡߥϥɥޤ󥿥ƥѤΥå
ơŪѿ䥿ѥåݤλĤRAMѤ롣
¹˳ߤȯ硢ߥϥɥ餬ƤӽФ
˥ͥǥåݥ󥿤󥳥ƥѤΥåڤؤ
ᡢƥѤΥåɬפʥ˳ߥϥɥ
ǻѤ륹åθɬפϤʤ
ȯPCPSWR0-R2ޤǤ¸ϥåڤ
˹Ԥ뤿ᡢ12ХʬΥꥢϥѤΥåǳݤƤ
ɬפ롣
ȥȤʤΤϡ٥룱γߤǥåڤؤľ
˥٥룲γߤȯ˥٥2ߤǤΥåڤؤľ
˥٥룳ȯȤʤ褦ʾǡɬפʥꥢϡ
12  (ͥȤȯǽΤߥ٥ο) ˤʤ롣ʬ
ΥꥢϥΥå˳ݤƤɬפ롣

3.  ƥ¸εǽ

3.1  ƥ९åɥ饤

ƥ९åɥ饤Ф˻ѤTIMER0Υ졼ϥǥեȤǤ
Xstormy16¡RCȯѤƤ롣(1MHz)
ƥ९åɥ饤Ф isig_tim ƤӽФϡsys_defs.h  
TIC_NUME  TIC_DENO Ƥ(ɸ 5ߥü)
¡RCȯѤ5ߥüǥƥå򶡵뤹ɥ饤Фϥ
ͥ饤֥(hw_timer.c)˴ޤޤƤꡢǥեȤǤϤ
󥯤뤬桼ץ¦hw_timer.cΤ
󥯤뤳ȤǡѤ륪졼ߤμǤդѹ
ȤǤ롣ξ硢ƤӽФCPUåФƽʬĹɬ
פ롣(ܰ¤ȤơƤӽФ >2000/CPUå)
Xstormy16¡RCȯϡμȿ٤㤤ᡢޤ٤ɬ
ʾϡX'tal졼ڤؤɬפ롣

3.2 ꥢ륤󥿥եɥ饤

ƥ¸Υꥢ륤󥿡եɥ饤ФϡUART0/UART1ΣĤ
ꥢ륤󥿡ե򥵥ݡȤƤ롣ݡID=1UART0ݡID=2
UART1бƤ롣
ƥѤǥեȤΥꥢݡȤϡUART1ꤷƤ롣
(GDB֤Ѥ硢UART0򤳤˻Ѥ뤿)

3.3 ޥå

EVAǥХåΥߥ졼ĶΥޥåפϰʲΤȤǤ롣
  00000-07DFF : RAM
  07E00-07FFF : SFR(Special Function Register)
  80000-7FFFF : ROM
ͥѤΥǡΰ衦桼ץѤΥǡΰ衢ӥ
ѤΥå00000ϤݤĤRAM󥿥ƥѤ
å(̤)ӥҡץ(̤)ȤƻѤ롣

ȯĶι

4.1 󶡤ΥեѤ

ֻΥޥ ȯġ(Xstormy16꡼)פˤϡѥѤߤΥ
֥JPSͥޤࡢѥ顦ǥХå糫ȯĶ
WindowsǳȯɬפƤΥե뤬ޤޤƤΤǡ̾ϡ
ɡ󥹥ȡ뤹뤳ȤTOPERS/JSPѤǤ롣
ֻΥޥ ȯġ(Xstormy16꡼)פ
http://www.semic.sanyo.co.jp/micon/jpn/index.html
ɤǤ롣
ȯġ˴ޤޤ벼ΥɥȤ򻲾ȤΤȡ
   TOPPERS/JSP桼ΤΥեȥƥåץ
   Xstormy16 ץޡ

4.2 θǤѤ

θǤѤ硢ʲμǳȯĶۤ롣

Step1 Υޥ ȯġ(Xstormy16꡼)Υ󥹥ȡ
[긵]
http://www.semic.sanyo.co.jp/micon/jpn/index.html
[󥹥ȡ]
(1) ֤ष󥹥ȡ¹Ԥ롣
(2) 󥹥ȡ餫䤤碌ˤϡƥǥեȤǥ󥹥ȡ
(3) 󥹥ȡ뤵줿IDEư
(4) IDEΥ˥塼[ġ]->[DOSץץ]ư
(5) DOSץץǡޥ"Prepare_perl.bat"¹(󥹥ȡ
    ٤¹Ԥɤ)

Step2 TOPPERS/JSPȽ
[긵]
http://www.toppers.jp/
ꡢTOPPERS/JSP Ver1.4.3Υ(SJIS)ɡ
[]
(1) ֤ǤդΥǥ쥯ȥ(ǤC:\jspȤ)˲
(2) Step1ǥ󥹥ȡ뤷Υǥ쥯ȥˤcfg.exechk.exe
    C:\jsp\cfg˥ԡƤ
      C:\Program Files\SanyoLsi\Gcc\for_toppers\bin
(3) षǥ쥯ȥβ˺ѥǥ쥯ȥobj(ǤC:\jsp\obj)
    

Step3 JSPͥȥץץΥѥ
(1) Step1(4)ǳDOSץץȤǡStep2(3)Ǻǥ쥯ȥ
    (C:\jsp\obj)˰ư롣
(2) ʲΥޥɤ¹
    ˼¹ԤСC:\jsp\obj\jsp.elf 
    perl ../configure -C xstormy16 -S simulator
    make depend
    make
(3) DOSץץȤĤ

Step4 EVAǥХåߥ졼ĶǤμ¹
[]
(1) WindowsꡢStep3(2)Ǻ줿C:\jsp\obj\jsp.elf֥륯
    åEVAǥХåư롣
(2) ֥ߥ졼⡼ɤǵưޤפ䤤ˡ֤Ϥפ򥯥å
    EVAǥХå򥨥ߥ졼⡼ɤǵư
(3) F5򲡤ƥץ򳫻ϤȡUSERɥ˰ʲɽФ
    ưƤ
      JSP Kernel Release......
          : ά
      task1 is running (001). |
      task1 is running (002). |
          :
(4) USERɥΥޥ˰ʲΥޥɤ
      < t[Enter]     ('<''t'δ֤˥ڡɬ)
    task1ter_tsk졢task2ưФ
    (ץץǻѤǤ't'ʳΥޥɤˤĤƤϡsample1.c
    ƬΥȻ)

¾

5.1 ǥ쥯ȥꡦե빽

Xstormy16 åȰ¸γƥեγפϼ̤ꡣ

    config/xstormy16/
      Makefile.config  Makefile  Xstormy16¸
      cpu_config.c     ץå¸δؿ
      cpu_config.h     ץå¸ι
      cpu_context.h    ƥ
      cpu_defs.h       ץå¸Υץꥱ
      cpu_insn.h       饤󥢥֥롼
      cpu_rename.def   ͥ̾Υ͡
      cpu_rename.h     ͥ̾Υ͡
      cpu_unrename.h   ͥ̾Υ͡
      cpu_sfrs.h       ͥǻѤSFR
      cpu_stdio.h      ɸϥݡȤΤδؿ
      cpu_support.S    ץå¸Υ֥롼
      hw_serial.h      SIOɥ饤Фι
      hw_serial.c      SIOɥ饤Фδؿ
      hw_serial.cfg    SIOɥ饤ФΥե졼ե
      hw_timer.h       ޥɥ饤Фι
      hw_timer.c       ޥɥ饤Фδؿ
      offset.h         ֥餫C¤ΥΤ
      start.S          ȥåץ⥸塼
      tool_config.h    ȯĶ¸ι
      tool_defs.h      ȯĶ¸Υץꥱ
    config/xstormy16/simulator/
      Makefile.config  Makefile  ƥ¸
      sim_32k.ld       ߥ졼Ķѥ󥫡ץ
      sim_32k.S        EVAǥХåΤε
      sys_config.c     ƥ¸δؿ
      sys_config.h     ƥ¸ι
      sys_defs.h       ƥ¸Υץꥱ
      sys_rename.def   ͥ̾Υ͡
      sys_rename.h     ͥ̾Υ͡
      sys_unrename.h   ͥ̾Υ͡

ʾ
