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

            Release 1.4.4бǽ: 20-May-2011

------------------------------------------------------------------------ 
 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
 Copyright (C) 2003-2004,2007,2010,2011 by Naoki Saito
            Nagoya Municipal Industrial Research Institute, JAPAN
 Copyright (C) 2003-2004 by Platform Development Center
                                         RIOCH COMPANY,LTD. JAPAN

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

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

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

1.  M16C åȰ¸γ

1.1  åȥƥ

M16C åȰ¸ϡåȥƥȤ
ŻҳҤ OASKS16 ڤ OAKS16-MINI 򥵥ݡȤƤ롥
OAKS16 ϥץåȤ M30620FCAFP-CPU OAKS16-MINI 
M30262F8FG-CPUܤƤ롥

1.2 ȯĶȼ¹ԴĶ

ȯĶϡͥ쥯ȥ˥γȯġѤ롥
ӥɴˡȤơ2Ĥη֤ѰդƤ롥

ҤȤĤϡͥ쥯ȥ˥糫ȯĶ TM Ѥ
ȯԤˡǤ롥

⤦ҤȤĤϡDOS뤫 make ޥɤѤƳȯԤˡǤ롥
ˡϰʲξ郎ɬפǤ롥
	OAKS16 åȰ¸ǳȯԤˤΤѲǽ
	ȯġ NC30WA 饤֥ꥢѲǽǤǤ뤳
	ʺǶ̵ɾǥѥϤξƤ
	perl ѤǤ뤳

ȯĶξܺ٤˴ؤƤϡtools/M16C-RENESAS ǥ쥯ȥ
README.txt 򻲾ȤΤȡ

¹ԴĶ Windows 󥹥ȡ뤵ƤơġꥢݡȤ
ܤPC СץΥӥɤӥܡɾǤμ¹ԤǽǤ롥

1.3  ݡȤ뵡ǽγ

åȰ¸ȤƤ뵡ǽФ륵ݡȾϰʲ̤ꡥ
	ǽɾѥƥﻲȵǽ (vxget_tim)  ݡ
	ߥޥѹ (chg_ixx get_ixx)̤ݡ
	ߤζػߤȵ(dis_intena_int)̤ݡ

1.4  ¾ΥåȤؤΥݡƥ

M16C  CPU¿ΥǥХƤꡤSFR Ȥ
첽Ƥ롥Τ M16C ꡼ CPU ܤܡɤǤС
ݡƥ󥰤ưפ˽Ȼפ롥

1.5  ꥢݡ

åȥܡɤˤ UART1 ݡȤƤꡤޤ UART0 ݡȤ
ĥǽȤʤäƤ롥åȰ¸Υꥢɥ饤ФǤ 2ĤΥݡ
ɬפ˱ѲǽȤʤäƤ롥
ʤOAKS16-MINI ǤΥꥢɥ饤ФϡRAM 2KBȤΤ
XON/XOFF ڤӥεǽˤбƤʤ

ꥢݡȤʲ˼ 
	ܡ쥤ȡ19200[bps]
	ǡĹ8 ӥåȡ
	ȥåץӥåȡ1 ӥåȡ
	ѥƥʤ

1.6  оݤȤ륽ɤʸ

TOPPERSץȤ TOPPERS/JSP ͥΥѥåϡ
ʸɵڤӲԥɤ EUC+LF ڤ SJIS+CRLF  2ĤΥѥ
ѥå¸ߤ롥EUC+LFǤΥѥåǤɤŸ塤
ʸѴлѲǽȻפ뤬M16C¸Ѥϡ
SJIS+CRLF Υѥåɤ뤳Ȥ侩롥


2.  M16C ץå¸εǽ

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

2.1  ǡ

int  unsigned int Υ 16ӥåȤǤ롥ޤ_int64_ ˤ
бƤʤ

ݥ󥿤˴ؤơM16C Ǥ16ӥåĹ near ݥ󥿵ڤ 32ӥåĹ
far ݥ󥿤¸ߤ롥near ݥ󥿤 RAM ڤӥǥХΥݡΰǤ
SFR(Special Function Register) 򥢥٤Υݥ󥿤Ǥ롥
far ݥ󥿤 near ݥ󥿤ǥǽΰ˲ä
ROM ΰޤǥǽʥݥ󥿤Ǥ롥
Τ褦˥ۤʤ2Υݥ󥿤¸ߤ뤿ᡤ桼ץ
硤ݥ󥿤Υռɬפ롥

ITRON 4.0 ͤΥǡ˴ؤΥݡƥ󥰤Ǥ
VP  near ݥ󥿡VP_INT  far ݥ󥿤ȤƤ롥

ޤsize_t ΥǡˤĤƤϡͥ쥯ȥ˥
Cѥ NC30WA V.5.40 Release00 ʹߤǤǤ32ӥåȤǤ뤬
ǤΥѥǤ16ӥåȤȡꥵۤʤ뤿ᡤ
դɬפǤ롥


2.2  ߴǽȳߥϥɥ

M16C CPUå֤μϥե饰쥸γߵĥե饰(Iե饰)
ѤƹԤCPUå֤Ǥ Iե饰 0 ꤵ졤ϡɥ
ޥ֥ߤ϶ػߡʼդαˤ롥CPUå֤Ǥ Iե饰
 1 ꤵ졤(ͥ٥٥(IPL)ͤˤ뤬)ޥǽ
׵μդǽȤʤ롥

M16C ¸ˤ륫ͥγߤϡNMI ΤߤǤ롥

DEF_INH ǻꤹߥϥɥֹinhnoˤϡM16CǤΥեȥ
ֹɽΥǡINHNOˤ charƤ롥

M16C ץåǤϡߤΥɥ쥹ߥ٥ǻꤹ롥
ߥ٥ϲѥ٥ڤӸ٥鹽졤Τѥ٥
ˤĤƤ VECTOR_ADR (start.a30) ǻꤵ줿ɥ쥹Ū֤롥
ܳȯĶǤϡե졼ˤ줿 kernel_cfg.c 
ƤϤߥ٥桼ƥƥѰդƤ롥

Υ桼ƥƥ m16cvec.exe Ȥ̾Τ utils/m16c-renesas 
ǥ쥯ȥ֤졤줿 kernel_cfg.c ƤϤ
ߥ٥ե m16cvec.inc롥
m16cvec.inc ե CPU Υȥåץ⥸塼Ǥ start.a30
饤󥯥롼ɤ롥

ʤDEF_INH γߥϥɥֹȤ̤ϰϤͤꤷ硤
 DEF_INH ǻꤷؿƤʤѤγߥϥɥ
ȤƻȤ褦ˡꤵ롥
ΤᡤˡȤС桼̤ΡʤĤޤꡤDEF_INH 
ʤ˳ߤȯΥϥɥꤹ뤳ȤǤ롥


2.3  CPU 㳰ǽ CPU 㳰ϥɥ

DEF_EXC ǻꤹ㳰ϥɥֹexcnoˤϡM16CǤΥեȥ
ֹɽΥǡEXCNOˤ char Ƥ롥

CPU㳰ȤơϡɥΥޥ֥ߤȥեȥΥޥ
֥ߤ롥ϡɥΥޥ֥ߤˤĤƤϡ
ꥻåȤߥ٥꤬ǽǤ롥

CPU㳰ϥɥб٥ϡߥϥɥκݤƱͤ
m16cvec.exe Ѥ m16cvec.inc ꤹ롥
ʤCPU㳰ϥɥֹȤ̤ͤꤷϡ
ƤʤCPU㳰ϥɥΥϥɥȤꤵ롥
Τᡤ桼̤CPU㳰ȯΥϥɥ
ꤹ뤳ȤǤ롥

2.4  ȥåץ⥸塼

M16C ¸Υȥåץ⥸塼 (start.a30) ϼ˼¹
塤ͥ (kernel_start) ư롥kernel_start 
äƤ뤳ȤꤷƤʤŸľ˵ư륹ȥå
⥸塼γϤ m16cvec.inc Υ٥ _hardware_start 
Ƥ뤬줬֤륢ɥ쥹ͤϥ󥯻˷ꤵ롥

(1) åݥ󥿤

(2) CPUϢν

ץå⡼ɤȥåԤ

(3) hardware_init_hook θƽФ(̤¹)

M16C֥ϡC쥳ѥƱäץꥳѥ
ʤhardware_init_hook Ƚ꤬ǤʤбƤʤ
ºݡM16CΥϡɥ˴ؤƤϡsys_initialize()ؿǹԤä
⽽ʬбǤȹͤΤǤбƤ

(4) bss dataν

bss򥼥ꥢ롥ޤdata롥

(5) software_init_hook θƽФ

software_init_hook ͤ 0 ǤʤСsoftware_init_hook ƤӽФ
software_init_hook ϥͥ뵯ưˡեȥĶ (饤֥)
¸νԤѰդƤ롥

software_init_hook  cpu_config.c ǹԤǤ 0 ˲
Ƥ롥ȼ̤ξ software_init_hook 硤ޥ
Ȥ EXTERNAL_SOFT_HOOK 롥Τ褦ˤСѿ
ޤޤʤʤ뤿ᡤǤ꤬ǽȤʤ롥
㤨С饤֥νʤɤԤϡѿ
ԤȤǽȤʤ롥

(6) ͥεư

kernel_start ʬͥư롥kernel_start ꥿
Ƥ뤳ȤꤷƤʤ

2.5  ȯΥå̤ˤĤ

ͥ뵯ưڤӡȯϥѤΥåȤ̤γѤ
åѤƤ롥Υåΰ RAMEND Ȥޥ
ꤵ줿ɥ쥹˸ΰ˳ݤ롥
Τᡤƥ൯ưˤϤΰݤɬפ롥

ߥͥȥ٥뤬 0ʤĤޤꡤ¹ˤǳߤȯȡ
ƥѥå˥쥸¸塤ѥå
åڤؤ롥Τᡤƥѥåˤ
ѥ쥸ե饰PC ʤ 20ХȤΰ褬;ʬɬפȤʤ롥

ߥͥȥ٥뤬 1 ʾξ ʤĤޤꡤ󥿥ƥȡˤ
׵᤬դ줿硤ߥå˥쥸¸롥
ˤϳȯ20ХȤɬפǤ롥˲ä줾
߽롼ǻѤ륹åɬפȤʤ롥

3.  ƥ¸εǽ

3.1  ƥ९åɥ饤

ƥ९åɥ饤Ф isig_tim ƤӽФϡsys_defs.h 
TIC_NUME  TIC_DENO Ƥɸ 1ߥüˡ
ѹ뤳Ȥǡisig_tim ƤӽФѹ뤳ȤǤ롥
ޤ٤1äǤ뤿ᡤ1ñ̤üˤʤͤꤷ
ˤϡisig_timθƽФ˸뤳Ȥˤʤ롥

3.2  ǽɾѥƥﻲȵǽ

M16CǤϡǽɾѥƥﻲȵǽ (vxget_tim) 򥵥ݡȤƤ롥
OAKS16 Ǥ 0.0625[us]OAKS16-MINIǤ 1.6[us]Ǥ롥SYSUTIM
 UW  (32 ӥåʤ) Ǥ롥

3.3  ꥢ륤󥿥եɥ饤

OAKS16OAKS16-MINI Ǥ UART0  UART1  2ĤΥꥢݡȤ
ܡɾ˼Ǥ롥Τͥ줿 UART1 
Ѥ˻ѤƤ롥


3.4  ޥå

3.4.1  OAKS16Υޥå

(1)  ¹ԴĶ

     0x00000 - 0x003ff  SFRΰ
     0x00400 - 0x02bff  ¡ RAMdata_NEdata_NObss_NEbss_NO
     0xe0000 - 0xffdff  ¢ ROMprogramrom_FErom_FOdata_NEI
                                  data_NOI
     0xffe00 - 0xfffdb  ¢ ROMϡɡեȳߥ٥ΰ (vector)
     0xfffdc - 0xfffff  ¢ ROMϡCPU㳰٥ΰ(fvector)

3.4.2  OAKS16-MINIΥޥå

(1)  ¹ԴĶ

     0x00000 - 0x003ff  SFRΰ
     0x00400 - 0x00bff  ¡ RAMdata_NEdata_NObss_NEbss_NO
     0xe0000 - 0xffdff  ¢ ROMprogramrom_FErom_FOdata_NEI
                                  data_NOI
     0xffe00 - 0xfffdb  ¢ ROMϡɡեȳߥ٥ΰ (vector)
     0xfffdc - 0xfffff  ¢ ROMϡCPU㳰٥ΰ(fvector)

4.  ȯ

4.1  ȯĶι

ȯĶϡWindows XP (Service Pack 3)ưǧ
۴Ķϥͥ쥯ȥ˥γȯĶѤ롥
ӥɴˡȤơʲ 2Ĥ롥

(1)  ͥ쥯ȥ˥糫ȯĶ TM ѤĶ

	оݡOAKS16ܡɡOAKS16-MINIܡ
	ͥ쥯ȥ˥Ҥ糫ȯĶ TM V3.20 Ѥƹۤ롥
			κݡͥ饤֥경ۤ
	ưǧѥ顧
			NC30WA Version 5.45 Release 1 ̵ɾ
			NC30WA Version 5.10 Release 1 Entry
	2011ǯ5Ǥκǿ(NC30WA Version 6.00 Release 00) 
	    ġλѹˤ긽ǤбƤʤ

(2)  DOS뤫 make ޥɤѤƳȯԤĶ

	оݡOAKS16 ܡ
	DOS뤫makeȤäƹ
			ͥ饤֥경ƹۤ
	ưǧѥ顧
		NC30WA Version 5.45 Release 1 ̵ɾ
	¾ɬץġ
		GNU make (version 3.80 ưǧ)
		Perl (ưǧ Active Perl v5.6.1 ڤ v5.12.2ǹԤä)

ξ NC30WA Υ󥹥ȡˤդɬפǤ롥
ǶǤǤϵͤȤ C:\Program Files ʲ˥󥹥ȡ뤵뤬
TM ڤ make ϥѥʸ˶򤬴ޤޤ硤ưʤ
Τᡤ󥹥ȡѥޤޤʤ褦ˤɬפ롥

ޤŸ֤ȥġΥ󥹥ȡȤۤʤɥ饤֤
֤Ƥ빽⡤ưʤ礬뤿ᡤ侩ʤ

4.2  糫ȯĶTMѤ

OAKS16 ե륭åȤޤ OAKS16 MINI ե륭åȤźդγȯĶѤ
M16CѤ TOPPERS/JSP ͥۤ롥¹ԤϡFlashROM 񤭹
ġ FlashSta Ѥۤ MOT եܡɾΥեå
ROM ؽ񤭹ळȤˤԤ

äơ糫ȯĶ TMѥ NC30WAեåROM 񤭹
ġ FlashSta ⥤󥹥ȡ뤹ɬפ롥

ޤåȥץιۤˤϡȯۥȾư롤
ե졼 cfg/cfg.exe ڤ M16CåͭΥ桼ƥƥ
ץ utils/m16c-renesas/{m16cvec.exe, m16coffset.exe} Ѥ롥
ΥץϥѥѤߤΤΤѰդƤ뤬
ץѹϺƹۤɬפ롥

4.2.1 ġι

cfg.exe ιۤˤĤƤ user.txt ʤɤ򻲾ȤΤȡ
utils/m16c-renesas Υġ m16coffset.exe  m16cvec.exe 
ۤ硤MinGW (Minimalist GNU for Windows)Ѥ롥
(ʤߤˡcfg.exe Υӥɤ MinGW бǽǤ

̾ϴ˥ѥѤߤΤΤѰդƤ뤿ᡤ
ѤФ褤

MinGW (Minimalist GNU for Windows)
http://www.mingw.org/
http://sourceforge.net/projects/mingw/  (󥹥ȡ)

4.2.2 TM ˥ץȤ򤷥ӥɤ롥

(1) ץեѹ

ˤäƤ(1)ν񤭴ԤʤƤġ뤬ѥ
ưŪ˹Ԥ礬뤿ᡤ꤬Ȥ˽񤭴ԤФ褤

tools/M16C-RENESAS ʲˤ롤TM Υץե
Jsp14sample1.tmiJsp14sample1.tmkJsp14sample1m.tmiJsp14sample1m.tmk 
ƤˤХѥ꤬ԤƤս꤬롥

ʬߤ tools/M16C-RENESAS ǥ쥯ȥХѥȰۤʤϡ
TM ȤäƥץȤԤˡǥȤäХѥ
񤭴롥ʲJsp14sample1.tmiJsp14sample1.tmk򼨤

---Jsp14sample1.tmi ---
[PROJECT]
ProjectName=Jsp14sample1
WorkingDirectory=C:\usr\TOPPERS\jsp-1.4\tools\R16C-RENESAS                	<-Хѥ
OutputDirectory=.
ProjectFile=C:\usr\TOPPERS\jsp-1.4\tools\R16C-RENESAS\Jsp14sample1.tmk    	<-Хѥ
ProjectInfoFile=C:\usr\TOPPERS\jsp-1.4\tools\R16C-RENESAS\Jsp14sample1.tmi	<-Хѥ
TargetName=M16C Family
Type=1
GoalFile=C:\usr\TOPPERS\jsp-1.4\tools\R16C-RENESAS\Jsp14sample1.x30       	<-Хѥ
[NC]
Name=NC30WA
Version=V.4.00 Release 2
	:

---Jsp14sample1.tmk ---
####################################################################
# Makefile for TM V.3.20
# Copyright 1998-2002 MITSUBISHI ELECTRIC CORPORATION
# AND MITSUBISHI ELECTRIC SEMICONDUCTOR APPLICATION ENGINEERING CORPORATION
# All Rights Reserved.
#
#	Notice	:	Don't edit.
#	Date	:	2004 01(January) 10(Saturday) PM.03.11
#	Project	:	Jsp14sample1
####################################################################

DELETE	=	@-del
LNLIST	=	$(PROJECT).cmd
PRJDIR	=	C:\usr\TOPPERS\jsp-1.4\tools\R16C-RENESAS	<-Хѥ
LMC	=	LMC30
CC	=	NC30
	:

(2) ץȤΥץ

(2-1) Windows ˥塼 TM ư롥
(2-2) TM ưOpen Projectץ˥塼򳫤
(2-3) tools/M16C-RENESAS ǥ쥯ȥ Jsp14sample1.tmk ޤ
      Jsp14sample1m.tmk 򤹤롥
      OAKS16ѤιۤԤϡJsp14sample1.tmkOAKS16 MINIѤιۤ
      ԤϡJsp14sample1m.tmk 򤹤롥
(2-4) ѥΰ㤤ˤ˥塼ɽ礬롥
      δĶϡNC30WA ѥ Version 5.10 Entry ǵڤ Version 5.45 
      ˤɾԤäƤ롥ߤδĶˤäꤹ롥

(3) ץץåλ

ӥɲǥץץåѤ뤿ᡤȯĶ󥹥ȡ뤵줿
˱ CPP Ȥ̾Υޥѹ롥

(3-1) TM  Project Editor ư롥
(3-2) ɽ륦ɥΥ˥塼ǡ֥ץ  ޥ֥饦
      򤹤롥
(3-3) CPP Ȥ̾Υޥ򡤳ȯĶΥ󥹥ȡ˱Խ롥
     ˤ cpp30.exe Ȥ¹ԥեΥեѥ̾ꤹ롥

(4) ץȤΥӥ

(4-1) 塤֥ӥɡץ˥塼򤷥ӥɤԤ

ӥɤλȡΥǥ쥯ȥ Jsp14sample1.mot ޤ
Jsp14sample1m.mot Ȥ̾ΤΥե뤬롥
TMȤƥեΰ¸ԤäƤʤΤǡ
ۻϡ֥ӥɡפǥӥɤ뤳Ȥ侩롥


4.2.3 FlashStaѤƥեåROM˽񤭹

ȯѤΥѥȥܡɤȤRS-232C֥Ȥä³롥
CNVSS ԥ򥸥ѡԥȤäƥ硼Ȥ롥

Ÿ³Ÿå򥪥ˤ롥 FlashStaư롥
Select Program˥塼ˤƥݡȤ򤷤ơOKץܥ򲡲롥
ID Check˥塼ɽ줿Refer..ץܥ򲡲
MOTե򤹤롥

Select Program ä顤OKץܥ򲡲 M16C Flash Start 
˥塼ɽ롥
ޤEraseץܥ򲡲եåROM򥯥ꥢ롥
θ塤Program..ץܥ򲡲ץν񤭹ߤԤ
񤭹ߤλ顤Exitץܥ򲡲FlashStaλ롥
ŸڤꡤCNVSSԥ󤫤饸ѡԥ򳰤

4.2.4. sample1μ¹

ѥ˥ꥢ롦ߥʥΩ夲롥
ϰʲ̤ꡥ

 Baud rate:19200
 Data:8 bit
 Parity:none
 Stop:1 bit

Flow controlOAKS16 MINIǤnoneOAKS16ǤnoneǤXob/XoffΤɤ餫
ꤹ뤳.Ÿȡsample1¹Ԥ롥


4.3 DOS뤫makeޥɤѤ

GNU make ѤM16CѤTOPPERS/JSPۤˡ򼨤
ˡ OAKS16 ξΤбƤ롥
ѥϥ饤֥ꥢޤ NC30WAǤȤƤ롥
ߤǤϡͥ쥯ȥ˥Υ֥Ȥ̵ɾǤǽǤ롥

Υѥ EntryǤǤϥ饤֥ꥢ lb30.exe ޤޤʤȤ
뤿ᡤΤޤޥӥɤ뤳Ȥʤξϥ饤֥경
ʤ褦 Makefile (ºݤΥե̾ sample ǥ쥯ȥ
Makefile.m16c-oaks16 ) 񤭴ɬפ롥

ۤˤäƤϡե졼 cfg.exe  cfg ǥ쥯ȥˡ
4.2.1 Ǽġ롤ʤ m16coffset.exe  m16cvec.exe  
utils/m16c-renesas ǥ쥯ȥˡ줾¸ߤƤ뤳ȤȤʤ롥
̾ѰդƤΤѤФ褤
ޤȯġ NC30WAϤ餫ᥤ󥹥ȡ뤷ƤȤɬפǤ롥


4.3.1 ȯġ

ġϰʲΥȤǽ

GNU Make 
http://www.mingw.org/

Active Perl
http://www.activestate.com/


4.3.2 ץץιˡˤĤ

ץץιˡϴŪ doc/user.txt  7.4 ץ
ץιۡפǼ줿ˡ˽򤷤Ƥ롥ե
󥹥ץ perl ǽ񤫤줿ץȤϤΤޤ Windows  
DOSWindowsXPǤϡ֥ޥɥץץȡסˤξǤϻѤ뤳Ȥ
ǤʤΤᡤutils/m16c-renesas ǥ쥯ȥѰդ줿
Ѥ PerlץȤѤ롥

4.3.3 ե졼󥹥ץȤμ¹

   > mkdir OBJ
   > cd OBJ
   > perl ..\utils\m16c-renesas\configure.m16c

ꤷʤ
-C m16c -S oaks16 -T renesas -p \perl\bin\perl
Ȥץꤷ configure ¹ԤƱưԤ

νˤꡤȥǥ쥯ȥˤϰʲΥե뤬
	Makefile
	ץץѤΥե졼եsample1.cfg
	ץץΡsample1.hsample1.c
MakefileνɬפʤСԤΤ¾ΥåȤξƱǤ롥

4.3.4 ¸طեӥץץΥɥ⥸塼

¸طե Makefile.depend ӥɥ⥸塼 jsp.mot 
ˤϼΤ褦˼¹Ԥ롥MinGW  make Ѥ硤make 
mingw32-make ¹Ԥɬפ뤫⤷ʤ

   > make depend
   > make

make depend μ¹Բˤƥץץå(cpp30.exe)Ѥ뤬
ġΥ󥹥ȡ˱ơץץåޥɤΥեѥ̾
Ŭڤꤹɬפ롥

ϥץå¸ǥ쥯ȥ(config/m16c-renesas)ˤ Makefile.config
 CPP ȤѿǹԤäƤ롥ʬ򥤥󥹥ȡ˱ƽ񤭴롥

4.3.5 եåROM ؤν񤭹ߤӥץץμ¹

ۤ MOTե FlashSta ޥѤơܡɾΥեåROM
񤭹礫Ͼ嵭 4.2.34.2.4ƤƱǤ롥

4.3.6 OAKS16-MINIбˤĤ

OAKS16-MINI ѤΥͥۤϡMakefile.m16c-oaks16_mini 
Ѥ롥OAKS16-MINIǤΥͥǤϡꥵ︺ΰ٤ˡ
ǽϥƤʤΤᡤե졼󡦥ե
ɬפ롥sample1.cfg 28ܤ
#include "@(SRCDIR)/systask/logtask.cfg"פΤιԤ뤫
ޤϥȲƥǽʤ褦Ԥä塤ӥɤ롥
¾μOAKS16ǤƱͤǤ롥

4.4  ǥХå

OAKS16  OAKS16-MINI ˤϡKD30 ǥХåźդƤ롥
ΥǥХåϥեå ROM  KD30 ˥ UART1 Ѥ
̿ԤǥХåǽ¸롥ܥͥϥեåROM 
񤭹ߤԤ¹Ԥ롥ͥ񤭹ݡ¸Υ˥ץ
񤭤١ͥ¹Ի KD30 ǥХåϻѤǤʤ

Ƥ KD30 ȤϡKD30 °Υ˥ץեå ROM
ؽ񤭹ɬפ롥

ʤܥͥ TOPPERS  WG ǳȯ줿TOPPERSߥʡ
ζбƤ롥ΰ١ǻѤƤ֥˥פ
ʻѤ뤳ȤˤꡤTOPPERS/JSP ¹Υڤ SFR λȤꡤ
δɽǽȤʤ롥ɬפʾϡ֥˥פȤ
ʻѤ򴫤롥

4.5  ѥ륹å

ʲΥѥ륹å꤬ǽǤ롥

(1)   NEED_API

ѥNEED_API ޥ api.h  cpu_config.h ˥󥯥롼
롥ˤꡤ饤֥경ΰ٤ʬ䥳ѥ޻ߤ뤳ȤǤ롥

(2)   EXTERNAL_SOFT_HOOK

ѥEXTERNAL_SOFT_HOOKޥ software_init_hook 
åȰ¸ʤʤ롥äơ桼¦software_init_hook
Ϳ뤳ȤǤ롥

(3)   MON

֥ͤԤ̾ MON=0 Ȥƹۤ롥
MON=1 Ȥȥڤؤ˥˥ѤδؿƤӽФԤ
褦ˤʤ롥϶ѤΥ˥ʻѤˤԤ

5.  ե빽

5.1  ǥ쥯ȥꡦե빽

(1)   config/m16c-renesas

      api.h            饤֥경API
      cpu_config.c     M16Cץå¸ C ؿ
      cpu_config.h     M16Cץå¸ι
      cpu_context.h    M16Cץå¸Υƥ
      cpu_defs.h       M16Cץå¸Υץꥱ
      cpu_insn.h       M16CץåΥ֥ inline ؿ
      cpu_rename.def   ͥ̾Υ͡Ȥβꥹ
      cpu_rename.h     ͥ̾Υ͡
      cpu_support.a30  M16CץåΥ֥ؿ
      cpu_unrename.h   ͥ̾Υ͡
      Makefile.config  Makefile  M16C¸
      makeoffset.c     offset.inc ݡȴؿ
      start.a30        ȥåץ⥸塼
      tool_config.h    M16CץåγȯĶ¸⥸塼
      tool_defs.h      M16CץåγȯĶ¸

(2)   config/m16c-renesas/oak16/

      hw_serial.cfg    SIOɥ饤ФΥե졼ե
      hw_serial.h      OAKS16SIOɥ饤ФΥإåե
      hw_timer.h       OAKS16ѥ롼
      Makefile.config  Makefile  OAKS16ܡɰ¸
      Makefile.kernel  ͥΥե빽(M16C)
      oaks16.h         M30620FCAFPץå
      sfr_uart.c       OAKS16SIOɥ饤ФCؿ
      sfr_uart.h       OAKS16SIOɥ饤ФΥإåե
      sys_config.c     OAKS16ܡɰ¸ C ؿ
      sys_config.h     OAKS16ܡɰ¸ι
      sys_defs.h       OAKS16ܡɰ¸Υץꥱ
      sys_rename.def   ͥ̾Υ͡Ȥβꥹ
      sys_rename.h     ͥ̾Υ͡
      sys_unrename.h   ͥ̾Υ͡

(3)   config/m16c-renesas/oaks16_mini/

      hw_serial.cfg    SIOɥ饤ФΥե졼ե
      hw_serial.h      OAKS16-MINISIOɥ饤
      hw_timer.h       OAKS16-MINIѥ롼
      Makefile.config  Makefile  OAKS16-MINIܡɰ¸
      Makefile.kernel  ͥΥե빽(M16C)
      oaks16mini.h     M30262F8FGץå
      serial_mini.c    άOAKS16-MINIѥꥢɥ饤С
      sys_config.c     OAKS16-MINIܡɰ¸ C ؿ
      sys_config.h     OAKS18-MINIܡɰ¸ι
      sys_defs.h       OAKS16-MINIܡɰ¸Υץꥱ
      sys_rename.def   ͥ̾Υ͡Ȥβꥹ
      sys_rename.h     ͥ̾Υ͡
      sys_unrename.h   ͥ̾Υ͡
      syslog_mini.c    ʰ׷ƥץ

(4)   sample/

      Makefile.m16c-oaks16
                   饤֥귿 OAKS16JSP ۤ뤿 make ե

(5)   ¾

      tools/M16C-RENESAS/
      utils/m16c-renesas/
      ˤĤƤϡtools/M16C-RENESAS/README.txt 򻲾ȤΤȡ
