ING Logo

Installing the PowerPC MV5100 at ING

INS-VXWORKS-1

$Revision: 1.5 $



Author: D. B. Armstrong
dba@ing.iac.es

  1. This Document

    This document describes how to install a Motorola PowerPC CPU card (MV5100) and boot the vxWorks operating system.

    It assumes that the Tornado application from Wind River Systems (VxWorks) has been installed and the following environment variables have been defined:-

    1. WIND_BASE=/opt/wind
    2. WIND_HOST_TYPE=sun4-solaris2
    3. WIND_REGISTRY=auriga

    The above values are the current definitions for ING

    The full documentation for Tornado is on-line at:- file:///opt/wind/docs/books.html

    You will need to be running the browser application on Sun systems with a direct directory link to the $WIND_BASE directory to see these files.

  2. Installation

    Motorola MV5100 Card jumpers

    Before inserting the CPU card ensure the following jumpers are correct:-

    J7 ROM controller Install the jumper across pins 2 and 3 to select the socketed FLASH.
    J16 Flash protection header Install the jumper across pins 1 and 2 to enable flash programming.

    The locations are described in the manual for the MV5100 (VxWorks BSP Reference : MV5100) at file:///opt/wind/docs/vxworks/bsp/mv5100/mv5100.html

    Install the CPU card in a suitable VME crate. In this document we use mbvme03 (161.72.26.150) for the installation.

    Network connection

    Connect a standard ethernet utp cable to the lower of the two utp sockets (LAN 1) and a suitable network port.

    Serial console connection

    The MV5100 provides a serial connector (Debug) to connect a console using a RS232 interface. The default parameters are 9600 Baud, 8 Data Bits, No Parity. Either a VT100 console or a Portserver can be used to connect the console for display. It is recommended to use a Portserver for this connection.

    Serial MV5100 console to Portserver cable information:-

    Portserver Connector (RJ-45 - 10 pin) MV5100 Connector (RJ-45 - 8 Pin)
    Pin 1 - RI Ring Indicator
    Pin 2 - DSR (DCD*) - Data Set Ready (Data Carrier Detect*)
    Pin 3 - RTS - Request to Send
    Pin 4 - GND - Chassis Ground
    Pin 5 - TxD - Transmitted Data Pin 5 - RxD - Received Data
    Pin 6 - RxD - Received Data Pin 4 - TxD - Transmitted Data
    Pin 7 - SG - Signal Ground Pin 6 - Ground
    Pin 8 - CTS - Clear to Send
    Pin 9 - DTR - Data Terminal Ready
    Pin 10 - DCD (DSR*) - Data Carrier Detect (Data Set Ready*)

    *When ALTPIN is in effect (see the DiGi Portserver User's Guide ).

    Startup

    When the VME crate is started the console will display the prompt for the Motorola PPCBug Debugging Firmware on the MV5100 board. The initial boot display prompt is:-

    PPC6Bug>

    The full documentation to the debugger is available as PPCBug Firmware Package Users Manual Part 1 and 2 and it fully describes all the debugging commands. We are interested in the commands set,md,niot,niop and pflash

    Flashing the Boot ROM Using Motorola PPC6-Bug

    Login to the whtics machine as user epicssm. The bootrom code used is the default version shipped with vxworks and is located at $WIND_BASE/target/config/mv5100/ the filename is bootrom.bin. This is copied to the TFTP boot directory and renamed:-

    cp $WIND_BASE/target/config/mv5100/bootrom.bin /tftpboot/boot.bin

    If needed use the following command sequence on the host (whtics) to re-make the BSP boot ROM:

    cd $WIND_BASE/target/config/mv5100
    make clean
    make bootrom.bin
    chmod 666 bootrom.bin
    cp bootrom.bin /tftpboot/boot.bin

    At the PPC6-Bug prompt on the console, start the system clock then set up the network transfer from the TFTP host (whtics) using niot. To start the system clock, the set command must be used. The format is: set MMDDYYhhmm where MM is month, DD is day of month, YY is year, hh is hour (24-hour format), and mm is minutes. This command starts the system clock and sets the current date and time.

    PPC6-Bug>set 1016021302

    Using niot, the Client IP Address, Server IP Address, and Gateway IP Address must be set up for ING's specific environment:

    PPC6-Bug>niot
    Controller LUN =00?
    Device LUN     =00?
    Node Control Memory Address = xxxxxxxx  *Do not touch* 
    Client IP Address      =123.123.10.100? 161.72.26.150
    Server IP Address      =123.123.18.105? 161.72.6.56
    Subnet IP Address Mask =255.255.255.0?
    Broadcast IP Address   =255.255.255.255?
    Gateway IP Address     =123.123.10.254? 161.72.26.1
    Boot File Name ("NULL" for None)     =? .
    
    Update Non-Volatile RAM (Y/N)? y
    PPC6-Bug>
    

    The file is transferred from the TFTP host (whtics) to the target board using the niop command. Important: You must have a TFTP server running on your host's subnet for the niop command to succeed. The file name must be set to the location of the binary file on the TFTP host (whtics). The binary file must be stored in the directory identified for TFTP accesses, but the file name is a relative path and does not include the /tftpboot directory name.

    PPC6-Bug>niop
    Controller LUN =00?
    Device LUN     =00?
    Get/Put        =G?
    File Name      =? boot.bin
    Memory Address =00004000?
    Length         =00000000?
    Byte Offset    =00000000?
    
    Bytes Received =&238720, Bytes Loaded =&238720
    Bytes/Second   =&59680, Elapsed Time =4 Second(s)
    PPC6-Bug>
    

    After the file is loaded onto the target, the pflash command is used to put it into soldered FLASH parts.

    Note that the MVME5100 can have varying sized soldered FLASH parts. The base address of ROM bank A is programmed by PPC6-Bug depending on the size found in VPD. To determine the FLASH base address, dump the Hawk's ROM base A address register at 0xfef80050:

    PC6-Bug>md 0xfef80000
    FEF80000  10574803 00000000 00010200 00000000  .WH.............
    FEF80010  85850000 00000000 00080000 00000000  ................
    PPC6-Bug>
    FEF80020  63000000 00000000 00000001 00000000  c...............
    FEF80030  05290000 00000000 0FF210E0 00000000  .)..............
    PPC6-Bug>
    FEF80040  00000000 00000000 00000000 00000000  ................
    FEF80050  F40C0006 00000000 FF800006 00000000  ................
              ^^
    

    This is the destination address to be used in the pflash command below. Use the high order byte at 0xfef80050 (F4) as the high order byte of the destination address:

    PPC6-Bug>pflash 4000:fff00 F4000100

    Source Starting/Ending Addresses      =00004000/00103EFF
    Destination Starting/Ending Addresses =F4000100/F40FFFFF
    Number of Effective Bytes             =000FFF00 (&1048320)
    
    Program FLASH Memory (Y/N)? Y
    Erasing sector  =$F4000000
    Erasing sector  =$F4040000
    Erasing sector  =$F4080000
    Erasing sector  =$F40C0000
    Programming sector =$F4000000
    Programming sector =$F4040000
    Programming sector =$F4080000
    Programming sector =$F40C0000
    FLASH Memory Programming Complete
    
    The pflash command above shows a successfull completion status for the comand

    Restart the VME Crate

    Power down the VME Crate and change the jumpers on the MV5100 CPU Card:-

    J7 ROM controller Install the jumper across pins 1 and 2 to select the soldered FLASH.
    J16 Flash protection header Install the jumper across pins 2 and 3 to disables flash programming.

    Reinstall the MV5100 and restart the VME crate. You should now see a new boot message appear on the console screen.

    [VxWorks Boot]:

    You have now successfully programed the MV5100 boot rom with the vxWorks boot image file. Full documentation is in the vxWorks Network Programmers Guide. Booting over the network - Chapter 13.

    Don't panic if it takes some time for the boot prompt to appear as it may be trying to boot a non existing file.

  3. Booting a vxWorks image

    Image File locations

    The vxWorks image file is located on the TFTP boot host (whtics) in the /tftpboot directory, it has the filename vxWorks.mv5100.

    Boot Parameters

    The boot parameters must be set for the vxWorks image file to be loaded into memory and executed. The "c" command is used to do this. Incorrect values may be corrected and the return key pressed to go to the next parameter.

    [VxWorks Boot]: c
    
    '.' = clear field;  '-' = go to previous field;  ^D = quit
    
    boot device          : fei0 
    processor number     : 0 
    host name            : whtics
    file name            : /tftpboot/vxWorks.mv5100 
    inet on ethernet (e) : 161.72.26.150:ffffff00 
    inet on backplane (b): 
    host inet (h)        : 161.72.6.56
    gateway inet (g)     : 161.72.26.1 
    user (u)             : epicssm 
    ftp password (pw) (blank = use rsh): 
    flags (f)            : 0x0 
    target name (tn)     : mbvme03 
    startup script (s)   : /home/epicssm/test/bin/vxWorks-ppc604_long/mv5100-setup.txt
    other (o)            :
    

    "inet on ethernet" is the target machine IP address (mbvme03).
    "flags" indicate use rsh for file transfer (0x0).
    Note that for rsh you will have to make a symbolic link in the /tftpboot directory which points to itself. so that /tftpboot/tftpboot/vxWorks.mv5100 is the same file as /tftpboot/vxWorks.mv5100.

    epicssm@taurus ls -l /tftpboot
    lrwxrwxrwx   1 root     other          1 Aug  6 15:51 tftpboot -> .
    epicssm@taurus ls -l /tftpboot/tftpboot/vxWorks.mv5100
    -rwxr-xr-x    1 epicssm  softpckg  1845074 Jul 22 17:19 /tftpboot/tftpboot/vxWorks.mv5100
    epicssm@taurus ls -l /tftpboot/vxWorks.mv5100
    -rwxr-xr-x    1 epicssm  softpckg  1845074 Jul 22 17:19 /tftpboot/vxWorks.mv5100
    
    The .rhosts file for epicssm must have a line which contains the crate name (mbvme03.ing.iac.es) and user (epicssm). Please see the man page for rhosts for more information.

    Boot the machine using the "@" command.

    [VxWorks Boot]: @
    
    boot device          : fei
    unit number          : 0 
    processor number     : 0 
    host name            : whtics
    file name            : /tftpboot/vxWorks.mv5100
    inet on ethernet (e) : 161.72.26.150:ffffff00
    host inet (h)        : 161.72.6.56
    gateway inet (g)     : 161.72.26.1
    user (u)             : epicssm
    flags (f)            : 0x0 
    target name (tn)     : mbvme03
    startup script (s)   : /home/epicssm/test/bin/vxWorks-ppc604_long/mv5100-setup.txt
    
    Attached TCP/IP interface to fei0.
    Attaching network interface lo0... done.
    Loading... 1415520
    Starting at 0x100000...
    
    Attached TCP/IP interface to fei unit 0
    Attaching interface lo0...done
    Backplane IP address required if no Proxy ARP
    Mounting NFS file systems from host whtics for target mbvme03:
    /tftpboot
    ...done
    
    Adding 4098 symbols for standalone.
     
    
     ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
     ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
     ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
          ]]]]]]]]]]]  ]]]]     ]]]]]]]]]]       ]]              ]]]]         (R)
     ]     ]]]]]]]]]  ]]]]]]     ]]]]]]]]       ]]               ]]]]            
     ]]     ]]]]]]]  ]]]]]]]]     ]]]]]] ]     ]]                ]]]]            
     ]]]     ]]]]] ]    ]]]  ]     ]]]] ]]]   ]]]]]]]]]  ]]]] ]] ]]]]  ]]   ]]]]]
     ]]]]     ]]]  ]]    ]  ]]]     ]] ]]]]] ]]]]]]   ]] ]]]]]]] ]]]] ]]   ]]]]  
     ]]]]]     ]  ]]]]     ]]]]]      ]]]]]]]] ]]]]   ]] ]]]]    ]]]]]]]    ]]]] 
     ]]]]]]      ]]]]]     ]]]]]]    ]  ]]]]]  ]]]]   ]] ]]]]    ]]]]]]]]    ]]]]
     ]]]]]]]    ]]]]]  ]    ]]]]]]  ]    ]]]   ]]]]   ]] ]]]]    ]]]] ]]]]    ]]]]
     ]]]]]]]]  ]]]]]  ]]]    ]]]]]]]      ]     ]]]]]]]  ]]]]    ]]]]  ]]]] ]]]]]
     ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
     ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]       Development System
     ]]]]]]]]]]]]]]]]]]]]]]]]]]]]
     ]]]]]]]]]]]]]]]]]]]]]]]]]]]       VxWorks version 5.5
     ]]]]]]]]]]]]]]]]]]]]]]]]]]       KERNEL: WIND version 2.6
     ]]]]]]]]]]]]]]]]]]]]]]]]]       Copyright Wind River Systems, Inc., 1984-2002
    
                                   CPU: Motorola MVME5110-2263 - MPC 7410.  Processor #0.
                                  Memory Size: 0x20000000.  BSP version 1.2/2.
                                 WDB Comm Type: WDB_COMM_NETWORK
                                WDB: Ready
    Executing startup script /home/epicssm/test/bin/vxWorks-ppc604_long/mv5100-setup.txt ...
    # Initialise the network
    #
    routeAdd "0", "161.72.26.1"
    value = 0 = 0x0
    #
    #
    cd "/home/epicssm/test"
    value = 0 = 0x0
    #
    
    Done executing startup script /home/epicssm/test/bin/vxWorks-ppc604_long/mv5100-setup.txt
    
    

    You may now use any of the vxWorks commands

    -> i
    
      NAME        ENTRY       TID    PRI   STATUS      PC       SP     ERRNO  DELAY
    ---------- ------------ -------- --- ---------- -------- -------- ------- -----
    tExcTask   excTask      1efe5290   0 PEND         200610 1efe5170       0     0
    tLogTask   logTask      1efe26f0   0 PEND         200610 1efe25e0       0     0
    tShell     shell        1eeeb630   1 READY        1f7464 1eeeb210       0     0
    tRlogind   rlogind      1eef7ce0   2 PEND         1f1b1c 1eef7880       0     0
    tWdbTask   wdbTask      1eef2740   3 PEND         1f1b1c 1eef24a0  3d0002     0
    tAioIoTask1aioIoTask    1eff43b0  50 PEND         1f2348 1eff42b0       0     0
    tAioIoTask0aioIoTask    1efed130  50 PEND         1f2348 1efed030       0     0
    tNetTask   netTask      1efa44e0  50 PEND         1f1b1c 1efa43f0       0     0
    tAioWait   aioWaitTask  1effb630  51 PEND         1f1b1c 1effb4c0  3d0002     0
    tPortmapd  portmapd     1eefb090  54 PEND         1f1b1c 1eefae30  3d0002     0
    tTelnetd   telnetd      1eef5930  55 PEND         1f1b1c 1eef57c0       0     0
    value = 0 = 0x0
    
  4. Rebuilding Vxworks images using Tornado

    This is beyond the scope of this document but the information is online at file:///opt/wind/docs/tornado/tools/launch.html which describes how to start Tornado. You will need the Project Tool to rebuild the vxWorks image.


© 2002 by Isaac Newton Group
All rights reserved.
Last modified: Wed Oct 15 10:33:46 WEST 2003