MVME2604 and VxWorks

Contents

Introduction

This page attempts to provide at least some guidance to those who want to set up a MVME2604 system.

Compiling

It is necessary to recompile the VxWorks binary whenever you want to add or remove features, change options, or apply patches. If the changes are extensive enough, a new boot ROM must be made and burned into flash memory on the SBC as well. use a sparc machine like hayduke, since the compiler only runs on sparcs. go to /home/robotics/space/tornado-patched/target/config/mv2604 source .compile.vxworks gmake clean gmake gmake bootrom_uncmp At this point, if you have just applied a patch, you may get LOTS of undefined linker references and other things. I have even had to tinker with source code to get it to compile. If you do, ALWAYS comment the change with the date and your initials.

Why hack?

The VxWorks OS (boot image) comes from the factory "bare bones", with not many default interfaces set up for the customer. Some VERY IMPORTANT STUFF not covered by WindRiver:
Memory size-- 16 Meg or something is set as the default. Our boards were ordered with 32. Change: LOCAL_MEM_SIZE from 0x01000000 to 0x02000000 in mv2604/config.h.
Network Interface--The network device for the Power PC is "DC", for DEC114114 network driver. (Have to dig through header files to figure this out). So put that down for the first board boot device during the boot setup rom phase.
Include devices--The following are probably essential, at least on the first board during setup. They are not included by default. The vxWorks and vxWorks.sym should be used instead of vxWorks.st. The later boards will be screwed otherwise. So put the following in the all/configAll.h:
#define INCLUDE_NET_INIT
#define INCLUDE_STAT_SYM_TBL
#define INCLUDE_LOADER
#define INCLUDE_RLOGIN
#define INCLUDE_TELNET
#define INCLUDE_PING
#define INCLUDE_STARTUP_SCRIPT
#define INCLUDE_SYM_TBL
#define INCLUDE_SHELL
#define INCLUDE_SHOW_ROUTINES
#define INCLUDE_NET_SYM_TBL /* load symbol table from network */
Compile it. Source the files (below) and compile with "make vxWorks".
Burning the boot rom. Here are the instructions on how to burn the boot ROM. Its not clear at this time why this helps, but you can basically avoid having to try and boot with J14 in 1-2 position. Here's what worked for burning powerPC ROMS: (also see the mv2604/target.nr file)
set up the kermit RS232 interface (see projects/overview.html page)
cd /home/robotics/space/tornado/target/config/mv2604
\rm boot.bin
make clean
make bootrom_uncmp
elfToBin boot.bin
chmod 666 boot.bin
% cp boot.bin /tftpboot/boot.bin
ftp robocop
root
bin
cd /tftpboot
put boot.bin
...kermit window next 3 lines optional
dev /obp-tftp
true to bootnet-debug
device-end
...jumper j10 to 2-3
load-base h# 100 + to load-base
load /pci/ethernet@e:155.99.204.50,boot.bin,155.99.204.67
load-base h# 100 - to load-base
50 fal-l@
???...prints out some first 3 letter code + 5 other letters. let code = abc
load-base 100000 ff000000 (gflash)
..power down, jumper j10 to 1-2(down)
..power up...kit a key..hit c
boot device : dc
processor number : 0
host name : sun-flakes
file name : /home/robotics/space/tornado/target/config/mv2604/vxWorks.st
inet on ethernet (e) : 155.99.204.67:ffffff00
inet on backplane (b): 155.99.184.50
host inet (h) : 155.99.204.61 (make sure mv2604/.route.robotrak is run)
gateway inet (g) :
user (u) : dnelson
ftp password (pw) (blank = use rsh):
flags (f) : 0x0
target name (tn) : vxw0-gw
startup script (s) : /home/robotics/space/mv2604/boot-script
other (o) :

Files

/home/robotics/space/tornado/target/config/mv2604/*
PowerPC 2604 configuration files and boot image
source the .compile.vxworks file before compiling
/home/robotics/don/space/vwced/target/config/mv162new/*
Motorolla 68040 configuration files and boot image
../all/* (both previous directories)
More configuration stuff for more vxworks setup
source the SETUP file before compiling

Virtual Prototyping Components Home Page
dnelson@cs.utah.edu