		TOPPERS/ASPͥ
		SH12A(GCC)ƥ¸ 桼ޥ˥奢

		бС: Release 1.7.1
		ǽ: 2011ǯ 8 9

ΥɥȤϡTOPPERS/ASPͥSH12A(GCC)ƥ¸
Ѥ뤿ɬפʻΤǤ롥
åȰ¸λϡåȰ¸target_user.txt˵ܤƤ
Τǡ⻲ȤΤȡ
ޤΥåȥץå˰ܿݤϡƥ¸
߷ץprc_design.txt⻲ȤΤȡ

----------------------------------------------------------------------
 TOPPERS/ASP Kernel
     Toyohashi Open Platform for Embedded Real-Time Systems/
     Advanced Standard Profile Kernel

 Copyright (C) 2008 by Embedded and Real-Time Systems Laboratory
             Graduate School of Information Science, Nagoya Univ., JAPAN
 Copyright (C) 2007-2011 by Industrial Technology Institute,
                                    Miyagi Prefectural Government, JAPAN

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

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

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

(1) бƤץåμࡦ
    ץå̾ΤбƤ빽
    ץåSH1SH2SH2A
    ưǧSH2ASH7211ˤǹԤäƤ롣
    ƥά
    ƥά sh12a_gcc
	ץåάΡsh12a
	ȯĶάΡgcc
	å¸ΥСֹ
	С1.7.0
	ץååסȯĶ¸ιȥСֹ
		arch/
			sh12a_gcc/		SH12A(GCC)ƥ¸
			С1.7.1
			gcc/			GCCȯĶ¸
			logtrace/		ȥ졼ϿΥץ륳
    ѤPDIC
		pdic/
			sh/				SH꡼SCIFɥ饤
			С1.7.1
¸Ƥ̥ѥåΥСֹ
		SH12A(GCC)ƥ¸ʥС 1.7.1ˤθ̥ѥ
		¸Ƥ̥ѥåȡưǧԤäС
		ϼ̤ꡥ

	̥ѥå̾	С	̥ѥåե̾
	------------------------------------------------------------------
	å¸		1.7.0		asp-1.7.0.tar.gz
	ե졼	1.7.0		cfg-1.7.0.tar.gz

(2) Ѥ볫ȯĶưڤʥС󡤥ץ
    åȰ¸target_user.txt򻲾

(3) åε

(3-1) ǡ˴ؤ뵬

åȰ¸ΥǡΥϼ̤ꡥ
    åȰ¸target_user.txt򻲾

åȰ¸Υǡ̵ͭϼ̤ꡥ
    åȰ¸target_user.txt򻲾

(3-2) ߽˴ؤ뵬
	ߥϥɥֹȳֹγơξԤб
    ץåΥ٥ֹ򤽤ΤޤѤ롣

	ͥ٤ʳTMIN_INTPRI͡
    ǥեȤǤϡTMIN_INTPRI=-15ȤƤ롣prc_kernel.h
    ѹϡtarget_kernel.hǥޥTMIN_INTPRI롣

	dis_intena_intΥݡȤ̵ͭ»
    ݡȤƤ롣
    ߶ػߥե饰ϡɥǥݡȤƤʤᡢ
    IPRx쥸ǳͥ٥٥ʣˤˤ뤳Ȥ
    ߶ػߥե饰εǽ¸Ƥ롣IPRx쥸
    ǤʣγֹФơʳͼե⥸塼ñ̤ˡ˰
    Ʊγͥ٥ꤹͤˤʤäƤ롣Τᡢ
    dis_intena_intѤ뤳ȤˤꡢꤷֹȤϰ
    ʤ׵饤ˤĤƤ⤤ä˳߶ػߡĤ
    ޤ
    ե⥸塼ˤĤƤϡߥȥǤϤʤե
    塼¦ǳװ˳߶ػߡĤС
    Ǥ뤬ʲͳǤˡϺѤƤʤ
    OSΥСإåɤ礭ʤ롣
    ƱֹǤ⡢ե⥸塼ˤäƤϡ
    ػߡĤˡۤʤ롣

	CFG_INT»ȳĥʥåǻѤǤ°
    IRQߤ˴ؤƤϡʲγ°ǽǤ롥
    ¢ե⥸塼ߤФƤǤʤ
    TA_NEGEDGE	ͥƥ֥åȥꥬ
    TA_POSEDGE	ݥƥ֥åȥꥬSH2AΤߡ
    TA_BOTHEDGE	ξåȥꥬSH2AΤߡ
    TA_LOWLEVEL	٥ȥꥬ
    
    IRQߤФơ°ꤷʤ硢ǥեȤ
    ٥ȥꥬȤꤵ롣
    
    IRQߤФơ°ȤñTA_EDGEꤷ
    ʶꤷʤˡͥƥ֥åȥꥬȤư
    
    嵭dis_intena_int»ƱͳǡΤ褦˳
    ׵饤°ꤷ硢ֹintno1intno2
    IPRx쥸Ʊΰ˳ƤƤȡ(a)Ԥ
    TA_ENAINT°ȿǤʤ
    ʥͥưϻ˳ֹintno1γ׵饤γ
    ߤĤƤʤ

CFG_INT(intno1, { TA_ENAINT, intpri1 });  (a)
CFG_INT(intno2, { TA_NULL,   intpri2 });  (b)
intno1 < intno2 Ȥ롣

	TOPPERSɸ߽ǥ뤫Τ¾ΰæ
    ߥϥɥɬפIRC i_begin_int()
    åȥꥬξΤߡ׵򥯥ꥢΤ§
    뤬ȥꥬ̡ʥåȥꥬ٥ȥꥬˤȽ̤
    ԤȥСإåɤ礭Τǡɤξ⥯ꥢ
    Ƥ롣
    ǤϡSH2AΤ߼Ƥͭ»Ǥ롣

(3-3) ͥγߤ˴ؤ뵬
	TMIN_INTPRIϸ꤫Ǥ뤫ˡ
    ǥեȤǤϡTMIN_INTPRI=-15ȤƤ롣prc_kernel.h
    ѹϡtarget_kernel.hǥޥTMIN_INTPRI롣

	NMIʳ˥ͥγߤߤ뤫ߤ褦ˤ뤫
    ͥγߤ򥵥ݡȤ롣

	ͥγߤˡ
	TOPPERS奫ͥͽפΡ2.7.8 ͥ
	ߤˡפΡ(b)ͥȤߤ򥢥ץ
	Ǥ褦ˤפѤƤ롣
	ޤNMIˤĤƤϡͥγߤγߤ˸ꤷ
	롣
	
	ͥγߤФDEF_INHCFG_INT򥵥ݡȤ뤫
    ݡȤ롣

	ͥγߥϥɥ餬¹ԳϤΥƥ֤
	ƥ
	ƥ
	CPUåե饰
	߼ջͤΤޤ
	ͥ٥ޥ
	CFG_INTꤷ
	NMIξϡ-15˸
	ǥѥåػߥե饰
	߼ջͤΤޤ
	ƥ
	󥿥ƥ
	
	ޤåڤؤԤNMI
	
	ߥϥɥνλ˹Ԥ
ͥ٥ޥƥȤ򸵤᤹
	ޤåڤؤԤNMI

	ͥγߥϥɥεˡ
	ͥγߥϥɥƱͤ̾CؿȤ
	ҤǤ롣ʰͶvoid

	ͥγ߽ǵǽΤCPU㳰
	CPUɥ쥹顼
	
	ͥγߤ˴ؤ»
	NMIγߥϥɥ餬̤Ͽξ硢ǥեȤγߥϥɥ
	ƤӽФ롣ǥեȤγߥϥɥϡȥ졼
	log_inh_enterlog_inh_leaveˤƤӽФƤꡢ
	ݡƥ󥰥ɡ6.6.7 ͥγߡפˤ
	NMIνǤϡȥ졼log_inh_enter
	log_inh_leaveˤƤӽФƤϤʤʤפȤ§æ
	Ƥ롣ǥեȤγߥϥɥ餫꥿󤹤뤳ȤϤʤ
	ʥƥཪλƤӽФˤᡢ¼ŪϤʤȹͤ
	롣

(3-4) CPU㳰˴ؤ뵬
	CPU㳰ϥɥֹγ
    ץåΥ٥ֹ򤽤ΤޤѤ롣
    ߤ⡤桼֥졼H-UDICPU㳰Ȥư

	ͥ٥ޥTMIN_INTPRIƱ⤤ͤꤷ
	֤ȯCPU㳰򡤥ͥCPU㳰Ȱ
	ͥCPU㳰ǵǽΤCPU㳰
	CPUɥ쥹顼

(3-5) ǽɾѥƥλȤ˴ؤ뵬
	get_utmΥݡȤ̵ͭ»
    ݡȤ

(3-6) ĥѥå˴ؤ뵬
	ƳĥѥåΥݡȤ̵ͭ
		- ߥ塼ƥåǽĥѥå
    ݡȤʤ
		- Хϥɥ鵡ǽĥѥå
    ݡȤʤ
		- ͥٳĥѥå
    ݡȤʤ
		- 󥿥ĥѥå
    ݡȤʤ
		- ưŪǽĥѥå
    ݡȤʤ
	Хϥɥ鵡ǽĥѥå򥵥ݡȤˡץ
	֤˻Ǥͤκ͡TMAX_OVRTIM͡
	ưŪǽĥѥå򥵥ݡȤˡưŪ
	ˡ

(3-7) ¾
	¾»
FPUΰ
ܥͥǤSH2A-FPUFPUϥݡȤƤʤ

ȥ쥸ΰ
ܥͥǤϥХ١쥸GBRץơ֥
١쥸TBRϥݡȤƤʤ

̿㳰ΰ
̿㳰ξϤ2Хȿʤɬפ
бƤʤ

CPUå֤Τޤޡߥϥɥ餫꥿󤷤硢
CPUåˡlog_inh_leave()ƤӽФƤ롣
ʳ߸ľCPUåƤ롣
ƱͤCPU㳰ϥɥ餬CPUåե饰ѹޤޥ꥿
CPUåե饰ˡlog_exc_leave()Ƥ
ФƤ롣ʥСإåɤ礭ʤ뤿

IRQüҤνSH2Aͭ
CFG_INTǻꤵ줿IRQüҤν򥫡ͥ¦
٤SH2AǤϡIRQֹ椫³üҤդ˷
ʤʣüҤǤˤᡢIRQüҤν
ϥݡȤƤʤüֹ˰¸ʤߥ
νϹԤäƤ롣

	¾γĥǽ
    ̤ϿCPU㳰
    ̤Ͽ㳰ȯϡprc_config.c Ƥ
    default_exc_handler() ƤӽФ롥default_exc_handler()
    ϡȯCPU㳰Υ٥ֹ򥳥󥽡˽Ϥ塤
    target_exit() ƤӽФ

    ̤Ͽγ
    ̤Ͽγߤȯϡprc_config.cƤ
    default_int_handler() ƤӽФ롥default_int_handler()
    ϡȯߤγֹ򥳥󥽡˽Ϥ塤
    target_exit() ƤӽФ
    ASPͥɸŪʥǥեȤγߥϥɥ
    default_int_handler(void)ϰʤʥݡƥ󥰥
    porting.txt 6.6.5 ǥեȤγߥϥɥ׻ȡˤǤ
    SH12Aƥ¸Ǥϡͥ뤫ֹ
    Ϥ뤳ȤꤷƤ롣

    ꥢɥ饤ФHEWI/Oߥ졼б
    (9) ¾ѹˡפ򻲾

(4) ͥεưλ˴ؤ
	ѰդƤ륹ȥåץ⥸塼ν
	ȥåץ⥸塼뤫hardware_init_hookƤӽФƤ
	ˤϡhardware_init_hook򥢥ץꥱѰդκ
	ˡ»ʤ
	Хơȥȥ餬ꤵƤʤᡢΤޤޤǤ
	åꥢ˥ƤϤʤ

	ͥλο
	target_exit()顢ץå¸νλprc_exit()
	ȯĶ¸νλƤӽФֳȯĶ¸νλפ
	ĤƤϡåȰ¸target_user.txt򻲾

(5) ޥå
	ǥեȤΥޥåסѹˡ
    åȰ¸target_user.txt򻲾

(6) ޥɥ饤дϢξ
	ƥåμѹˡ
    åȰ¸target_user.txt򻲾
	Ѥ꥽ʥޡ
    åȰ¸target_user.txt򻲾
	޳ߤγͥ٤ѹˡ
    åȰ¸target_user.txt򻲾
	Х󥿥޳ߤγͥ٤ѹˡ
	ݡȤʤ

(7) ꥢ륤󥿥եɥ饤Фξ
	Ѥ꥽SIOȥ
    åȰ¸target_user.txt򻲾
	̿ѥ᡼ʥܡ졼ȡӥåȿѥƥ̵ͭȥåץӥåȡ
    åȰ¸target_user.txt򻲾

(8) ƥǽξ
	ƥ٥Ϥμ¸ˡ
    åȰ¸target_user.txt򻲾
	̿ѥ᡼ʥܡ졼ȡӥåȿѥƥ̵ͭȥåץӥåȡ
    åȰ¸target_user.txt򻲾

(9) ¾ѹˡ

ĤΥѥ᡼ѹǽˤʤäƤ롥եǽ
ϼΤ褦ˤʤäƤ롥
Makefile.prcԽϡmake realcleanmake depend١
¹Ԥ뤳ȡ

Makefile
ޥåפ˴ؤܤϡ(5) ޥåספ򻲾ȡ

    ޥUSE_BANKED_REGSH2Aͭ
    ޥUSE_BANKED_REGȡߤν
    ǥ쥸Х󥯤Ѥ롣
    ꡧMakefile.sh2a15ն
    CDEFS := $(CDEFS) -DUSE_BANKED_REG

    ޥOMIT_POWER_CONTROL
    Makefile.target뤳ȤꤷƤ롣
    ǥѥåνиǼ¹Ԥ٤ʤ
    (schedtsk==NULL˾ϡsleep̿ˤäƥץå
    ϥ⡼ɤڤؤƳԤ򤷤Ƥ롣
    ޥOMIT_POWER_CONTROLȡϥ⡼ɤ
    ڤؤ˥ӥ롼פǳߤԤġ
    prc_support.S_dispatcher_2ն򻲾ȡ

    ޥENABLE_CACHE
    ޥCCR1
    SH2Aͭsh7211
    Makefile.target뤳ȤꤷƤ롣
    åȰ¸ǥޥENABLE_CACHE
    start.Sˤ륭åν롼ͭˤʤ롣
    κݡåȰ¸ǡCCR1쥸νͤޥ
    CCR1_INITȤ뤳ȡ
    
    »
    嵭Υåν롼ưǧƤʤ
    sh7211ˤCCR1쥸ʤ

    ޥTOPPERS_HEW_SIMULATOR
    Makefile.target뤳ȤꤷƤ롣
    Υޥȡꥢɥ饤ФHEWI/O
    ߥ졼бɤ֤롣
    ꥢHEWI/Oߥ졼󡦥ɥ
    ɽʤ٤ƥݡ󥰤ˤʤˡꥢHEW
    I/Oߥ졼εߵǽˤƸ롣
    륭饯ϡHEWI/Oߥ졼󡦥
    ɥ˥ֲιԤ˰ưƤϤ뤳Ȥ
    ꤹ롣ʾܺ٤HEWΥߥ졼ǥХåΥ桼
    ޥ˥奢򻲾ȤΤȡ
    HEWI/Oߥ졼ǽѤˤϡstart.S
    ٥_hew_io_sim_bodyHEWϿɬפ롣
    ʥåapsh2a_gccˤưǧˤ0x0C00048E
    ϤϿ
    
    ս
    ˥塼
    ߥ졼
    ƥ
    ֥ƥץ
    I/Oߥ졼󡦥ɥ쥹
    ʡͭץåܥåͭꤹ

    
    HEWΥߥ졼ϡsleep̿μ¹Ԥǥ֥졼
    ͤˤʤäƤ롣ʳԤˤʤʤ
    Ǥϡַвˤ륿޳ߤߥ졼
    ǤʤΤǡޥTOPPERS_HEW_SIMULATOR
    ϡޥOMIT_POWER_CONTROL
    prc_support.S_dispatcher_2նsleep̿¹Ԥ
    ʤ褦ˤƤ롣

target_config.h

ߤĤldc̿ٱˤĤ
ʲΥޥ롣
LDC_NOP_DISPATCHER
    ¹Ԥ٤¸ߤʤγȯԤ
    nop̿
    ޥOMIT_POWER_CONTROL졢sleep̿
ʤͭǤ롣
å̵ɬפ˱롣
ʥ®٤®SRAM̿ᥳɤ֤
ʤɡ
ꡧtarget_config.h
LDC_NOP_SET_SR
set_sr()nop̿
ꡧtarget_config.h
LDC_NOP_SIL_SET_IIPM
SIL_UNL_INT()nop̿
ꡧtarget_sil.h

    ܤprc_design.txtΡ֡ߵĶ֤ûջ
   SH2AͭˡפӥåȰ¸target_user.txt򻲾

(10) ƥ๽ۼ
    åȰ¸target_user.txt 
    doc/user.txtΡ֣åȥɡפ򻲾ȡ

(11) åȥƥͭջ
	ƥȤ˴ޤޤ쥸ޤޤʤ쥸
 	ʲΥ쥸ƥȤ˴ޤޤ롥
	  ѥ쥸R0R15
	  ơ쥸SR
	  ¥쥸MACHMACL
	  ץ쥸PR
	  ץ५PC

(12) ΥåȤ˥ݡƥ󥰤볫ȯԸλ;
ƥ¸߷ץprc_design.txt򻲾

(13) ǥ쥯ȥ깽ե빽

 	arch/sh12a_gcc/		SH12A(GCC)ƥ¸
		Makefile.prc			MakefileΥƥ¸
		prc_stddef.h			t_stddef.hΥƥ¸
		prc_sil.h				sil.hΥƥ¸
		prc_kernel.h			kernel.hΥƥ¸
		prc_syssvc.h			kernel_syssvc.hΥƥ¸
		prc_config.h			ͥΥƥ¸
		prc_config.c			ͥΥƥ¸Ϣ
								
		prc_support.S			ͥΥƥ¸Ϣ
								ʥ֥
		prc_rename.def			ƥ¸̾Υ͡
								
		prc_rename.h			ƥ¸̾Υ͡
								
		prc_unrename.h			ƥ¸̾Υ͡
								
		prc_cmt.cfg				ޥɥ饤ФΥե졼
								ե
		prc_cmt.h				ޥɥ饤ФѤ뤿
		prc_cmt.c				ޥɥ饤
		prc_def.csv				ե졼ͼܥơ
								֥Υƥ¸
		prc.tf					kernel.tfΥƥ¸
		prc_check.tf			kernel_check.tfΥƥ¸
		prc_offset.tf			genoffset.tfΥƥ¸
		prc_cfg1_out.h			cfg1_out.cΥ󥯤ɬפʥ֤
		prc_test.h				ƥȥץΥƥ¸
								
		prc_insn.h				ƥü̿Υ饤
								ؿ
		start.S					ȥåץ롼
		shelf.ld				󥯥ץ

		Makefile.sh2a			MakefileΥ¸SH2Aѡ
		sh2a.tf					kernel.tfΥ¸SH2Aѡ
		sh2a_config.h			¸⥸塼SH2Aѡ
		sh7211.tf				kernel.tfΥåװ¸SH7211ѡ
		sh7211.h				SH7211Υϡɥ񸻤
		sh7211_config.h			åװ¸⥸塼SH7211ѡ

		prc_user.txt			ƥ¸Υ桼ޥ˥
								
		prc_design.txt			ƥ¸߷ץ
		MANIFEST				̥ѥåΥեꥹ

	pdic/sh/				SH SCIF ʰSIOɥ饤
		sh_sci.h				SCIFɥ饤Ф
		sh_sci.c				SCIFɥ饤

(14) С

'11/08/09 Release1.7.1
initialize_exception()
饤ؿ̾δؿѹ
asp/kernel/exception.hǤΥץȥȤá

'11/08/03 
sh7211.tf
INTNO_VALID˳ֹ192ޤޤƤʤԶ

'11/07/22 
ؿΥ饤ñ̤4Хȶ2Хȶ˽

'11/07/19 
ͥγߤ򥵥ݡ

'11/07/12 
̤ϿCPU㳰ϥɥ _default_exc_handler_entry
CPU㳰ϥɥֹCPU㳰ȯΥ쥸Ƥɽ
ǤʤԶʬäƤ

'11/06/27 
ؿset_vbrβconstҤɲ
SILΥ֥ؿƤӽФݡݥ󥿰Υӥå
褦ѹ

'11/05/10 Release1.7.0
¸Release1.7.0б
offset.hˡ򡢥ե졼Ѥˡѹ
makeoffset.c
prc_offset.tfɲ
ޥINT_ENTRYINTHDR_ENTRY
ߥϥɥֹͿȥӥɤ˼ԤԶ

ޥEXC_ENTRYEXCHDR_ENTRY
CPU㳰ϥɥֹͿȥӥɤ˼ԤԶ

prc_support.S
̳ߤ򼨤٥_int_entry
_interrupt_entryѹ
¸INHINIB¤ΤΥ̾int_entryȾͤ뤿
оΤᡢCPU㳰򼨤٥_exc_entry
_exception_entryѹ
sh7211.h
MTU2Υ쥸ɲ

'11/01/18 
prc_support.S
_ret_int_1SH2A̿ᤷҤƤʤԶ

'11/01/14 
ޥɥ饤Фե

'11/01/12 
쥸Υɥ쥹ޥ̾˥ɽեå
_b1Хȡ,_h2Хȡ,_w4Хȡˤɲ

'11/01/07 
Makefile.sh2a
kernel_cfg.timestampshxxxx.tfΰ¸ط
Makefile.targetMakefile.sh2a˰ư

'10/12/17 
sh7211.h
CMT1Υ쥸ɲ

'10/12/16 
Makefile.sh2a
kernel_cfg.timestampshx.tfΰ¸طˤĤɵ

'10/12/15 
ΥåΰƬϤΥåԤäƤʤԶ

'10/12/10 
ޤεưprc_cmt.ctarget_timer_initialize
ޥȤȳߥꥢνդˤʤäƤԶ

'10/09/22 Release 1.6.0
Сֹ򹹿

'10/09/21
֥ƥȤ˴ޤޤ쥸פ

'10/09/17 
ɥȤι¸Release 1.6.0Υݡƥ󥰥ɤ
9.1 ɥȡפ˽

'10/09/15 
prc_terminateprc_exit˥͡
trace_config.c륷ܥΥ͡ɲ
.globl.global

'10/09/09
¸Release1.6.0б
ƥȥ֥åTSKINICTXBˤɲä
ƥΥåݥ󥿤νͤŪ˷ꤹ褦ˤ

'10/07/05 
prc_timer.h/c/cfgprc_cmt.h/c/cfg˥͡
ʥåפˤꡢ¢ޤμबۤʤ뤿
ȼprc_cmt.oMakefile.prcMakefile.sh2aذư
֤Υ󥯥롼ɥեϡtarget_xxx.hΤߤ饤󥯥롼
롥פȤץץ˥åǤ褦

'10/07/02 
pdic/sh/sh_scif.c
sh_scif_pol_putc()ꥨȥȤ˽
ߤĤldc̿ΰ
ʲΥޥ
LDC_NOP_DISPATCHER
LDC_NOP_SET_SR
LDC_NOP_SIL_SET_IIPM

'10/07/01 
̥ѥåpdic/shޤޤƤʤԶ

'10/06/09 
饤󥢥֥clobberѿꥹȤSRTӥåȤɲ
ldc r, sr̿
սꡧ
set_sr(uint32_t sr)
TOPPERS_disint(void)
TOPPERS_set_iipm(uint32_t TOPPERS_iipm)

'10/06/08 
åν롼ɲáư̤ǧ

'10/06/07 
ꥢɥ饤ФHEWI/Oߥ졼б

'10/01/20 Release 1.4.2
Сֹ򹹿
ʸ̥ѥå˴ޤޤAPSH2A(GCC)åȰ¸Τ߹

'09/11/17 Release 1.4.1
Сֹ򹹿

'09/11/09 
_dispatcher_2
ޥOMIT_POWER_CONTROL硢פʥ٥_sleep_end_dis
ؤλȤĤäƤԶ

'09/11/06 
ߤνиˤ륿㳰θƤӽФ
ϤꤵƤʤäԶ

'09/10/26 
ȥåץ롼
ơ쥸νǡߥåȤ٤Ȥ
CPUåˤƤԶ
ʥͥγߤĤƤԶ

'09/10/22 
_call_exit_kernel
ߥå֤ǸƤФΤˡ˳ߤػߤ
ĹʤΤǡ

'09/09/30 
ߡCPU㳰νи
褬vector_entryݤȽǡͤΰ
TCB_pc, TCB_enatex, TCB_enatex_bit, TCB_enatex_mask
  ͤϰϥåɲ

'09/09/29 
ߤνи
¿ųߤκݡCPUå֤Τޤޡߥϥɥ餫꥿
褬vector_entryʳߤˤξ硢
ͥ¦CPUåȴƤ
CPU㳰νи
åե졼ȤƤʤ
åѤޤ줿ϤؤΥեåSP_PC_OFFSET_EXC
ͤʤ
movml/movmu̿λѲս
쥸Х󥯤̵ͭȴطʤս#ifdef USE_BANKED_REG
#ifdef TOPPERS_SUPPORT_SH2A_INSTRUCTION˽
CPU㳰νиǤmovml̿Ѥ褦

'09/07/15 
̤ϿCPU㳰ΡCPU㳰װΡƤФ
̤ν_default_exc_handler_entryɲ
̤ϿγߤΡʳװΡ鶦̤ν
_default_int_handler_entryƤФƤʤԶ
ǥեȤγߥϥɥdefault_int_handler˰
ϤäƤʤԶ
default_int_handlerAPIѹʰֹˡ
    void default_int_handler(INTNO intno)
̤ϿγߡCPU㳰vector_entry
äƤʤԶ

'09/05/07 Release 1.4.0
¸Release 1.4.0б

'09/05/01 
쥸Х󥯡Сե㳰

'09/04/23 
dis_int/ena_int/CFG_INT»ɵ

'09/04/10 
ldc̿᤬å̿ˤʤץåΤ
TOPPERS_LDC_IS_SLOT_ILLEGAL_INSTRUCTIONޥ

'09/04/07 
USE_BANKED_REGޥɵ

'09/04/03 
ơ֥int_iipm_tbl[]
ޥåʥС0x80NOT_CFG_INT_BITޥ
INTNO_IRQINTNO_IS_IRQ˥͡
i_begin_int()»ɲ

'09/04/02 
ֹ桤ߥϥɥֹ桤CPU㳰ϥɥֹ椪
IRQߤγֹκǾͤ͡
ͼܥơ֥ͳǼ褦ѹ
ʥ󥯥롼ɥեȥƥץ졼ȥեƱ
Ť˻ʤ
ȼEXCNO_RANGEINTNO_RANGEINHNO_RANGE
shxxxx.tfprc.tf˰ư
set_irc_ipr()
shx_config.hprc_config.hذư
i_begin_int()
prc_config.hshx_config.hذư
init_irc(), set_irc_ipr()
줾irc_initialize(),irc_set_ipr()˥͡
sh7211.h
target_support.SǻѤ쥸ɲ
ԥե󥯥󥳥ȥ
ХơȥȥBSC
åѥ륹ȯCPG
ϥ⡼ɴϢ
 
'09/03/30 
default_exc_handler
CPU㳰ȯΥåݥ󥿤ͤɽ褦
log_exc_enter/log_exc_leave
ߤĤƤƤӽФ褦
log_exc_leaveѤʤƤ⡢ƤΤ

'09/03/27 
°θľ
TA_BOTHEDGETA_LOWLEVELνɲ
sh2a.tf(kernel.tfSH2A¸)
ɥ
ǥեȤν(3-2) ߽˴ؤ뵬פ˵
x_define_exc()CPU㳰ֹΥ顼åɲ
桼ޥ˥奢뤫߷ץʬΥ
ԡ饤Ȥɲ

'09/03/25 
Makefile.prcprc_check.tfʥѥˤΰ¸طɵ
ѿlock_flagsaved_iipmvolatile

'09/03/24 
Makefile.prc饳¸ʬΥMakefile.sh2a
ѥߤν
C쥽kernel_cfg.cΥ饤󥢥֥

̾Υ֥ꡦեkernel_cfg_asm.S
ѹ
USE_BANKED_REGsh7211_config.hMakefile.sh2a˰ư
ѤǤ̿᥻åȤ
TOPPERS_SUPPORT_SHxx_CODETOPPERS_SUPPORT_SHxx_INSTRUCTION
͡षprc_support.Ssh2a_config.hʥ¸
ˤ˰ư

'09/03/23 
åװ¸¸ڤʬθľ
ֹΥޥս
  INTNO_IRQ0,INTNO_IRQ_MAXTMIN_INTNO_IRQ,TMAX_INTNO_IRQ
͡षsh2a_config.hsh7211_config.h˰ư
IRCν
init_irc()åװ¸ȥ¸ʬΥ줾
sh7211_config.hsh2a_config.h
prc_config.hߡʥϥɥֹɽѴ
ֹ桢ߥϥɥֹκǾͤ64˸ꤵƤ
սåװ¸ͤ򻲾Ȥ褦

'08/05/19 
prc_initialize, prc_terminateΥܥ͡
ƥ¸ǹԤ褦ѹ

'08/05/13 Release1.3.1
¸ؤɽ
åΥ顼å˴ؤ뽤
CHECK_STKSZ_ALIGNprc.tfɲ

'08/05/12 Release1.3.0
ꥢɥ饤Фθľ
ϰ¸shc¸ˤ#ifdefڤؤƤΤ
target_syssvc.hͳǥ󥯥롼ˡѹ
ǤդνϤбǤ褦

'08/03/13 Release1.1.2
HEWǤƱ

prc.tf
ְۤʤ׵饤ФơƱγͥ٤
ǤʤפΥ顼åǥ顼̡E_PARˤ
ɽƤʤԶ
sh7211_config.h
x_config_intatr
ICR1쥸32ӥåȥƤԶ16ӥå
˽
prc_support.S
SH2A̿ѶŪ
ȥ졼ؿlog_inh_leavelog_exc_leaveƤӽФʤ
åꥢ̵̤ʥȯƤ
ٱ䥹åȤθľ
ǥեȤCPU㳰ϥɥ
㳰װɽ褦
r0r7ͤɽ褦
sh2a_config.h
sh2aեߥǶ̤sh7211_cnfig.h餳˰ư
ʤ٤32ӥåȥǡȤƽ褦Τľ
ץॵ80ХȲ
saved_iipm32ӥåȤ

ꥢɥ饤
sh_scif_init_siopinib
ꥢ륹ơ쥸SCFSR4ХȥƤ
Զ
void sh_scif_init(uint8_t portno)
 void sh_scif_init(ID portid)
פ̿򾯤ʤ뤿
פθľ
siopinib_tablestaticѿѹ
siopcb_tablestaticѿѹ
ؿsh_scif_init_siopinibstaticؿѹ


'08/02/05 Release1.1.1
ꥢɥ饤
ʥХʡɽ饷ƥڤؤݡ
Ť˽Զ
ݡֹ˸̤˳߶ػߡĤ褦˽
CFG_INTΥ顼åɲ
Ʊͥ٤ˤʤ٤ֹΥå
prc_support.S
  bt/s̿ٱ䥹åȤ˥å̿᤬äƤԶ
  Ȥν
sh7211.h
sil.h򥤥󥯥롼ɤɬפϤʤΤǡ
