init.sysの仕様

DiskToolで固めるファイル群に含めるとMES2.4システム初期化前に任意の内容で制御レジスタの初期化が可能。

  1. init.sysコマンド
  2. half 設定データ長を2バイトに設定
    byte 設定データ長を1バイトに設定
    long 設定データ長を4バイトに設定
    set 制御レジスタへの設定を代入動作にする
    or 制御レジスタへの設定を論理和演算にする
    or 制御レジスタへの設定を設定データを反転して論理積演算にする
    ## 対象行をコメントにする
    end init.sysの最後に記述しなければならない

  3. init.sys設定例
  4. SH7706LANボード付属LEDを点灯
    ## SCPCR &= ~0x0300
    half
    and
    0xa4000116=0x0300
    ## SCPCR |= 0x0100
    or
    0xa4000116=0x0100
    ## SCPDR |= 0x10
    byte
    0xa4000136=0x10
    ##
    end

    SH7144/SH7084ボード付属LEDを点灯
    half
    ## PADRL |= 0x0004
    ## PAIORL |=0x0004
    or
    0xffffd102=0x0004
    0xffffd106=0x0004
    end


config.sysの仕様

MES2.4r4より一部仕様変更となりました

  1. メインメモリ構成設定
  2. sramとdramは同時に指定ができない / いずれかを選択
    sram
     SRAMメモリ物理構成指定

     SH7706LANは設定不要
    sram.addr=[SRAMの先頭アドレス]
     例) sram.addr=0x400000
    sram.size=[SRAMのメモリ容量]
     例) sram.size=0x80000
    sram.bussiz=[SRAMのバス幅]
     例) sram.bussiz=16
    sram.wait=[SRAMのウェイト数]
     例) sram.wait=1
    dram
     DRAMメモリ物理構成指定

     SH7706LANは設定不要
     SH708xは-CS3/CL2のみサポート
    dram.addr=[DRAMの先頭アドレス]
     例) dram.addr=0x400000
    dram.size=[DRAMのメモリ容量]
     例) dram.size=0x80000
    dram.bussiz=[DRAMのバス幅]
     例) dram.bussiz=16
    dram.wait=[DRAMのウェイト数]
     例) dram.wait=1
    flush
     フラッシュメモリ物理構成指定

     ROMディスク利用時のみ指定
    flush.addr=[フラッシュの先頭アドレス]
     例) flush.addr=0x400000
    flush.size=[フラッシュのメモリ容量]
     例) flush.size=0x80000
    flush.bussiz=[フラッシュのバス幅]
     例) flush.bussiz=16
    flush.wait=[フラッシュのウェイト数]
     例) flush.wait=1
    mem
     MESで使用するメモリ領域を指定
    mem.addr=[先頭アドレス]
     例) mem.addr=0x400000
    mem.size=[メモリサイズ]
     例) mem.size=0x40000

  3. デバイスドライバ関連
  4. 同じデバイスは1つの行でまとめて記述してください
    ram0
     RAMディスクで使用するメモリ領域を指定

     MESのメモリ領域と重複してはならない
    addr=[先頭アドレス]
     例) addr=0x440000
    size=[メモリサイズ]
     例) size=0x40000
    resport=[初期化スイッチ接続のI/Oポート端子]
     RAMバックアップ時に内容を初期化する
     RAMをバックアップしない場合は省略する
     例) resport=pa0
    sci0 / sci1 /sci2 ...
     シリアルポートの通信速度設定

     SCIの入力クロック周波数指定が必須
    freq=[SCIの入力クロック周波数 / Hz]
     例) freq=24000000
    baud=[通信速度 / bps]
     例) baud=57600
    dmac=[SCI通信で使うDMAC番号]
     SH2のSCI0/SCI1のみ有効
     例) dmac=3
    addr=[i8051/16550の先頭アドレス]
     SH内蔵SCIは指定不要
     例) addr=0xb4000000
    bussiz=[i8051/16550のバス幅]
     SH内蔵SCIは指定不要
     例) bussiz=8
    wait=[i8051/16550のウェイト数]
     SH内蔵SCIは指定不要
     例) wait=15
    rxd=[RxD端子接続のI/Oポート端子]
     同じRxD端子が複数ある場合のみ選択をする
     例) rxd=pe11
    txd=[TxD端子接続のI/Oポート端子]
     同じTxD端子が複数ある場合のみ選択をする
     例) txd=pe12
    mmc0 / mmc1
     MMCカードのインターフェース設定
    ssu
     SH708xでSSU高速アクセス機能を利用
    cs=[CS端子接続のI/Oポート端子]
     例) cs=pe6
    sio=[MMCカード制御で使うSCI番号]
     SSU使用時は省略
     例) sio=2
    eject=[EJECT端子接続のI/Oポート端子]
     EJECT端子を使わない場合は省略
     例) eject=pe9
    csinv=1
     CS端子にNOT回路を介した場合のみ指定
     SSU使用時は省略
    clk=[CLK端子接続のI/Oポート端子]
     同じSCK端子が複数ある場合のみ選択をする
     SSU使用時は省略
     例) clk=pe9
    cmd=[CLK端子接続のI/Oポート端子]
     同じRxD端子が複数ある場合のみ選択をする
     SSU使用時は省略
     例) clk=pe11
    dat=[CLK端子接続のI/Oポート端子]
     同じTxD端子が複数ある場合のみ選択をする
     SSU使用時は省略
     例) clk=pe12
    lcd0 / lcd1
     キャラクタLCDのインターフェース設定
    d4=[D4端子接続のI/Oポート端子]
     例) d4=pe0
    d5=[D5端子接続のI/Oポート端子]
     例) d5=pe1
    d6=[D6端子接続のI/Oポート端子]
     例) d6=pe2
    d7=[D7端子接続のI/Oポート端子]
     例) d7=pe3
    rs=[RS端子接続のI/Oポート端子]
     例) rs=pe4
    ena=[E端子接続のI/Oポート端子]
     例) ena=pe5
    row=[LCDの行数]
     例) row=2
    col=[LCDの桁数]
     例) col=16
    ps2data=[PS/2のDATA端子接続のI/Oポート端子]
     キーボード未使用時は省略
     例) ps2data=pb5
    ps2clk=[PS/2のCLK端子接続のI/Oポート端子]
     キーボード未使用時は省略
     例) ps2clk=pb7
    irq=[PS/2のCLK端子接続のIRQ番号]
     キーボード未使用時は省略
     例) irq=5
    key=[キーボードの種類]
     キーボード未使用時は省略
     例) key=us101
     例) key=jp106
    lcd0 / lcd1
     グラフィックLCD/SG12864のインターフェース設定
    d0=[D0端子接続のI/Oポート端子]
     例) d0=pe0
    d1=[D1端子接続のI/Oポート端子]
     例) d1=pe1
    d2=[D2端子接続のI/Oポート端子]
     例) d2=pe2
    d3=[D3端子接続のI/Oポート端子]
     例) d3=pe3
    d4=[D4端子接続のI/Oポート端子]
     例) d4=pe4
    d5=[D5端子接続のI/Oポート端子]
     例) d5=pe5
    d6=[D6端子接続のI/Oポート端子]
     例) d6=pe13
    d7=[D7端子接続のI/Oポート端子]
     例) d7=pe14
    rs=[RS端子接続のI/Oポート端子]
     例) rs=pe15
    rw=[RW端子接続のI/Oポート端子]
     例) rw=pb0
    ena=[E端子接続のI/Oポート端子]
     例) ena=pb1
    cs1=[CS1端子接続のI/Oポート端子]
     例) cs1=pb6
    cs2=[CS2端子接続のI/Oポート端子]
     例) cs2=pb7
    ps2data=[PS/2のDATA端子接続のI/Oポート端子]
     キーボード未使用時は省略
     例) ps2data=pb5
    ps2clk=[PS/2のCLK端子接続のI/Oポート端子]
     キーボード未使用時は省略
     例) ps2clk=pb7
    irq=[PS/2のCLK端子接続のIRQ番号]
     キーボード未使用時は省略
     例) irq=5
    key=[キーボードの種類]
     キーボード未使用時は省略
     例) key=us101
     例) key=jp106
    ne0 / ne1
     イーサネットコントローラ構成指定
     RTL8019AS / AX88796BLF
    addr=[イーサネットコントローラの先頭アドレス]
     例) addr=0x800000
    bussiz=[イーサネットコントローラのバス幅]
     例) bussiz=8
    wait=[イーサネットコントローラのウェイト数]
     例) wait=15
    mii=[物理メディアインターフェースの設定]
     AX88796BLFのみ有効
     HUB自動検出) mii=sense
     100BaseTX全二重) mii=100fd
     100BaseTX半二重) mii=100hd
     10BaseT全二重) mii=10fd
     10BaseT半二重) mii=10hd
    usb0 / usb8
     USBホストコントローラ構成指定
     SL811HST / ISP1362
    areg=[アドレスレジスタのアドレス]
     例) areg=0x200002
    dreg=[データレジスタのアドレス]
     例) dreg=0x200002
    bussiz=[コントローラのバス幅]
     例) bussiz=8
    wait=[コントローラのウェイト数]
     例) wait=15
    rom0
     ROMディスクで使用するメモリ領域を指定
    addr=[先頭アドレス]
     例) addr=0x200000
    size=[メモリサイズ]
     例) size=0x200000
    hdd0 / hdd2
     ATAディスク(HDD/CF)のインターフェース設定
    priaddr=[プライマリーレジスタの先頭アドレス]
     例) priaddr=0x200000
    2ndaddr=[セカンダリーレジスタの先頭アドレス]
     例) 2ndaddr=0x200040
    resport=[リセット端子接続のI/Oポート端子]
     例) resport=pa0
    busysec=[HDDへのアクセス待ちの最大時間[秒]を指定]
     例) busysec=5
    rtc0
     RTC8564のインターフェース設定
    sda=[SDA端子接続のI/Oポート端子]
     例) sda=pa8
    scl=[SCL端子接続のI/Oポート端子]
     例) scl=pa5
    i2c0
     シリアルEEPROMディスク(24xx)のインターフェース設定
    sda=[SDA端子接続のI/Oポート端子]
     例) sda=pb3
    scl=[SCL端子接続のI/Oポート端子]
     例) scl=pb2
     sdaとsclは同じポートでなければならない
    size=[EEPROMの容量]
     例) size=0x20000
    page=[セクタサイズ]
     例) page=256

  5. システム構成設定
  6.                 
    boot
     起動方法の指定
    boot.dev=[デフォルトのデバイス]
     USB機器の指定は不可
     例) boot.dev=ram0
    boot.stdio=[標準入出力デバイス]
     通常は省略
     例) boot.stdio=com1
     例) boot.stdio=lcd0
    boot.shell=[コマンドインタープリタの名称]
     省略時はshell.exe
     例) boot.shell=shell.exe
    sys.arpsetip
     外部よりARPコマンドでIP設定を行う場合に指定
     DHCP使用時は指定してはならない
    オプションなし
    sys.netbios
     ポート番号137/138/139のパケットを通す
     デフォルトではポート番号137/138/139のパケットを破棄
    オプションなし
    sys.use_timer
     MESで使用するタイマー
     省略時はWDTを使用
     SH714xはWDT/MTUを使用
     SH708xとSH7706はWDT/CMTを使用
    オプションなし
     例) sys.use_timer0
     例) sys.use_timer1
     例) sys.use_timer2
     例) sys.use_timer3
     例) sys.use_timer4
    sys.files
     MESで使用可能な最大ファイル数
    オプションなし
     通常は省略
     例) sys.files=32
    end
     config.sysの終端
    オプションなし

  7. I/Oポート端子指定
  8. SH7706 ポートA : pta0 / pta1 / pta2 / pta3 / pta4 / pta5 / pta6 / pta7
    ポートB : ptb0 / ptb1 / ptb2 / ptb3 / ptb4 / ptb5 / ptb6 / ptb7
    ポートC : ptc0 / ptc1 / ptc2 / ptc3 / ptc4 / ptc5 / ptc6 / ptc7
    ポートD : ptd0 / ptd1 / ptd2 / ptd3 / ptd4 / ptd5 / ptd6 / ptd7
    ポートE : pte0 / pte1 / pte2 / pte3 / pte4 / pte5 / pte6 / pte7
    ポートF : ptf0 / ptf1 / ptf2 / ptf3 / ptf4 / ptf5 / ptf6
    ポートG : ptg0 / ptg1 / ptg2 / ptg3 / ptg4 / ptg5
    ポートH : pth0 / pth1 / pth2 / pth3 / pth4 / pth5 / pth6
    ポートJ : ptj0 / ptj1 / ptj2 / ptj3
    SCポート : scp0 / scp1 / scp2 / scp3 / scp4 / scp5
    SH7044
    SH7045
    SH7144
    SH7145
    SH7084
    SH7085
    ポートA : pa0 / pa1 / pa2 / pa3 / pa4 / pa5 / pa6 / pa7
        / pa8 / pa9 / pa10 / pa11 / pa12 / pa13 / pa14 / pa15
        / pa16 / pa17 / pa18 / pa19 / pa20 / pa21 / pa22 / pa23
    ポートB : pb0 / pb1 / pb2 / pb3 / pb4 / pb5 / pb6 / pb7 / pb8 / pb9
    ポートC : pc0 / pc1 / pc2 / pc3 / pc4 / pc5 / pc6 / pc7
        / pc8 / pc9 / pc10 / pc11 / pc12 / pc13 / pc14 / pc15
    ポートD : pd0 / pd1 / pd2 / pd3 / pd4 / pd5 / pd6 / pd7
        / pd8 / pd9 / pd10 / pd11 / pd12 / pd13 / pd14 / pd15
        / pd16 / pd17 / pd18 / pd19 / pd20 / pd21 / pd22 / pd23
        / pd24 / pd25 / pd26 / pd27 / pd28 / pd29 / pd30 / pd31
    ポートE : pe0 / pe1 / pe2 / pe3 / pe4 / pe5 / pe6 / pe7
        / pe8 / pe9 / pe10 / pe11 / pe12 / pe13 / pe14 / pe15
    ポートF : pf0 / pf1 / pf2 / pf3 / pf4 / pf5 / pf6 / pf7
    STR710 ポート0 : p0.0 / p0.1 / p0.2 / p0.3 / p0.4 / p0.5 / p0.6 / p0.7
        / p0.8 / p0.9 / p0.10 / p0.11 / p0.12 / p0.13 / p0.14 / p0.15
    ポート1 : p1.0 / p1.1 / p1.2 / p1.3 / p1.4 / p1.5 / p1.6 / p1.7
        / p1.8 / p1.9 / p1.10 / p1.11 / p1.12 / p1.13 / p1.14 / p1.15
    ポート2 : p2.0 / p2.1 / p2.2 / p2.3 / p2.4 / p2.5 / p2.6 / p2.7
        / p2.8 / p2.9 / p2.10 / p2.11 / p2.12 / p2.13 / p2.14 / p2.15