source: rtems/c/src/lib/libbsp/m68k/mvme162/README @ 1fec9e0

4.115
Last change on this file since 1fec9e0 was 1fec9e0, checked in by Gedare Bloom <gedare@…>, on 04/16/12 at 02:22:36

m68k: replace m68k_isr with rtems_isr

  • Property mode set to 100644
File size: 6.4 KB
Line 
1--
2--  EISCAT Scientific Association. M.Savitski
3--
4--  This material is a part of the MVME162 Board Support Package
5--  for the RTEMS executive. Its licensing policies are those of the
6--  RTEMS distribution.
7--
8--  Updated by Joel Sherrill (jsherril@redstone.army.mil) after
9--  inclusion in the standard release.
10--
11--  $Id$
12--
13
14
15MVME162 Models
16--------------
17
18There are three different models of the MVME162 board.  There are many
19variations within each model.
20
21  Model        Variants
22  ---------    --------------------------------------------------
23  MVME162      MVME162-0xx
24  MVME162FX    MVME162-4xx, MVME162-5xx
25  MVME162LX    MVME162-2xx, MVME162-3xx, MVME162-7xx, MVME162-8xx
26
27All models use either an MC68040 or MC68LC040 (no FPU) processors.  The
28processor used varies by variant as does the speed, the amount and type
29of memory and the I/O devices (serial, ethernet, SCSI and VME).  See the
30README.models file for details.
31
32
33Configuring the BSP
34-------------------
35The BSP needs to be configured for your specific board.  The following
36files need to be modified.
37
38include/bsp.h
39Change the MOT_162BUG_VEC_ADDRESS define to start of memory for your
40board
41
42make/custom/mvme162.cfg
43If your board has an MC68040 processor
44- change the value of RTEMS_CPU_MODEL
45- remove the -msoft-float flag from CPU_CFLAGS
46
47
48
49MVME162FX and DMA on the IP bus
50-------------------------------
51
52From Eric Vaitl <eric@viasat.com>:
53
54If you have any customers that will be using the 162FX, tell them to
55be careful. The main difference between the 162 and the 162FX is DMA
56on the IP bus. I spent over a month trying to write a DMA HDLC driver
57for GreenSprings IP-MP and couldn't get it to work. I talked to some
58people at GreenSprings, and they agreed that there really is no way to
59get DMA to work unless you know the size of the packets in advance.
60Once the IP2 chip DMA controller is given the character count and
61enabled, it doesn't accept further commands until all of the
62characters have arrived. The only way to terminate a DMA transfer
63prematurely is by raising DMAEND* during the last read. None of the IP
64modules that I know of are currently able to do that. GreenSprings is
65working on the problem, but nothing is going to available for a few
66months.
67
68Installation
69------------
70Nothing unique to the MVME162.  It has been incorporated into the
71standard release.
72
73Port Description
74----------------
75This section describes the initial port effort.  There have been
76additions and modifications to the bsp since this was done.
77Interestingly, this was the first bsp submitted to the RTEMS project
78and the submission offer came out of the blue with no prior
79communication with the author. :)
80
81The port was done using already existing ports to the M68020 boards,
82DMV152 and MVME136.
83
84The initial host development system was SUN/Solaris 2.3, and
85the cross-development environment consisted of Free Software
86Foundation (FSF)'s GNU C compiler (version 2.6), GNU Assembler
87(version 2.3) and GNU binary utilities binutils version 2.5.2,
88built with m68k as a target. The recent/latest versions of other
89GNU programs (flex, make, etc) were also used at the build stage.
90
91In all subdirectories of the RTEMS distribution tree, the directories
92mvme136 were duplicated as mvme162.
93
94Essential modifications are detailed below:
95
96- the MVME162-specific hardware registers were described in bsp.h
97
98- timer and clock routines were made to use the MVME162's Tick Timers 1
99and 2, respectively
100
101- shared memory support was replaced by stubs for the time being
102
103- console IO was lifted entirely from the DMV152 support code, thanks
104to the fact that Z8530 SCC used in DMV152 is upwards compatible with
105the Z85230 SCC of the MVME162. (Only the memory mapping of the SCC
106registers had to be changed.)
107
108- symbols in several *.s files were prepended with underscores to
109comply with the xgcc configuration used (it prepends underscores to all
110symbols defined in c code)
111
112- linkcmds file was modified to place the linked code into the memory
113configured for the board in use
114
115- bspstart.c was modified as follows:
116
117         monitors_vector_table = (rtems_isr *)0xFFE00000;
118
119was made to point to the power-up location of MVME162 interrupt vector
120table. 
121     
122- The shutdown is a temporary solution. To exit cleanly, it has to disable
123all enabled interrupts and restore the board to its power-up status.
124Presently this is not done satisfactorily, as a result, the board needs
125a hardware reset from the external VMEbus master or from the front
126panel to ensure correct operation for subsequent downloads.
127
128Host System
129-----------
130The VMEbus master used to externally control and download the MVME162
131is a FORCE CPU-2CE board running Solaris 2.3. A simple program to load
132s-records and start/reset the MVME162 was written. The code is in the
133file tools/sload.c
134
135This code depends on the external VMEbus master's vme driver and is
136provided as an example, without the Makefile. The bulk of the program
137which parses the s-records is courtesy of Kym Newbery,
138(8918927y@lux.levels.unisa.edu.au).
139
140In general, apart from x-gcc, the tools most often used while building
141RTEMS for MVME162 were: find, grep, diff, and, of course
142
143MVME162 Embedded Controller Programmer's Reference Guide,
144Motorola, MVME162PG/D1.
145
146Thanks
147------
148- to On-Line Applications Research Corporation (OAR) for developing
149RTEMS and making it available on a Technology Transfer basis;
150- to Joel Sherril, the leader of the RTEMS development group for
151stimulating and helpful discussions;
152- to Kym Newbery (8918927y@lux.levels.unisa.edu.au) for his s-record
153parser;
154- to Gerd Truschinski (gt@first.gmd.de) for creating and running the
155crossgcc mailing list
156- to FSF and Cygnus Support for great free software;
157
158What's new
159----------
160  - 28.07.95 BSP adjusted to rtems-3.2.0.
161  - Now console driver uses interrupts on receive (ring buffer
162    code lifted with thanks from the IDP BSP next door (../idp))
163  - both front-panel serial interfaces are supported
164  - serious bug in timer interrupts fixed
165  - interrupt test tm27 now supported
166 
167+----------------------------------+-------------------------------+
168|  Dr. Mikhail (Misha) Savitski    |  Voice : +46-980-79162        |
169|  Software Systems Engineer       |  Fax   : +46-980-79161        |
170|  EISCAT Svalbard Radar Project   |  E-mail: mms@eiscathq.irf.se  |
171|  EISCAT Scientific Association   |-----------  /\_/\  -----------|
172|  Box 812 S-98128 Kiruna, Sweden  |  EIS       { o o }       CAT  |
173+----------------------------------+-------oQQQ--(>I<)--QQQo-------+
174
175
Note: See TracBrowser for help on using the repository browser.