=====================================================================
                         RXvZbTˑ
                                  Last Modified: '10/12/25
=====================================================================

Tv

RXˑ̓lTXGNgjNXRXt@~^[QbgƂĂD
RXɂ͂(600V[Y, 200V[Y)̃oG[V݂.
̂߁CoG[VɈقȂ镔̓oG[Ṽt@C
邱ƂɂΉD


RpC

J[l̓lTXGNgjNXRX ToolChainpăRpCD
mFo[W̓^[Qbgˑ̃hLgɋLڂD


J[l̎gp\[X

J[l͈ȉ̃\[XgpD

  ERyA}b`^C}
     RyA}b`^C}1jbggpDJ[l̃eBbN̐ɗpD
     gp郆jbg̓^[QbgɈقȂD

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


荞݃nhԍƊݔԍ

݃nhԍ(inhno)Ɗݔԍ(intno)́Cł, σxN^e[ũxN^
ԍɑΉD
LȃxN^ԍ́urx62n.hvɂĒ`


CPUOnhԍ

RXł͗OۂCPUOƂĈD

Oۂɂ͗OԍUĂȂ߁CŒxN^e[ȕ
ɗOԍU.

CPUOnhԍ͗OԍƈvD
FFFFFF80hԒn0ƂA\̈ɂԍU.
LȗOԍ́urx610.hvɂĒ`.


J[lǗ/O̊

銄ݗDxȏ̊ݗDxJ[lǗO݂̊Ƃėp
Ƃ\łDJ[lǗ݂̊̍ŏl TMIN_INTPRI Őݒ
ĂDTMIN_INTPRI ̓ftHgł́Cu-7vƂȂĂC^[Qb
gˑŏ㏑\łD^[QbgˑɂTMIN_INTPRIɁu-5v
ݒ肵ꍇCݗDxu-1vu-5v݂̊J[lǗ
݂ƂCu-6vu-7v݂̊J[lǗO݂ƂD


CFG_INTɎw\ȊݗDx

CFG_INTɎw\ȊݗDxƂẮCu-1v u-7v ܂ł̒l
ݒ\łD
J[lǗO݂ɑ΂ĂCCFG_INTŗvC̑ݒ肷邱
ƂłD
DEF_INHőɊǗ݂ݒ肷邩ǗO݂ݒ肷邩ɂ
CFG_INTɐݒ\ȊݗDx̗L͈͂قȂD^[Qbgˑɂ
TMIN_INTPRIɁu-5vݒ肵ꍇCJ[lǗ݂ɂ͊ݗDx
u-1vu-5v܂ł̒lݒ\łCJ[lǗO݂ɂ͊
Dxu-6vu-7v܂ł̒lݒ\łD


TMIN_INTPRI̒`ꏊ
ECp̒`
    ftHg̒`    Fprc_kernel.h
    ^[Qbgˑ̒`Ftarget_config.hił͖`j


ݑ

IRQ݂ɊւĂ, ȉ̑ݒ\łD
    |TA_POSEDGE
    |TA_NEGEDGE
    |TA_BOTHEDGE
    |TA_LOWLEVEL



EJ[l̃RtBM[V
  RtBM[ṼpX3irh̍\`FbNj͍sĂȂD


ӎ
ERXvZbTˑ͈ȉWindowsJCR[hSJISC
  sR[hCR+LFɐݒ肵Ďgp邱ƂOƂD

E, \̃ItZbg̃ACg̍œK{ĂȂ.
  #pragma packߓɂ, œK{ꍇ, makeoffsetvWFNg
  ēxrh邱.

EJ[lǗO݃nh̓RpCg"#pragma interrupt"ɂ
  `邱.


=====================================================================
               vZbTˑJҌ̏
=====================================================================

T|[gvZbT̒ǉ

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


^[QbgvZbT̒`e

n[hEFÃwb_[t@C(rxXX.h)

MCUˑ`t@Cɂ́Cȉ̃}N֐SFRAhX`D
iLȊȌ`Ă悢Dj

ECPUOԍ
  INT_PRIVILEGED_INSTRUNCTION
  INT_UNDEF_INSTRUNCTION
  INT_FLOATINGPOINT_INSTRUCTION
  INT_NMI
  INT_RESET

Eݔԍ
  INT_BUSERR
  INT_FCU_FCUERR
      :
      :
      :
  INT_RIIC1_TXI1
  INT_RIIC1_TEI1

EJ[l삷郌WX^
  ݗvWX^iIRj
  ݗvݒ背WX^iISELj
  ݗvWX^iIERj
  ݗvvCIeBWX^iIPRj
  IRQRg[WX^iIRQj

ERyA}b`^C}
  CMT_CMSTRx_ADDR
  CMTx_CMCR_ADDR
  CMTx_CMCNT_ADDR
  CMTx_CMCOR_ADDR

  x̓RyA}b`^C}̃`lID

EVA|[g̐
  TNUM_SIOP

EVAR~jP[VC^tF[X
  SCIx_SMR_ADDR
  SCIx_BRR_ADDR
  SCIx_SCR_ADDR
  SCIx_TDR_ADDR
  SCIx_SSR_ADDR
  SCIx_RDR_ADDR
  SCIx_SCMR_ADDR
  SCIx_SEMR_ADDR

  x̓VAR~jP[VC^tF[X̃`lID

Ȇ
  W[XgbvRg[WX^
    SYSTEM_MSTPCRA_ADDR
    SYSTEM_MSTPCRB_ADDR
    SYSTEM_MSTPCRC_ADDR


vZbTˑW[t@C(rxXX_config.c / rxXX_config.h)

vZbTˑW[t@Cɂ́Cȉ̊ݐp}N
֐f[^`D
^[Qbgˑł́Cgp^[QbgvZbT̃wb_t@C
CN[hD

EݗvvCIeBWX^AhX

  volatile uint8_t * const ipr_reg_addr[ INHNO_MAX ]

EݗvWX^AhXe[u

  const IER_INFO ier_reg_addr[ INHNO_MAX ]

EݗvWX^AhXe[u

  volatile uint8_t * const ir_reg_addr[ INHNO_MAX ]

EIRQRg[WX^AhXe[u

  volatile uint8_t * const irqcr_reg_addr[ IRQ_MAX ]


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ԍ
  E0JEgC\̈擙̊ԂJEg

$INTNO_RANGE 
$INHNO_RANGE 
$EXCNO_RANGE 


ύX
2011/11/19  EVK쐬                                  {
