
            TOPPERS/JSPͥ 桼ޥ˥奢 
               (ͥƥΥ M32R ץå)
                ͥƥΥ : M3A-2131G50

           Release 1.4 бǽ: 17-Jun-2003

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

 Copyright (C) 2000-2003 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ץȤϡܥեȥ˴ؤơŬѲǽ
 ޤơʤݾڤԤʤޤܥեȥѤˤľ
 ŪޤϴŪʤ»˴ؤƤ⡤Ǥʤ

 @(#) $Id: m32r.txt,v 1.8 2003/12/20 09:22:26 takayuki Exp $
------------------------------------------------------------------------


ΥɥȤǤϡTOPPERS/JSP M32RǤˤĤƲ⤹롥

================================
 M32R åȰ¸γ
================================

1.1 åȥƥȳȯĶ

M32RĶμ¹ԴĶȤƤϡΤΤꤷƤ롥

    ͥƥΥ M3A-2131G50 (M32102)

ޤȯĶȤƼΤΤꤷƤ롥
    Soralis/BSD/Linux(POSIX) ޤ 
        Microsoft Windows(win32) + cygwin 1.1.0
    binutils 2.11 (m32r-elf)
    gcc 2.95.3 (m32r-elf)

­

TOPPERS/JSP M32Rγȯ δĶǹԤƤ롥

    Vine Linux 2.6CR
    GNU binutils-2.13.2.1 [m32r-elf]
    GNU gcc-2.95.3 20010315

1.2 ݡȤ뵡ǽγ

    ¿ų
        M32RĶǤϳߥϥɥ鵯ư¿ųߤĤ롥

    chg_ipm
        M32RĶǤϡchg_ipm(ߥޥ٥ѹ)򥵥ݡȤ롥
        chg_ipmѤƥޥ٥ѹ硤¹Ԥ
        ǤΤѹͭȤʤ (ǥѥå˳ߥޥ
        /ѹ)

1.3 TOPPERS/JSP M32RĶ»

    vxget_tim
        M32RĶǤvxget_tim򥵥ݡȤʤ

    ena_int, dis_int
        M32RĶǤϥ桼ˤߵġػߤϹԤʤΤȤƤ롥
        ena_int/dis_intϡloc_cpu/unl_cpu̾Ȥ¸ߤ롥

    ޥƥå1ms
        TOPPERS/JSP M32RǤϡ1ms٤ǥͥ륿ޤư롥


==========================
M32RĶ˰¸ǽ
==========================

Ǥϡͥ뤪ӥƥॵӥεǽǡM32RĶ¸ʬ
ĤƲ⤹롥

2.1 ǡ

int  unsigned intΥ32ӥåȤǤ롥

ͥ٤ɽ뷿 IPR ʤ8ӥåǤ롥


==========================
ƥ˰¸ǽ
==========================

3.1 ޥå

M3A-2131G50
    0x00000000 - 0x0000020f : ٥ơ֥, EITϥɥΰ (FLASH ROM)
    0x00000210 -            : ̤ (FLASH ROM)
    0x00f00000 - 0x00f0ffff : ץ + ƥॹå (¢RAM)
    0x01000000 - 0x017fffff : ǡ (SDRAM 8MB)

M3A-2131G50¸ǤϡǥեȤ¢RAM˥ץ֤褦
ʤäƤ롥¢RAM˥ץ֤뤿ˤϡ٥ơ֥
(0x00000000-0x0000020f)ΰ0xFF3C0000 (BRA PC+0x00F00000)ɬ
פ롥

åΰ¢RAMΰ饢ɥ쥹ͤؿʤࡥ
ǡΰϽΰ褫饢ɥ쥹ͤäسݤ롥

M3A-2131G50¸Ǥϡƥॹå٤ƤΥǡSDRAM
֤뤳ȤǥեȤȤƤ롣֤Ѥ뤿ˤϡM3A-2131G50
󥫥ץȥե(jsp/config/m32r/m3a2131g50/m32relf.ld)
Ф褤


3.2 ¾Υƥ/åפؤΥݡƥ

ݡƥ󥰺ȤϼΥƥåפʤ롥
    ޥåץɥ쥸Υɥ쥹
    ޡͤ
    RAMϤ
    ˥륹åݥ󥿤

3.2.1 ޥåץɥ쥸Υɥ쥹

TOPPERS/JSP M32RĶǤϤĤ쥸򻲾ȤƤ롥
ƥƥ¸ѥǥ쥯ȥsys_defs.hƤ롥
ѼԤɬפ˱Ƥͤ뤳ȡ

3.2.2 ޡͤ

TOPPERS/JSP M32RĶǤɸ1msȤ˳ߤȯƤ롥

ߤȯޤǤλ֤ϥޥڥ쥸ͤޥ˥奢
äĴ뤳Ȥǵ뤳ȤǤ롥

config/v850/m3a2131g50/sys_config.h:66

    /* M3A-2131G50 66MHz  115.2kbps */
#define SERIAL_PORT           (CONSOLE_PORTID-1)
#define SERIAL_INT_PRIORITY   0
#define SERIAL_CLKDIV         17
#define SERIAL_CLKCMP         7

ޤƥåΤsys_defs.h:142,143TIC_NUME
TIC_DENO롥줾ϼ˽

ƥå(ms) = TIC_NUME(ms) / TIC_DENO(ms)

3.2.3 RAMϤ

config/m32r/m3a2131g50/m32relf.ldMEMORYƤ뤳Ȥǡ
ΥӰ֤Ѥ뤳ȤǤ롣ޤƥˤ 
"> SDRAM" ޤ "> EXTROM"Ѥ뤳Ȥǡ֤֤Ѥ뤳Ȥ
ǽǤ롣

3.2.4 ˥륹åݥ󥿤

ưꤵåݥ(ߥåݥ)Ϥ
config/m32r/m3a2131g50/m32relf.ld:41__stack˵ҤƤ롥
__stackˤ4Хȥ饤󤵤줿ͤǼ롥

config/m32r/(sys)/m32relf.ld:41
    PROVIDE(__stack = 0x00f10000);

åϥץǥȥåǤ뤿ᡤ__stackǼ줿ɥ쥹
ˤϲǼʤȤդ줿

3.2.5 ¾

    Ѥ륿ޥ˥åȤֹ
        config/m32r/(sys)/sys_config.h:72 TIMER_PORT
            Ѥ륿ޥ˥åֹ롣ǥեȤ5ɸξ
            ֤Ǥϡǡֹ쥸ɥ
            ʤɤ⽤롣

    󥽡˻ѤUART˥åȤID
        config/m32r/(sys)/sys_config.h:61 CONSOLE_PORTID
            󥽡ȤƻѤUART˥åIDꤹ롣UART˥
            ID1Ϥޤ뤳ȤաǥեȤ1

    װκ
        config/m32r/(sys)/sys_config.h:55 NUM_INTERRUPT
            ߥ٥ơ֥뤿γװκ
            롣ǥեȤ64 (0-63)


==================
ȯĶι
==================

ȯĶιˡˤĤƤϡGNUȯĶۥޥ˥奢򻲾Ȥ뤳ȡ
CPṲ뤿Υå̾ m32r-elf Ǥ롥

==========
¾
==========

5.1 ǥ쥯ȥꡦե빽

[jsp]
  +- [doc]
  |   +- m32r.txt  : Υե
  +- [config]
      +- [m32r]
          +- cpu_config.c    : ץå¸⥸塼
          +- cpu_config.h    : ץå¸⥸塼
          +- cpu_context.h   : ƥ롼
          +- cpu_defs.h      : CPU¸(/㳰ֹʤ) ե
          +- cpu_support.S   : CPU¸֥쥳ǥ
          +- m32rasm.inc     : ֥ѥ󥯥롼ɥե
          +- m32relf.ld      : 󥫥ץ (M32R )
          +- Makefile.config : CPU¸Makefile
          +- makeoffset.c    : ¤ΥեåȰּ
          +- start.S         : ȥå / ߥϥɥ
          +- cpu_rename.h    : ܥ̾Ͳإå
          +- cpu_unrename.h  :  Ʊ
          +- cpu_rename.def  : Ͳоݥܥե
          +- tool_defs.h     : ϰ¸
          +- tool_config.h   : ȥ졼ǽե (б)
          +- [m3a2131g50]
              +- hw_serial.h     : ꥢ (M32R¢ƱSIO)
              +- hw_serial.c     :  Ʊ
              +- hw_timer.h      :    (M32R¢)
              +- m32relf.ld      : M3A-2131G50ѥ󥫥ץ
              +- Makefile.config : ƥ¸Makefile
              +- sys_config.h    : ƥ¸⥸塼
              +- sys_config.c    : ƥ¸⥸塼
              +- sys_defs.h      : ƥ¸ե
              +- sys_support.S   : ƥ¸֥
              +- sys_rename.h    : ܥ̾Ͳإå
              +- sys_unrename.h  :  Ʊ
              +- sys_rename.def  : Ͳоݥܥե


==================
С
==================

    2003ǯ0617  Release 1.4
        ĤѹˤʤäΤǡ˹碌
    2003ǯ0421  Release 1.4
        TOPPERS/JSP rel 1.4ˤ碌ȤԤ
    2002ǯ0809  Release 1.2
        VDECߥʡٶ̤ȿ
            32ӥåȥܥɤshigh/low̿ѹ
    2002ǯ0806  Release 1.1
        lock_cpu/unlock_cpuΥ饤󥢥֥국
            ˲쥸ΥꥹȤ񤯤Τ˺ƤΤ
        ֥Υ٥դ
            ǥեȥѥ륪ץ-O0-O2
        ɤΰ "V850" εҤäΤ
    2002ǯ0415  Release 1.0
        M32R¸ ꡼
    2002ǯ0310  Release 0.2
        å66MHzˡѥޤ0->5ء
        ɥ
    2002ǯ0301  Release 0.1
        ǽΥ꡼
