=====================================================================
                         SH12AvZbTˑiasp-1.3.1Ήj
                                  Last Modified: '08/05/20 
=====================================================================

Tv

SH12Aˑ́CSH1/2/2A^[QbgƂĂDSH1/2/2Aɂ͂
oG[V݂CoG[VɂẮC݊֘ÃWX^
∵O⊄݂̐قȂD̂߁CoG[VɈقȂ镔
̓oG[Ṽt@Cɕ邱ƂɂΉD


RpC

J[l̓lTXeNmWshcpăRpCDmF
o[W͊e^[Qbgˑ̃hLgɋLڂD


CPUOnhԍ

CPUOnhԍƂẮCxN^ԍpD݂̂CNMIC
[U[u[NCH-UDICPUOƂĈD


J[l̎gp\[X

J[l͈ȉ̃\[XgpD

  E^C}
     CMT0gpDJ[l̃eBbN̐ɗpD

  EVA
     VXẽ|[g1|[ggpDgp|[g̓^[Qbg
     قȂD

o^̗O

o^̗Oꍇ́Cprc_config.c Œ`ĂD
default_exc_handler() ĂяoDdefault_exc_handler() ́C
O̔ԍR\[ɏo͂Ctarget_exit() ĂяoD


荞݃nhԍƊݔԍ

݃nhԍ(inhno)Ɗݔԍ(intno)́CxN^ԍpD


J[lǗ/O̊

銄ݗDxȏ̊ݗDxJ[lǗO݂̊Ƃėp
Ƃ\łDJ[lǗ݂̊̍ŏl TMIN_INTPRI Őݒ
ĂDTMIN_INTPRI ̓fBtHgł́C-15 ƂȂĂC^[Qb
gˑŏ㏑\łD


CFG_INTɎw\ȊݗDx

CFG_INTɎw\ȊݗDxƂẮC-1  TMIN_INTPRI ܂ł̒l
ݒ\łD

TMIN_INTPRI̒`ꏊF
ECp̒`F
@@ftHg̒`Fprc_kernel.h
@@^[Qbgˑ̒`Ftarget_config.hił͖`j
EAZup
@@ftHg̒`Fprc_support.inc
@@^[Qbgˑ̒`Fuser_config_asm.inc@


ݑ

IRQ݂ɊւẮCTA_POSEDGETA_NEGEDGȆݒ\łD


o^̊

o^݂̊ꍇ́Cprc_config.c Œ`Ă
default_int_handler() ĂяoDdefault_int_handler() ́C
݂̊ݔԍR\[ɏo͂Ctarget_exit() ĂяoD



@@EJ[l̃RtBM[V
@@@@RtBM[ṼpX3irh̍\`FbNj́A
@@@@sĂȂB

@@EFPÜ
@@@@{J[lłSH2-AFPU̓T|[gĂȂD

@@ERg[WX^̈
@@@@{J[lł̓O[ox[XWX^GBRAWve[u
@@@@x[XWX^TBR̓T|[gĂȂD

@@EIRQݒ[q̏
@@@@{CFG_INTŎw肳ꂽIRQ͒[q̏J[lł
@@@@ASH2-Ał́AIRQԍڑ̒[qӂɌ܂Ȃ
@@@@i̒[qIłj߁AIRQ͒[q̏̓T|[g
@@@@ĂȂBi[qԍɈˑȂ݃Rg[̏
@@@@sĂBj


=====================================================================
               AvP[VJҌ̏
=====================================================================

AvP[V̕ύX

ł́ACN[hpX̐ݒȂǒʏHEW̑͏ȗAR
tBM[Vt@Cxxxx.cfgɕύXꍇ̑菇B

(1) vWFNg1_cfg_pass1ANeBuɂB
(2) vWFNg1_cfg_pass1sample1.cfg폜B
(3) vWFNg1_cfg_pass1xxxx.cfgo^B
(4) vWFNg3_applicationANeBuɂB
(5) KvɉāA\[Xt@Co^B
(6) ărhB


=====================================================================
               ^[QbgˑJҌ̏
=====================================================================

T|[gvZbT̒ǉ

T|[gvZbTǉꍇɂ́CT|[gvZbŤ^
ish7xxxjŃev[gt@C(sh7xxx.tf)C J[l̃^[Qbg
ˑ̒`(sh7xxx_config.h)Cn[hEFÃwb_[t@Ci
sh7xxx.hj쐬KvD̑̃t@CKvȏꍇ́CvZb
Ť^Ԃ擪ɕtăt@C쐬C^[QbgˑCN[
h΂悢D


CPUO̎舵

T|[gCPUOnh̓^[QbgvZbTɈقȂ̂ŁC
^[QbgvZbT̒`t@Cɒ`D

OR[h̓Xp[XȒlł邽߁CJ[lł̓Vtg\
pD

CPUbNtO

SH12A̓Xe[^XWX^(SR)ɊݗDx}XN(IPM)ĂD
ACPUbNtŐ@\ȂD̂߁C[ICPUbN
tOD

荞ݗvC

SH12Ǻ݂CӃW[݂IRQ݂ɕނłCꂼ
ꈵقȂDIRQ݂́Cݑ̐ݒT|[gD

e݂̊ݗDx͊ݗD惌xݒ背WX^(IPRXX)ɂĐ
肷DӃW[̏ꍇCӃW[ɐݒ\łD
SCIF́CERI2, RXI2, BRI2, TXI2Ƃ4̊ݗvCT|[
g邪CSĂ̊ݗvCɑ΂ē̗DxݒłȂD
̂߁CeݗvCɂǂ̊ݗD惌xݒ背WX^̂ǂ
tB[hɑΉĂ邩̏iIPR_INFO^j̃e[upӂ
iipr_info_tbljD܂Cݔԍ͘AĂ߁CT|[gĂȂ
ԍɂ́CaddressGg0ݒ肷D

typdef struct {
	/* ݗD揇ݒ背WX^̃AhX */
	uint32_t address; 
	/* ItZbg */
	uint32_t offset;
}IPR_INFO;

IPR_INFO ipr_info_tbl[] = {
	....
};

ݗv֎~tO

SH12AIRC͊ݗv֎~tOȂD݂֎~ꍇ́C
ݗD揇ݒ背WX^(IPRXX)0ɐݒ肷KvDݗD揇ݒ
WX^0ɂ邱ƂŊݗv֎~tOƂ̊ԁC
DxLĂ̈悪KvƂȂDRtBM[^ł̃e[u
pӂDȂC̃e[u݂͊̓ŊݗvɉSR
ݒ肷Kv邽߁C\ƂD


^[QbgvZbT̒`e

J[lwb_[t@C(xxx_config.h)

J[lwb_[t@Cɂ́Cȉ̃}N֐`D^[Qbg
ˑł́Cgp^[QbgvZbT̃wb_[t@CC
prc_config.h CN[hOɃCN[hD


E݃nhԍɊւ`

  TMIN_INHNO : ݃nhԍ̍ŏl
  TMAX_INHNO : ݃nhԍ̍ől
  TNUM_INH   : ݃nh(Xp[Xȏꍇ͂̊ԂJEg)

EݔԍɊւ`

  TMIN_INTNO : ݔԍ̍ŏl
  TMAX_INTNO : ݔԍ̍ől
  TNUM_INT   : ݐ(Xp[Xȏꍇ͂̊ԂJEg)

E݃nhԍ̓EO\ݕϊ

  EXT_INHNO(iintno) : \O\
  INT_INHNO(intno)  : O\\

Eݔԍ̓EO\ݕϊ

  EXT_INTNO(iintno) : \O\
  INT_INTNO(intno)  : O\\

ECPUOnhԍɊւ`

  TMIN_EXCNO : ݃nhԍ̍ŏl
  TMAX_EXCNO : ݃nhԍ̍ől
  TNUM_EXC   : ݃nh(Xp[Xȏꍇ͂̊ԂJEg)

ECPUOnhԍ̓EO\ݕϊ

  EXT_EXCNO(iexcno) : \O\
  INT_EXCNO(excno)  : O\\

EݗvC̗D惌xݒ背WX^̐ݒ

  IPR_INFO_TBL_DATA

EIRC̏p֐()

  Inline void init_irc(void)

EIRC̊ݗDxWX^̐ݒ֐

  Inline void set_irc_ipr(uint32_t address, uint32_t offset, uint32_t val)

Ȇ݂ݒ

  Inline void x_config_intatr(INTNO intno, ATR intatr)

CFGpev[gt@C

CFGp̃ev[gt@Cɂ͈ȉ̕ϐ`D^[Qbgˑ
CFGpev[gt@Cł́Cprc.tf CN[hOɁCgp
^[QbgvZbTCFGpev[gt@CCN[h
ƁD

ELȊݔԍC݃nhԍCCPUOnhԍ

$INTNO_VALID
$INHNO_VALID
$EXCNO_VALID

EݔԍC݃nhԍCCPUOnhԍ
  E0JEgCXp[Xȏꍇ͂̊ԂJEg

$INTNO_RANGE 
$INHNO_RANGE 
$EXCNO_RANGE 


vZbT̎

gpvZbT̎ނ
@EHEW̃[NXy[XivWFNgj-cpuIvV
@ECp}N`Fshx_config.hish2a_config.hȂǁj
@EAZup}N`Fsh7xxx_asm.inc
Œ`D
`\ȓéCSH1/SH2/SH2E/SH2A ̂ꂩłD


ύX

'08/05/20 
@Eprc_initialize, prc_terminatẽV{l[
@@A[LeN`ˑōs悤ύX
@Eu_^Ɋւ`vǉ
@@@@Earch/shc/tool_stddef.h
@@@@Etarget/apsh2a_hew/target_stddef.h
@@@@@@#define TOPPERS_STDFLOAT_TYPE1ǉ
@Eprc_support.src
@@@RgC

'08/05/13 Release1.3.1
@EvWFNg2_cfg_pass2̐t@C2_cfg_pass2.motA2_cfg_pass2.map
@@@E2_cfg_pass2\Debug\1stfBNg@܂
@@@E2_cfg_pass2\Release\1stfBNg
@@ɔzuꍇɑΉ
@E2_cfg_pass2tF[Ÿˑt@C̃pX1stǉ
@Eprc_support.src
@@@EOg[X@\̌Ăяoӏ.AIFDEF`.AENDIň͂ށB
@@@EV{l[asp-1.3.1pɏC

'08/05/12 Release1.3.0
@EfBNg̕ύX
@@@asp/arch/sh12a_renesas  sh12a_hew
@@@asp/arch/sh_renesas  shc
@Easp/pdic/sh/sh_scif_renesas.hasp/arch/shc/sh_scif_shc.hɃl[
@@@sh_scif.ctarget_syssvc.hoRsh_scif_shc.hCN[hB
@@@ish_scif.c珈nˑ𕪗邽߁j


'08/02/29 Release1.1.2@ŏ̃[Xi[Xj

