1. HOME
  2. FAQ
  3. MVME2304においてTecnoBox PMC-3145を動作させる手順について

FAQ

MVME2304においてTecnoBox PMC-3145を動作させる手順について

MVME2304においてTecnoBox PMC-3145を動作させる手順について

■ HDDよりの起動方法

1.PMCスロット1へTecnoBox PMC-3145を実装します。
2.フロントSCSI WIDEコネクタより付属のHDD(SCSI ID2番)を接続します。
3.電源を投入します。
4.ブートパラメータに以下が設定されていることを確認します。

boot device        : scsi=2,0
file name          : /sd0/vxWorks

5.vxWorksを起動します。

[VxWorks Boot]: @

boot device          : scsi=2,0
unit number          : 0
processor number     : 0
host name            : frc7v
file name            : /sd0/vxWorks
inet on ethernet (e) : 172.16.0.38:ffff0000
host inet (h)        : 172.16.0.7
user (u)             : taka
flags (f)            : 0x0
target name (tn)     : mv2304

0x1fc97f8 (tBoot): Found Secondary SCSI Controller – Dev/Ven ID = 0x121000
Attaching to scsi device… done.
Loading /sd0/vxWorks…959368
Starting at 0x100000…

0x1fffdf8 (tRootTask): Found Secondary SCSI Controller – Dev/Ven ID = 0x121000
Attaching network interface lo0… done.
NFS client support not included.
Loading symbol table from /sd0/vxWorks.sym …done

]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]       ]]]]]]]]]]]  ]]]]     ]]]]]]]]]]       ]]              ]]]]         (R)
]     ]]]]]]]]]  ]]]]]]     ]]]]]]]]       ]]               ]]]]            
]]     ]]]]]]]  ]]]]]]]]     ]]]]]] ]     ]]                ]]]]            
]]]     ]]]]] ]    ]]]  ]     ]]]] ]]]   ]]]]]]]]]  ]]]] ]] ]]]]  ]]   ]]]]] ]]]]     ]]]  ]]    ]  ]]]     ]] ]]]]] ]]]]]]   ]] ]]]]]]] ]]]] ]]   ]]]]  
]]]]]     ]  ]]]]     ]]]]]      ]]]]]]]] ]]]]   ]] ]]]]    ]]]]]]]    ]]]] ]]]]]]      ]]]]]     ]]]]]]    ]  ]]]]]  ]]]]   ]] ]]]]    ]]]]]]]]    ]]]] ]]]]]]]    ]]]]]  ]    ]]]]]]  ]    ]]]   ]]]]   ]] ]]]]    ]]]] ]]]]    ]]]] ]]]]]]]]  ]]]]]  ]]]    ]]]]]]]      ]     ]]]]]]]  ]]]]    ]]]]  ]]]] ]]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]       Development System
]]]]]]]]]]]]]]]]]]]]]]]]]]]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]       VxWorks version 5.4
]]]]]]]]]]]]]]]]]]]]]]]]]]       KERNEL: WIND version 2.5
]]]]]]]]]]]]]]]]]]]]]]]]]       Copyright Wind River Systems, Inc., 1984-1999

                               CPU: Motorola MVME2300 – MPC 604e.  Processor #0.
                              Memory Size: 0x2000000.  BSP version 1.2/0.

->

■ 新しくHDDを接続したときの手順

  1.vxWorksを起動し以下のコマンドを実行してHDDが繋がっていることを確認します。

 -> scsiAutoConfig
  value = 0 = 0x0
  -> scsiShow
  ID LUN VendorID    ProductID     Rev. Type  Blocks  BlkSize  pScsiPhysDev
  — — ——– —————- —- —- ——– ——- ————
  2  0  SEAGATE  ST39140N         1498   0  17783240    512 0x007b8770
  value = 0 = 0x0

2.HDDをフォーマットします。

 -> scsiFormatUnit 0x007b8770 <— scsiShowで表示されたもの。
  value = 0 = 0x0

3.Ctrl+Xにて再起動します。

4.以下の手順を行います。

-> pSpd20 = scsiPhysDevCreate(pSysScsiCtrl,2,0,0,0,0,0,0)
  -> pSbd0 = scsiBlkDevCreate(pSpd20,200000,0)
  -> pSbd1 = scsiBlkDevCreate(pSpd20,200000,200000)
  -> pSbd2 = scsiBlkDevCreate(pSpd20,200000,400000)
  -> dosFsMkfs("/sd0/",pSbd0)
  -> dosFsMkfs("/sd1/",pSbd1)
  -> dosFsMkfs("/sd2/",pSbd2)

      scsiBlkDevCreate()の引数の説明

  ※2番目の引数がパーティションのブロック数、3番目が先頭ブロックになります。
  2番目の引数に”0”を指定すると残り全ブロック数となります。

5.以下のコマンドを実行しSCSIデバイスが作成されていることを確認します。

 -> devs
  drv name
  0 /null
    1 /tyCo/0
    3 /sd0/    <— Partition 0
    3 /sd1/    <— Partition 1
    3 /sd2/    <— Partition 2
    5 frc7v:
    6 /pty/rlogin.S
    7 /pty/rlogin.M
    6 /pty/telnet.S
    7 /pty/telnet.M
  value = 25 = 0x19

6.各パーティションをフォーマットします。

 -> diskFormat "/sd0/"
  disk formatted.
  value = 0 = 0x0

  同様に”/sd1/”、”/sd2/”に対しても行います。

7.Ctrl+Xにて再起動します。

8.以下の手順を行います。

-> pSpd20 = scsiPhysDevCreate(pSysScsiCtrl,2,0,0,0,0,0,0)
  -> pSbd0 = scsiBlkDevCreate(pSpd20,200000,0)
  -> pSbd1 = scsiBlkDevCreate(pSpd20,200000,200000)
  -> pSbd2 = scsiBlkDevCreate(pSpd20,200000,400000)
  -> dosFsMkfs("/sd0/",pSbd0)
  -> dosFsMkfs("/sd1/",pSbd1)
  -> dosFsMkfs("/sd2/",pSbd2)

9.CTRL+Xにて再起動します。

10.起動後、以下の手順を行います。

  -> pSpd20 = scsiPhysDevCreate(pSysScsiCtrl,2,0,0,0,0,0,0)
  -> pSbd0 = scsiBlkDevCreate(pSpd20,200000,0)
  -> pSbd1 = scsiBlkDevCreate(pSpd20,200000,200000)
  -> pSbd2 = scsiBlkDevCreate(pSpd20,200000,400000)
  -> dosFsDevInit("/sd0/",pSbd0,0)
  -> dosFsDevInit("/sd1/",pSbd1,0)
  -> dosFsDevInit("/sd2/",pSbd2,0)

※以後は、起動時に10.の手順を行うことで御使用頂けます。
また、起動時に自動でこの手順を行う場合には、target/src/config/usrScsi.cファイルの
sysScsiInit()内へこの設定をして下さい。
また、Project使用時には、target/config/comps/src/usrScsi.cファイルを同様に変更して下さい。

■ 添付BSPの変更内容について

・動作させるに当たり、以下の標準BSPファイルに変更をしております。

sysLib.c
mv2600.h
config.h
sysScsi.c

・以降が各ファイルの変更内容です。
※▼追加、★変更箇所

[sysLib.c]

795: #ifdef  INCLUDE_SECONDARY_SCSI
796:     /*
797:      *  Initialize the Standard PCI Header of the Secondary SCSI device
798:      *  (SYM53C825A) if present.
799:      */
800: ★      if (pciFindDevice (PCI_ID_NCR895A & 0xFFFF, (PCI_ID_NCR895A >> 16) & 0xFFFF,
801:                         0, &pciBusNo, &pciDevNo, &pciFuncNo) != ERROR)
802:         {
803:         (void)pciDevConfig (pciBusNo, pciDevNo, pciFuncNo,
804:                             PCI_IO_SCSI_ADRS2,
805:                             NULL,
806:                             (PCI_CMD_MASTER_ENABLE | PCI_CMD_IO_ENABLE));
807:         }
808: #endif  /* INCLUDE_SECONDARY_SCSI */


[mv2600.h]

389: ★ #define PCI_ID_SEC_SCSI         0x00121000      /* Id for SYM53C810A Chip */
390: #define PCI_ID_NCR810           0x00011000      /* Id for SYM53C810A Chip */
391: #define PCI_ID_NCR860           0x00061000      /* Id for SYM53C860 Chip */
392: #define PCI_ID_NCR825           0x00031000      /* Id for SYM53C825/75 Chips*/
393: ▼ #define PCI_ID_NCR895A          0x00121000      /* Id for SYM53C895A Chips*/

1444: ★ #define SCSI_INT_VEC2           INT_VEC_IRQ0 + PMC_INT_LVL1

[config.h]

155: #ifdef  MV2300
156: #    undef    INCLUDE_CACHE_L2    /* [NOT AVAILABLE] */
157: #    define    INCLUDE_I8250_SIO       /* Debug port via i8250 */
158: #    undef    INCLUDE_Z85230_SIO      /* [NOT AVAILABLE] */
159: #    define    INCLUDE_PRIMARY_ENET    /* DEC 21140 */
160: #    undef    INCLUDE_SECONDARY_ENET    /* [NOT AVAILABLE] */
161: #    undef    INCLUDE_PRIMARY_SCSI    /* [NOT AVAILABLE] */
162: ★ #    define    INCLUDE_SECONDARY_SCSI    /* [NOT AVAILABLE] */
163: #    define    INCLUDE_AUXCLK        /* ravenAuxClk.c */
164: #    undef    INCLUDE_VME_DMA        /* VME DMA support */
165: #    undef     INCLUDE_FD        /* [NOT AVAILABLE] */
166: #endif

231: ▼ #ifdef  INCLUDE_SECONDARY_SCSI
232: ▼ #define INCLUDE_SCSI
233: ▼ #define INCLUDE_SCSI_BOOT    /* include ability to boot from SCSI */
234: ▼ #define INCLUDE_DOSFS        /* file system to be used */
235: ▼ #undef    SCSI_AUTO_CONFIG    /* scan bus on startup */
236: ▼ #define    SCSI_WIDE_ENABLE    /* enable wide SCSI on MVME761-011 only */
237: ▼ #define    SYS_SCSI_CONFIG        /* call sysScsiConfig in sysScsi.c */
238: ▼ #endif  /* INCLUDE_SECONDARY_SCSI */

[sysScsi.c]

130:     pciConfigInWord (pciBusNo, pciDevNo, pciFuncNo, PCI_CFG_DEVICE_ID, &devType);
131:
132:     SCSI_DEBUG_MSG ("Found Primary SCSI Controller – Dev/Ven ID = 0x%x\n", PCI_ID_SCSI,0,0,0,0,0);
133:     }
134:     else
135:     {
136: ▼     goto secondary;
137:     logMsg ("SCSI controller not found\n", 0, 0, 0, 0, 0, 0);
138: ★ /*      return (ERROR); */
139:     }

192:     if (ncr810SetHwRegister ((NCR_810_SCSI_CTRL *)pSysScsiCtrl, &hwRegs)
193:     == ERROR)
194:         return(ERROR);
195:
196: ▼ secondary:
197:
198: #ifdef  INCLUDE_SECONDARY_SCSI
199:
200:    if (pciFindDevice ((PCI_ID_SEC_SCSI & 0xFFFF),
201:                ((PCI_ID_SEC_SCSI >> 16) & 0xFFFF), 0, &pciBusNo,
202:                &pciDevNo, &pciFuncNo) != ERROR)
203:        {
204:    /* Get Device ID */
205:
206:    pciConfigInWord (pciBusNo, pciDevNo, pciFuncNo, PCI_CFG_DEVICE_ID, &devType2);
207:
208:    logMsg ("Found Secondary SCSI Controller – Dev/Ven ID = 0x%x\n", PCI_ID_SEC_SCSI,0,0,0,0,0);
209:    }
210:    else
211:    {
212:    logMsg ("Secondary SCSI controller not found\n", 0, 0, 0, 0, 0, 0);
213:        return (ERROR);
214:    }
215:
216: ▼ if(devType2 == NCR895_DEVICE_ID || devType2 == NCR895A_DEVICE_ID)
217:        devType2 = NCR875_DEVICE_ID;
218:
219:#ifndef SCSI_WIDE_ENABLE
220:    devType2 = NCR810_DEVICE_ID;
221:#endif

242:     /* Enable SCSI interrupts */
243:
244: ★     intEnable (PMC_INT_LVL1);

432: ▼ #if FALSE  /* EXAMPLE CODE IS NOT COMPILED */
433:
434: STATUS sysScsiConfig (void)
435:     {
436:
437: ★
438:     UINT which;

636: ★
637:
638:     return (OK);
639:     }
640:
641: ▼ #endif /*FALSE, END OF EXAMPLE CODE */