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