source: rtems/c/src/lib/libbsp/m68k/mvme162/README @ 9deb5b8b

4.104.114.84.95
Last change on this file since 9deb5b8b was 9deb5b8b, checked in by Joel Sherrill <joel.sherrill@…>, on Aug 1, 1997 at 6:12:11 PM

Katsutoshi Shibuya (shibuya@…)of BU-Denken Co., Ltd.
(Sapporo, Japan) submitted the extended console driver for the
MVME162LX BSP and the POSIX tcsetattr() and tcgetattr() routines.
This device driver supports four serial ports, cooked IO, and
provides a portable base for Zilog 8530 based console drivers.

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