R8C/23 スターターキットボード
少し前のキットで,いまさらどうでも良いのであるが情報の置き場がないので,ここにメモしておく
- E8A エミュレータ用プログラム専有領域: R8C/23(R5F21237)の場合
- ベクタ領域
- FFE4h -- FFE7h
- FFE8H -- FFEBh
- FFECh -- FFEFh
- FFF4h -- FFF7h
- FFF8h -- FFFBh
- FFFCh -- FFFEh
- RAM領域:なし
- ブレーク時に8バイトのスタック領域を使うので,余裕をもたせる
- ROM領域(デフォルト領域): なし
- ベクタ領域
- E8Aが使うSFR
- PRCR.bit0
- FRA0.bit0
- FRA1
- FMR4.bit7
- AIER
- RMAD0, RMAD1
- U1{MR, BRG, TB, C0, C1, RB}
- PMR.bit4
- メモリ(R5F21237JFP)
- プロセッサモード
- シングルチップモードのみ
- PM0, PM1 を共に0にする
- PRC1 を 1 にしてから設定する
- クロック
- リセット直後
- 低速オンチップオシレータが使われている
- 初期化時に変更する必要がある
- 通常動作時
- XINクロック発振回路を使う
- CM02=0 WAITモード時,周辺回路クロック停止しない
- CM03=1 1にする必要がある
- CM05=0 XINクロックを発振動作にする
- CM06=0 分周比はCM16,CM17 で決定
- よって,CM0 = 0x08
- CM0 は PRC0 を 1 にしてから設定する
- CM10=0 クロック発振
- CM13=1 XIN-OUT端子をクロック端子として使う
- CM14=1 低速オンチップオシレータ停止 → 設定必要なし
- これを設定する前に OCD2 を 0 にする
- これはシステムクロックをXINにするということ
- CM16,17=00 クロック分周なし
- CM1 は PRC0 を 1 にしてから設定する
- リセット直後
- LED
- LED0 MO_Vp → P2_4
- PD2_4 = 1(出力)
- TRD0ER1.EA1 = 1
- LED1 MP_Wp → P2_5
- PD2_5 = 1
- TRD0ER1.EB1 = 1
- LED2 MP_Vn → P2_6
- PD2_6 = 1
- TRD0ER1.EC1 = 1
- LED3 MP_Wn → P2_7
- PD2_7 = 1
- TRD0ER1.ED1 = 1
- LED0 MO_Vp → P2_4
- SW
- SW1 IRQ0/TRIGa → P4_5
- 入力ポート → PD4_5 = 0
- INT0 → PD4_5=0, INTEN.INT0EN=1
- SW2 TRIGb(TRAIO/INT1) → P1_7
- 入力ポート → PD1_7=0, TRAIOC.TIOSEL=0
- または,TRAIOC.TOPCR=1(タイマモードでは0に)
- SW3 IRQ3 → P1_3
- SW1 IRQ0/TRIGa → P4_5
- PWM
- TRDIOB0 を使うとき,18pin(P2_1)
- ボードのJA2の13pin(MO_Vp)
- PWMモードのポート設定
- PD2_1 = X
- TRD0ER1.EB0 = 0
- TRDFCR.CMD1=0
- TRDFCR.CMD1=0
- TRDFCR.PWM3=1
- TRDPMR.PWMB0=1
- TRDIORA0.IOB{2,1,0}=X
- TRDIOB0 を使うとき,18pin(P2_1)
- LCD
- D4 → P0_0
- D5 → P0_1
- D6 → P0_2
- D7 → P0_3
- RS → P1_1
- E → P1_2
- シリアル
- TX → IRQ1/IO_6 → P6_6
- RX → IRQ2/IO_7 → P6_7