diff options
Diffstat (limited to 'bsps/m68k/mvme162/README')
-rw-r--r-- | bsps/m68k/mvme162/README | 173 |
1 files changed, 173 insertions, 0 deletions
diff --git a/bsps/m68k/mvme162/README b/bsps/m68k/mvme162/README new file mode 100644 index 0000000000..4a73283010 --- /dev/null +++ b/bsps/m68k/mvme162/README @@ -0,0 +1,173 @@ +-- +-- EISCAT Scientific Association. M.Savitski +-- +-- This material is a part of the MVME162 Board Support Package +-- for the RTEMS executive. Its licensing policies are those of the +-- RTEMS distribution. +-- +-- Updated by Joel Sherrill (jsherril@redstone.army.mil) after +-- inclusion in the standard release. +-- + + +MVME162 Models +-------------- + +There are three different models of the MVME162 board. There are many +variations within each model. + + Model Variants + --------- -------------------------------------------------- + MVME162 MVME162-0xx + MVME162FX MVME162-4xx, MVME162-5xx + MVME162LX MVME162-2xx, MVME162-3xx, MVME162-7xx, MVME162-8xx + +All models use either an MC68040 or MC68LC040 (no FPU) processors. The +processor used varies by variant as does the speed, the amount and type +of memory and the I/O devices (serial, ethernet, SCSI and VME). See the +README.models file for details. + + +Configuring the BSP +------------------- +The BSP needs to be configured for your specific board. The following +files need to be modified. + +include/bsp.h +Change the MOT_162BUG_VEC_ADDRESS define to start of memory for your +board + +make/custom/mvme162.cfg +If your board has an MC68040 processor +- change the value of RTEMS_CPU_MODEL +- remove the -msoft-float flag from CPU_CFLAGS + + + +MVME162FX and DMA on the IP bus +------------------------------- + +From Eric Vaitl <eric@viasat.com>: + +If you have any customers that will be using the 162FX, tell them to +be careful. The main difference between the 162 and the 162FX is DMA +on the IP bus. I spent over a month trying to write a DMA HDLC driver +for GreenSprings IP-MP and couldn't get it to work. I talked to some +people at GreenSprings, and they agreed that there really is no way to +get DMA to work unless you know the size of the packets in advance. +Once the IP2 chip DMA controller is given the character count and +enabled, it doesn't accept further commands until all of the +characters have arrived. The only way to terminate a DMA transfer +prematurely is by raising DMAEND* during the last read. None of the IP +modules that I know of are currently able to do that. GreenSprings is +working on the problem, but nothing is going to available for a few +months. + +Installation +------------ +Nothing unique to the MVME162. It has been incorporated into the +standard release. + +Port Description +---------------- +This section describes the initial port effort. There have been +additions and modifications to the bsp since this was done. +Interestingly, this was the first bsp submitted to the RTEMS project +and the submission offer came out of the blue with no prior +communication with the author. :) + +The port was done using already existing ports to the M68020 boards, +DMV152 and MVME136. + +The initial host development system was SUN/Solaris 2.3, and +the cross-development environment consisted of Free Software +Foundation (FSF)'s GNU C compiler (version 2.6), GNU Assembler +(version 2.3) and GNU binary utilities binutils version 2.5.2, +built with m68k as a target. The recent/latest versions of other +GNU programs (flex, make, etc) were also used at the build stage. + +In all subdirectories of the RTEMS distribution tree, the directories +mvme136 were duplicated as mvme162. + +Essential modifications are detailed below: + +- the MVME162-specific hardware registers were described in bsp.h + +- timer and clock routines were made to use the MVME162's Tick Timers 1 +and 2, respectively + +- shared memory support was replaced by stubs for the time being + +- console IO was lifted entirely from the DMV152 support code, thanks +to the fact that Z8530 SCC used in DMV152 is upwards compatible with +the Z85230 SCC of the MVME162. (Only the memory mapping of the SCC +registers had to be changed.) + +- symbols in several *.s files were prepended with underscores to +comply with the xgcc configuration used (it prepends underscores to all +symbols defined in c code) + +- linkcmds file was modified to place the linked code into the memory +configured for the board in use + +- bspstart.c was modified as follows: + + monitors_vector_table = (rtems_isr *)0xFFE00000; + +was made to point to the power-up location of MVME162 interrupt vector +table. + +- The shutdown is a temporary solution. To exit cleanly, it has to disable +all enabled interrupts and restore the board to its power-up status. +Presently this is not done satisfactorily, as a result, the board needs +a hardware reset from the external VMEbus master or from the front +panel to ensure correct operation for subsequent downloads. + +Host System +----------- +The VMEbus master used to externally control and download the MVME162 +is a FORCE CPU-2CE board running Solaris 2.3. A simple program to load +s-records and start/reset the MVME162 was written. The code is in the +file tools/sload.c + +This code depends on the external VMEbus master's vme driver and is +provided as an example, without the Makefile. The bulk of the program +which parses the s-records is courtesy of Kym Newbery, +(8918927y@lux.levels.unisa.edu.au). + +In general, apart from x-gcc, the tools most often used while building +RTEMS for MVME162 were: find, grep, diff, and, of course + +MVME162 Embedded Controller Programmer's Reference Guide, +Motorola, MVME162PG/D1. + +Thanks +------ +- to On-Line Applications Research Corporation (OAR) for developing +RTEMS and making it available on a Technology Transfer basis; +- to Joel Sherril, the leader of the RTEMS development group for +stimulating and helpful discussions; +- to Kym Newbery (8918927y@lux.levels.unisa.edu.au) for his s-record +parser; +- to Gerd Truschinski (gt@first.gmd.de) for creating and running the +crossgcc mailing list +- to FSF and Cygnus Support for great free software; + +What's new +---------- + - 28.07.95 BSP adjusted to rtems-3.2.0. + - Now console driver uses interrupts on receive (ring buffer + code lifted with thanks from the IDP BSP next door (../idp)) + - both front-panel serial interfaces are supported + - serious bug in timer interrupts fixed + - interrupt test tm27 now supported + ++----------------------------------+-------------------------------+ +| Dr. Mikhail (Misha) Savitski | Voice : +46-980-79162 | +| Software Systems Engineer | Fax : +46-980-79161 | +| EISCAT Svalbard Radar Project | E-mail: mms@eiscathq.irf.se | +| EISCAT Scientific Association |----------- /\_/\ -----------| +| Box 812 S-98128 Kiruna, Sweden | EIS { o o } CAT | ++----------------------------------+-------oQQQ--(>I<)--QQQo-------+ + + |