                TOPPERS/JSPͥ 桼ޥ˥奢 
                            H8 åȰ¸
   
               Release 1.4бǽ: 8-Dec-2003
   
   ------------------------------------------------------------------------ 
    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) 2001-2003 by Industrial Technology Institute,
                                Miyagi Prefectural Government, JAPAN
    Copyright (C) 2001-2003 by Dep. of Computer Science and Engineering
                     Tomakomai National College of Technology, JAPAN
    Copyright (C) 2001-2003 by Kunihiko Ohnaka
    Copyright (C) 2003 by Katsuhiro Amano
   
    嵭Ԥϡʲ (1)(4) ξ狼Free Software Foundation 
    ˤäƸɽƤ GNU General Public License  Version 2 ˵
    ҤƤ˸¤ꡤܥեȥܥեȥ
    ѤΤޤࡥʲƱˤѡʣѡۡʰʲ
    ѤȸƤ֡ˤ뤳Ȥ̵ǵ롥
    (1) ܥեȥ򥽡ɤηѤˤϡ嵭
        ɽѾ浪Ӳ̵ݾڵ꤬Τޤޤηǥ
        ˴ޤޤƤ뤳ȡ
    (2) ܥեȥ򡤥饤֥ʤɡ¾Υեȥȯ˻
        ѤǤǺۤˤϡۤȼɥȡ
        ԥޥ˥奢ʤɡˤˡ嵭ɽѾ浪Ӳ
        ̵ݾڵǺܤ뤳ȡ
    (3) ܥեȥ򡤵Ȥ߹ʤɡ¾Υեȥȯ˻
        ѤǤʤǺۤˤϡΤ줫ξ
        ȡ
      (a) ۤȼɥȡѼԥޥ˥奢ʤɡˤˡ嵭
          ɽѾ浪Ӳ̵ݾڵǺܤ뤳ȡ
      (b) ۤη֤̤ˡˤäơTOPPERSץȤ
          𤹤뤳ȡ
    (4) ܥեȥѤˤľŪޤϴŪ뤤ʤ»
        ⡤嵭ԤTOPPERSץȤդ뤳ȡ
   
    ܥեȥϡ̵ݾڤ󶡤ƤΤǤ롥嵭Ԥ
    TOPPERSץȤϡܥեȥ˴ؤơŬѲǽ
    ޤơʤݾڤԤʤޤܥեȥѤˤľ
    ŪޤϴŪʤ»˴ؤƤ⡤Ǥʤ
   
    @(#) $Id: h8.txt,v 1.8 2003/12/20 09:28:17 honda Exp $

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

1.  H8 åȰ¸γ

1. 1  åȥƥȳȯĶ

  H8 ץåΥåȥƥϡH8/3048FH8/3052F H8/3067F
H8/3068FH8/3069F ܤʲΥܡɤǤ롣

   () Ż̾ AKI-H8/3048F
   () Ż̾ AKI-H8/3052F (AKI-H8-USB ܡȤ)
   () Ż̾ AKI-H8/3067F
   () Ż̾ AKI-H8/3068F
   () Ż̾ AKI-H8/3069F

ʤ⤷ʤ 1 ĤκǾǤ⡢ɬפ RAM ̤ H8 ¢
RAM ̤ΤĶ롣 Τᳰ RAM ߤɬפǡɥ쥹
ͭˤɬפ롣ߤιǤϡH8/3048F ⡼ 5 ¢ ROM
ͭĥ 1M Хȥ⡼ɡ H8/3052F ⡼ 6 ¢ ROM ͭĥ 16M
Хȥ⡼ɡ H8/3067FH8/3068FH8/3069F ⡼ 5 ¢ ROM ͭ
ĥ 16M Хȥ⡼ɤꤷƤ롣
  ȯĶϡ Windows 2000  Windows XP  cygwin γȯĶѤ
ޤǥХå⡼ɤȥ꡼⡼ɤǥ⥸塼μ¹ˡۤʤ
Ƥ롣ǥХå⡼ɤǤ () ŵ̾˥ǥХå (ʲ
˥)eCos/RedBoot ץǥХå (ʲRedBoot)ޤ
Ѿҹزʰץ˥ (ʲ ʰץ˥) H8 ¢ե
 ROM ˽񤭹ߡǥХå⥸塼 RAM ˥ɤƥǥХ
Ԥ꡼⡼ɤǤϡǥХåνλ⥸塼¢ե
 ROM ˽񤭹ळȤꤷƤ롣 ǥХå⡼ɤȥ꡼⡼
ڤؤϡ ǥ쥯ȥ $(CPU)/$(SYS) ˤ Makefile.config 
DBGENV ˤ롣

1. 2  ݡȤ뵡ǽγ

  ǽɾѥƥﻲȵǽ (vxget_tim) ϥݡȤƤ뤬 
ߥޥѹ (chg_ixx get_ixx) ߤζػߤȵ
(dis_intena_int) ϥݡȤƤʤ

1. 3  ¾ΥåȤؤΥݡƥ

  H8/300H ꡼ǤСݡƥ󥰤ưפ˽Ȼפ롣ޤ
H8S ꡼ H8S/2350 ؤΥݡƥ󥰤ԤƤꡢŪ H8 
H8S ꡼礹ͽǤ롣

1. 4  ꥢݡ (SCI)

  H8/3048F  H8/3052F ˤ SCI0  SCI1  2 ܡH8/3067FH8/3068F
H8/3069F ˤ SCI0  SCI2  3 ܤΥꥢݡȤꡢ
sys_config.h Ƥ TNUM_PORT ˤ겿ܻѤ뤫Ǥ롣
ߤμǤ 2 ܤޤǻѤǤ롣 JSP ͥΥѤˤ SCI1
ѤƤ롣 ꥢݡȤʲ˼ 

   ܡ쥤ȡ38400[bps]
   ǡĹ8 ӥåȡ
   ȥåץӥåȡ1 ӥåȡ
   ѥƥʤ

2.  H8 ץå¸εǽ

  ͥȥƥॵӥǽǡ H8 ¸ʬˤĤƲ⤹롣 

2. 1  ǡ

  int  unsigned int Υ 32 ӥåȤǤ롣ޤ_int64_ 
long long Ƥ뤬 ѥ (gcc-2.95.3) 󤫤顢32 ӥ
ȷȤƼ갷롣

2. 2  ߴǽȳߥϥɥ

  NMI ϥͥγߤǤ롣 CCR 쥸 I ӥåȤ UI
ӥåȤ򥻥åȤ뤳Ȥˤäơ CPU å롼ǡNMI
ʳγߤƶػ߲ǽǤ롣 
  H8 γߥޥϡCCR 쥸 I ӥåȤ UI ӥåȤǤ뤬
Ǥ SYSCR 쥸 UE ӥåȤ򥯥ꥢI ӥåȤ 1 ˸ꤷơ
UI ӥåȤΤγߤ椷Ƥ롣
  ¢ǥХ䳰ߤϸ̤Υ쥸ˤӥåȤΥޥȡ
ͥ쥸 (IPRA  IPRB) θ̳ߤͥ٤椷Ƥ롣
ޥʬƤΤǡ chg_ipm  IPM ǽϥݡȤƤ
ʤ

2. 3  CPU 㳰ǽ CPU 㳰ϥɥ

  ߥϥɥֹΥǡ (EXCNO)  unsigned int 
롣H8 γߤ CPU 㳰٥ ROM ΰˤꡢ ưŪƤѹ
뤿ˤ̤ˡɬפǤ뤿ᡢưŪʥϥɥϿǽϤʤ
äơ ߥϥɥؿ define_inhCPU 㳰ϥɥ
 define_exc ϡ⤷ʤؿǤ롣

2. 4  ȥåץ⥸塼

  H8 ¸Υȥåץ⥸塼 (start.S) ϼ˼¹Ԥ
塢ͥ (kernel_start) ư롣 kernel_start 
Ƥ뤳ȤꤷƤʤ

   (1)   åݥ󥿤

   (2)   hardware_init_hook θƽФ
           hardware_init_hook  0 ǤʤСhardware_init_hook 
         Фhardware_init_hook ϥͥưˡå
         ¸ΥϡɥŪʽԤѰդƤ롣 ܼ
         ǤϡSYSCR 쥸 UE ӥåȤΥꥢ ͥ쥸
          (IPRA  IPRB) θ̳ߤͥ٤ꡢ 
         ֤ͭԤäƤ롣hardware_init_hook ̤ξ硢
         󥫥ץȤεҤˤꤳΥܥ뤬 0 롣 

   (3)   bss ν
           bss ΰ 0 ꥢ롣

   (4)   data ν
           data  RAM ž롣

   (5)   software_init_hook θƽФ
           software_init_hook  0 ǤʤСsoftware_init_hook 
         Фsoftware_init_hook ϥͥưˡեȥ
         Ķ (饤֥) ¸νԤѰդƤ롣
         㤨С饤֥νʤɤǤ롣software_init_hook 
         ̤ξ硢󥫥ץȤεҤˤꤳΥܥ뤬 0 
         롣

2. 5  ȯΥå̤ˤĤ

  ߥͥȥ٥뤬 0 ǳߤȯȡ 󥿥ƥ
å˥쥸¸塢ѥåڤؤ뤿ᡢ
ƥѥå̤ PC+CCR  ER0  ER6  32 Х
Ǥ롣SP(ER7) ϳѤΥå¸롣
  ߥͥȥ٥ 0 Ǥϡ 󥿥ƥѥå˥쥸
¸뤿ᡢ ѤΥå̤ PC+CCR  ER0  ER6 
32 Хȡ(ͥȿ-1) ȡ ߥͥȥ٥ 0 ¸
SP(ER7) 

   32Хȡ(ͥȿ - 1) + 4Х

Ǥ롣ǾǤϡ¿ųߤȯǥХϡޤȥꥢ
Ϥ 3 ĤʤΤǡѤΥå̤

   32Хȡ(3 - 1) + 4Х = 68 Х

Ǥ롣

3.  ƥ¸εǽ

3. 1  ƥ९åɥ饤

  ƥ९åɥ饤Ф isig_tim ƽФϡ sys_defs.h 
TIC_NUME  TIC_DENO ƤꡢǥեȤ 1[ms] Ǥ롣
ѹ뤳Ȥǡisig_tim ƽФѹǤ롣 
H8/3048F Υå 16[MHz] ǡ ޤ٤ 0.5[us]H8/3052F 
å 25[MHz] ǡޤ٤ 0.32[us] H8/3067F H8/3068F
H8/3069F Υå 20[MHz] ǡ ޤ٤ 0.4[us] Τᡢ
ñ̤üˤʤͤꤹȡ isig_tim θƽФ˸ȯ
롣
  ǥեȤΥåǥХ H8/3048F  H8/3052F  ITU0
H8/3067FH8/3068FH8/3069F  16 ӥåȥޥ˥å 0 ѤƤ
롣

3. 2  ǽɾѥƥﻲȵǽ

  H8 Ǥϡǽɾѥƥﻲȵǽ (vxget_tim) 򥵥ݡȤƤ
롣٤ 0.5[us] ǡSYSUTIM  UD  (32 ӥåʤ) 
롣

3. 3  ꥢ륤󥿥եɥ饤

  H8/3048F  H8/3052F ˤ SCI0  SCI1  2 ܡH8/3067FH8/3068F
H8/3069F ˤ SCI0  SCI2  3 ܤΥꥢݡȤꡢ
sys_config.h Ƥ TNUM_PORT ˤ겿ܻѤ뤫Ǥ롣
ߤμǤ 2 ܤޤǻѤǤ롣 JSP ͥΥѤˤ SCI1
ѤƤ롣

3. 4  ޥå

3. 4. 1  H8/3048F Υޥå

  ɥ쥹֤ͭˤɬפ뤿ᡢ⡼ 5 ¢ ROM ͭ
ĥ 1M Хȥ⡼ɤꤷƤ롣

   (1)   ǥХå

         0x00000 - 0x1ffff  ¢ ROM˥
         0x20000 - 0x3ffff   RAM.text.rodata.data.bss
         0xfef10 - 0xfefff  ¢ RAM˥
         0xff000 - 0xff0ff  ¢ RAM۳ߥ٥ΰ (.vectors)
         0xff100 - 0xfff0f  ¢ RAM󥿥ƥѥå
         0xfff1c - 0xfffff  ¢ I/O 쥸

   (2)   ꡼

         0x00000 - 0x1ffff  ¢ ROM.vectors.text.rodata
         0x20000 - 0xfef0f   RAM.data.bss
         0xfef10 - 0xfff0f  ¢ RAM󥿥ƥѥå
         0xfff1c - 0xfffff  ¢ I/O 쥸

3. 4. 2  H8/3052F Υޥå

  ¢Ǥ­뤿ᡢ AKI-H8-USB ܡɤ夷
AKI-H8-USB ܡɤˤ 128K ХȤ RAM ѤƤ롣Τᡢ
ɥ쥹֤ͭˤɬפꡢ⡼ 6 ¢ ROM ͭĥ 16M
Хȥ⡼ɤꤷƤ롣

   (1)   ǥХå

         0x000000 - 0x07ffff  ¢ ROMʰץ˥
         0x220000 - 0x23ffff   RAM.text.rodata.data.bss
         0xffdf10 - 0xffdfff   RAMʰץ˥
         0xffe000 - 0xffe0ff  ¢ RAM۳ߥ٥ΰ (.vectors)
         0xffe100 - 0xffff0f  ¢ RAM󥿥ƥѥå
         0xffff1c - 0xffffff  ¢ I/O 쥸

   (2)   ꡼

         0x000000 - 0x05ffff  ¢ ROM.vectors.text.rodata
         0x220000 - 0x23ffff   RAM.data.bss
         0xffef10 - 0xffff0f  ¢ RAM󥿥ƥѥå
         0xffff1c - 0xffffff  ¢ I/O 쥸

3. 4. 3  H8/3067F Υޥå

  ɥ쥹֤ͭˤɬפ뤿ᡢ⡼ 5 ¢ ROM ͭ
ĥ 16M Хȥ⡼ɤꤷƤ롣

   (1)   ǥХå

         0x000000 - 0x01ffff  ¢ ROM˥
         0x200000 - 0x2000ff  ¢ RAM۳ߥ٥ΰ (.vectors)
         0x200100 - 0x207f23   RAM.text.rodata.data.bss
         0x207f24 - 0x207fff   RAM˥
         0xee0000 - 0xee0081  ¢ I/O 쥸
         0xffef20 - 0xffff1f  ¢ RAM󥿥ƥѥå
         0xffff20 - 0xffffe9  ¢ I/O 쥸

   (2)   ꡼

         0x000000 - 0x01ffff  ¢ ROM.vectors.text.rodata
         0x200000 - 0x207fff   RAM.data.bss
         0xee0000 - 0xee0081  ¢ I/O 쥸
         0xffef20 - 0xffff1f  ¢ RAM󥿥ƥѥå
         0xffff20 - 0xffffe9  ¢ I/O 쥸

3. 4. 4  H8/3068F Υޥå

  ɥ쥹֤ͭˤɬפ뤿ᡢ⡼ 5 ¢ ROM ͭ
ĥ 16M Хȥ⡼ɤꤷƤ롣

   (1)   ǥХå

         0x000000 - 0x05ffff  ¢ ROMʰץ˥
         0x400000 - 0x4fffff   RAM.text.rodata
         0x500000 - 0x5fffff   RAM.data.bss
         0xee0000 - 0xee0081  ¢ I/O 쥸
         0xffbf20 - 0xffbfff   RAMʰץ˥
         0xffc000 - 0xffc0ff  ¢ RAM۳ߥ٥ΰ (.vectors)
         0xffc100 - 0xffff1f  ¢ RAM󥿥ƥѥå
         0xffff20 - 0xffffe9  ¢ I/O 쥸

   (2)   ꡼

         0x000000 - 0x05ffff  ¢ ROM.vectors.text.rodata
         0x400000 - 0x5fffff   RAM.data.bss
         0xee0000 - 0xee0081  ¢ I/O 쥸
         0xffbf20 - 0xffff1f  ¢ RAM󥿥ƥѥå
         0xffff20 - 0xffffe9  ¢ I/O 쥸

3. 4. 5  H8/3069F Υޥå

  ɥ쥹֤ͭˤɬפ뤿ᡢ⡼ 5 ¢ ROM ͭ
ĥ 16M Хȥ⡼ɤꤷƤ롣

   (1)   ǥХå (ʰץ˥ѻ)

         0x000000 - 0x07ffff  ¢ ROMʰץ˥
         0x400000 - 0x4fffff   RAM.text.rodata
         0x500000 - 0x5fffff   RAM.data.bss
         0xee0000 - 0xee0081  ¢ I/O 쥸
         0xffbf20 - 0xffbfff   RAMʰץ˥
         0xffc000 - 0xffc0ff  ¢ RAM۳ߥ٥ΰ (.vectors)
         0xffc100 - 0xffff1f  ¢ RAM󥿥ƥѥå
         0xffff20 - 0xffffe9  ¢ I/O 쥸

   (2)   ǥХå (RedBoot ѻ)

         0x000000 - 0x07ffff  ¢ ROMRedBoot˥
         0x400000 - 0x44ffff   RAM.text.rodata
         0x450000 - 0x4ffeff   RAM.data.bss
         0x4fff00 - 0x4fffff   RAMߥ٥ΰ (.vectors)
         0x500000 - 0x510000   RAM󥿥ƥѥå
         0xee0000 - 0xee0081  ¢ I/O 쥸
         0xffbf20 - 0xfffd1f  ¢ RAMRedBoot˥
         0xfffd20 - 0xfffe1f  ¢ RAM۳ߥ٥ΰ
                              (cpu_config.c.vectors饳ԡ)
         0xffff20 - 0xffffe9  ¢ I/O 쥸

   (3)   ꡼

         0x000000 - 0x07ffff  ¢ ROM.vectors.text.rodata
         0x400000 - 0x5fffff   RAM.data.bss
         0xee0000 - 0xee0081  ¢ I/O 쥸
         0xffbf20 - 0xffff1f  ¢ RAM󥿥ƥѥå
         0xffff20 - 0xffffe9  ¢ I/O 쥸

4.  ȯ

4. 1  ȯĶι

  ȯĶϡ Windows 2000  Windows XP  cygwin γȯĶѤ
ܼѤСʲ˼ 

   binutils-2.11.2
   gcc-2.95.3
   newlib-1.9.0

configure Υץ --target=h8300-hms Ǥ롣 ޤbinutils 
configure Υץˤ --disable-nls ꤹ뤳ȡ
  ޤǥХåΤᡢ˥RedBoot ʰץ˥Ѥ뤳
Ǥ롣

4. 2  sample1.h 

  sample1.h ǡ֥åȰ¸CPU 㳰ϥɥεưˡʤɡˡ
 H8 ¸ǡTASK_PORTID  2Ĥޤ SCI1 ꤷƤ롣⤷¾
ݡȤѤϡ ͤѹ뤳ȡ

4. 3  åȤؤΥɤȼ¹

  åȤؤΥɤȼ¹Ԥˤϡ˥RedBoot ޤϴ
ץ˥Ѥˡľ H8 Υեå ROM ˽񤭹Ǽ¹Ԥ
ˡ롣

   (1)   H8/3048F ǽ˥Ѥˡ (ǥХå⡼)
           ǥ쥯ȥ $(CPU)/$(SYS) ˤ

            MakefileDBGENV := AKI_MONITOR

         ͭˤ make 롣 ˡH8/3048F γ RAM ؤΥ
         ͭˤʤФʤʤRAM ιˤۤʤ뤬 
         쥹Х A0  A19 ȥǡХ D8  D15 ͭˤ
         ϡʲ˼ݡȤ 0xff 񤭹ࡣ

            Port   Address
            P1DDR  0xfffc0
            P2DDR  0xfffc1
            P3DDR  0xfffc4
            P5DDR  0xfffc8

         ǸüեȤѤ jsp.srec  H8/3048F ž 
         Ԥ롣

   (2)   H8/3067F ǽ˥Ѥˡ (ǥХå⡼)
           H8/3067F Ǥϡ RAM ̤­Ƥ뤿ᡢ ߤɬ
         Ǥ롣ǥ쥯ȥ $(CPU)/$(SYS) ˤ

            MakefileDBGENV := AKI_MONITOR

         ͭˤ make 롣 H8/3067F Ǥϳ RAM ؤΥ
         ǤͭˤʤäƤ뤿ᡢä˲⤻ˡ üեȤ
          jsp.srec  H8/3067F ž¹Ԥ뤳ȤǤ롣

   (3)   H8/3052F H8/3068F8/3069F Ǵʰץ˥Ѥˡ (ǥХ
         ⡼)
           ܾ븩ȵ祻󥿡ͤۤƤƤѾҹ
         زʰץ˥ mon3052.mot (H8/3052F )mon3068.mot
         (H8/3068FH8/3069F )  H8 ¢եå ROM ˽񤭹
         ࡣʲˡˡ򼨤

         [1]   ǥ쥯ȥ $(CPU)/$(SYS) ˤ

                  MakefileDBGENV := AKI_MONITOR

               ͭˤ make 롣
         [2]   üեȤ˥ޥ ld Ϥ롣
         [3]   üեȤ jsp.srec 롣
         [4]   üեȤ˥ޥ go Ϥȼ¹Ԥ
               롣

   (4)   H8/3069F  RedBoot Ѥˡ
           ǥ쥯ȥ $(CPU)/$(SYS) ˤ

            MakefileDBGENV := REDBOOT

         ͭˤ make 롣
           ʲϡ ŷ󶡤ˤˡǤ롣

         RedBootб
         http://sourceforge.jp/projects/ecos-h8/
         ꡼Ǥ"h8write -3069 -f20 redboot.mot" ǾƤ

         ġɤƥ󥹥ȡ(Win桼)
         TFTPСforWin32
         http://www.vector.co.jp/soft/win95/net/se174412.html
         Tera Term Pro
         http://www.sakurachan.org/soft/teraterm-j/
         
         TFTPСΥեjsp.S˻
         Tera Term Pro򥤥󥹥ȡ뤷˥ޥեʲˤ
         ttpmacro.exe ؤΥ硼ȥåȤ
         Υץѥƥ-akiboot.ttlɲ
         "C:\Program Files\TTERMPRO	tpmacro.exe" akiboot.ttl
         
         akiboot.ttlΥץ
         ; Sample macro for Tera Term
         ;Ķեɤ
         ;connect '/F=redboot.ini'
         ;ǥեǥɤ
         connect ''
         ;ԥɤäƥץץȤǤΤԤ
         sendln
         UsernamePrompt = 'RedBoot>'
         ;IPɥ쥹ϴĶˤäѹƤ
         ;-l akiܡɤIP -h TFTPСIP
         ipset = 'ip_address -l 192.168.0.12 -h 192.168.0.10'
         load = 'load -b 0x400000 jsp.S'
         go = 'go 0x400000'
         ; ip
         wait   UsernamePrompt
         sendln ipset
         ; load
         wait   UsernamePrompt
         sendln load
         ; go
         wait   UsernamePrompt
         sendln go
         ; OK, boot complete.

   (5)   ¢եå ROM ˽񤭹Ǽ¹Ԥˡ (꡼⡼)
           ǥ쥯ȥ $(CPU)/$(SYS) ˤ Makefile.config Υǥ
         ȥ $(CPU)/$(SYS) ˤ Makefile 

            DBGENV := AKI_MONITOR
            DBGENV := REDBOOT

         򶦤˥ȥȤ make 롣ˡ() Ż̾
         Υեå ROM 񤭹ߥץǡ եå ROM ˽
         ࡣ

4. 4  H8/3048F γ RAM ͭ

  ꡼⡼ɤǤϡ sys_support.S  _hardware_init_hook ǡɥ
Х A0  A19 ȥǡХ D8  D15 ͭˤ塢ͥ
¹Ԥ롣 ʳ˥ɥ쥹ХȥǡХͭˤϡ
sys_config.h ΰʲʬŬԽ롣

   /*
    *  ɥ쥹
    */
   /*#define ENABLE_LOWER_DATA*/
   #define ENABLE_P8_CS        (H8P8DDR_CS0|H8P8DDR_CS1|\
                                H8P8DDR_CS2|H8P8DDR_CS3)
   /*#define ENABLE_PA_CS      (H8PADDR_CS4|H8PADDR_CS5|H8PADDR_CS6)*/
   /*#define ENABLE_PB_CS       H8PBDDR_CS7*/
   #define ENABLE_PA_A21_A23   (H8BRCR_A23E|H8BRCR_A22E|H8BRCR_A21E)

4. 5  H8/3052F γ RAM ͭ

  ꡼⡼ɤǤϡ sys_support.S  _hardware_init_hook ǡɥ
Х A0  A23 ǡХ D8  D15 åץ쥯 CS0 
CS3 ͭˤ塢ͥ¹Ԥ롣ʳ˥ɥ쥹Хȥǡ
Хͭˤϡsys_config.h ΰʲʬŬԽ롣

   /*
    *  ɥ쥹
    */
   /*#define ENABLE_LOWER_DATA*/
   #define ENABLE_P8_CS        (H8P8DDR_CS0|H8P8DDR_CS1|\
                                H8P8DDR_CS2|H8P8DDR_CS3)
   /*#define ENABLE_PA_CS      (H8PADDR_CS4|H8PADDR_CS5|H8PADDR_CS6)*/
   /*#define ENABLE_PB_CS       H8PBDDR_CS7*/
   #define ENABLE_PA_A21_A23   (H8BRCR_A23E|H8BRCR_A22E|H8BRCR_A21E)

4. 6  H8/3067FH8/3068FH8/3069F γ RAM ͭ

  ꡼⡼ɤǤϡ sys_support.S  _hardware_init_hook ǡɥ
Х A0  A23 ǡХ D8  D15 åץ쥯 CS0 
CS3 ͭˤ塢ͥ¹Ԥ롣ʳ˥ɥ쥹Хȥǡ
Хͭˤϡsys_config.h ΰʲʬŬԽ롣

   /*
    *  ɥ쥹
    */
   #define     ENABLE_P8_CS    (H8P8DDR_CS0|H8P8DDR_CS1|\
                                H8P8DDR_CS2|H8P8DDR_CS3)
   #if 0
   #define     ENABLE_LOWER_DATA
   #define     ENABLE_PB_CS    (H8PADDR_CS4|H8PADDR_CS5|\
                                H8PADDR_CS6|H8PBDDR_CS7)
   #endif      /* of #if 0 */

5.  ե빽

5. 1  ǥ쥯ȥꡦե빽

   (1)   config/h8/

            Makefile.config  Makefile  H8 ¸
            cpu_config.c     H8 ץå¸ C ؿ
            cpu_config.h     H8 ץå¸ι
            cpu_context.h    H8 ץå¸Υƥ
            cpu_defs.h       H8 ץå¸Υץꥱ
            cpu_insn.h       H8 ץåΥ֥ inline ؿ
            cpu_support.S    H8 ץåΥ֥ؿ
            cpu_rename.def   ͥ̾Υ͡Ȥβꥹ
            cpu_rename.h     ͥ̾Υ͡
            cpu_unrename.h   ͥ̾Υ͡
            h8.h             H8/300H ץåζ
            hw_serial.c      SCI ѿȴؿ
            hw_serial.cfg    SCI Υե졼ե
            hw_serial.h      SCI 
            hw_timer.h       ITU 
            makeoffset.c     offset.h ݡȴؿ
            start.S          ȥåץ⥸塼
            tool_config.h    H8 ץåγȯĶ¸⥸塼
            tool_defs.h      H8 ץåγȯĶ¸

   (2)   config/h8/akih8_3048f/
           () Ż̾ AKI-H8/3048F ܡɤΰ¸ʬ

            Makefile.config  Makefile  AKI-H8/3048F ܡɰ¸
            h8_3048f.h       H8/3048F ץå
            debug.ld         ǥХåѥ󥫥ץ
            release.ld       ꡼ѥ󥫥ץ
            sys_config.c     AKI-H8/3048F ܡɰ¸ C ؿ
            sys_config.h     AKI-H8/3048F ܡɰ¸ι
            sys_defs.h       AKI-H8/3048F ܡɰ¸Υץꥱ
            sys_support.S    AKI-H8/3048F ܡɰ¸Υ֥ؿ
            sys_rename.def   ͥ̾Υ͡Ȥβꥹ
            sys_rename.h     ͥ̾Υ͡
            sys_unrename.h   ͥ̾Υ͡

   (3)   config/h8/akih8_3052f/
           () Ż̾ AKI-H8/3052F ܡɤΰ¸ʬ

            Makefile.config  Makefile  AKI-H8/3052F ܡɰ¸
            h8_3052f.h       H8/3052F ץå
            debug.ld         ǥХåѥ󥫥ץ
            release.ld       ꡼ѥ󥫥ץ
            sys_config.c     AKI-H8/3052F ܡɰ¸ C ؿ
            sys_config.h     AKI-H8/3052F ܡɰ¸ι
            sys_defs.h       AKI-H8/3052F ܡɰ¸Υץꥱ
            sys_support.S    AKI-H8/3052F ܡɰ¸Υ֥ؿ
            sys_rename.def   ͥ̾Υ͡Ȥβꥹ
            sys_rename.h     ͥ̾Υ͡
            sys_unrename.h   ͥ̾Υ͡

   (4)   config/h8/akih8_3067f/
           () Ż̾ AKI-H8/3067F ܡɤΰ¸ʬ

            Makefile.config  Makefile  AKI-H8/3067F ܡɰ¸
            h8_3067f.h       H8/3048F ץå
            debug.ld         ǥХåѥ󥫥ץ
            release.ld       ꡼ѥ󥫥ץ
            sys_config.c     AKI-H8/3067F ܡɰ¸ C ؿ
            sys_config.h     AKI-H8/3067F ܡɰ¸ι
            sys_defs.h       AKI-H8/3067F ܡɰ¸Υץꥱ
            sys_support.S    AKI-H8/3067F ܡɰ¸Υ֥ؿ
            sys_rename.def   ͥ̾Υ͡Ȥβꥹ
            sys_rename.h     ͥ̾Υ͡
            sys_unrename.h   ͥ̾Υ͡

   (5)   config/h8/akih8_3068f/
           () Ż̾ AKI-H8/3068F ܡɤΰ¸ʬ

            Makefile.config  Makefile  AKI-H8/3068F ܡɰ¸
            h8_3068f.h       H8/3048F ץå
            debug.ld         ǥХåѥ󥫥ץ
            release.ld       ꡼ѥ󥫥ץ
            sys_config.c     AKI-H8/3068F ܡɰ¸ C ؿ
            sys_config.h     AKI-H8/3068F ܡɰ¸ι
            sys_defs.h       AKI-H8/3068F ܡɰ¸Υץꥱ
            sys_support.S    AKI-H8/3068F ܡɰ¸Υ֥ؿ
            sys_rename.def   ͥ̾Υ͡Ȥβꥹ
            sys_rename.h     ͥ̾Υ͡
            sys_unrename.h   ͥ̾Υ͡

   (6)   config/h8/akih8_3069f/
           () Ż̾ AKI-H8/3069F ܡɤΰ¸ʬ

            Makefile.config  Makefile  AKI-H8/3069F ܡɰ¸
            h8_3069f.h       H8/3048F ץå
            debug.ld         ǥХå (ʰץ˥б) ѥ󥫥ץ
            debug_redboot.ld ǥХå (RedBootб) ѥ󥫥ץ
            release.ld       ꡼ѥ󥫥ץ
            sys_config.c     AKI-H8/3069F ܡɰ¸ C ؿ
            sys_config.h     AKI-H8/3069F ܡɰ¸ι
            sys_defs.h       AKI-H8/3069F ܡɰ¸Υץꥱ
            sys_support.S    AKI-H8/3069F ܡɰ¸Υ֥ؿ
            sys_rename.def   ͥ̾Υ͡Ȥβꥹ
            sys_rename.h     ͥ̾Υ͡
            sys_unrename.h   ͥ̾Υ͡
