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 | |
---|
15 | MVME162 Models |
---|
16 | -------------- |
---|
17 | |
---|
18 | There are three different models of the MVME162 board. There are many |
---|
19 | variations 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 | |
---|
27 | All models use either an MC68040 or MC68LC040 (no FPU) processors. The |
---|
28 | processor used varies by variant as does the speed, the amount and type |
---|
29 | of memory and the I/O devices (serial, ethernet, SCSI and VME). See the |
---|
30 | README.models file for details. |
---|
31 | |
---|
32 | |
---|
33 | Configuring the BSP |
---|
34 | ------------------- |
---|
35 | The BSP needs to be configured for your specific board. The following |
---|
36 | files need to be modified. |
---|
37 | |
---|
38 | include/bsp.h |
---|
39 | Change the MOT_162BUG_VEC_ADDRESS define to start of memory for your |
---|
40 | board |
---|
41 | |
---|
42 | make/custom/mvme162.cfg |
---|
43 | If 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 | |
---|
49 | MVME162FX and DMA on the IP bus |
---|
50 | ------------------------------- |
---|
51 | |
---|
52 | From Eric Vaitl <eric@viasat.com>: |
---|
53 | |
---|
54 | If you have any customers that will be using the 162FX, tell them to |
---|
55 | be careful. The main difference between the 162 and the 162FX is DMA |
---|
56 | on the IP bus. I spent over a month trying to write a DMA HDLC driver |
---|
57 | for GreenSprings IP-MP and couldn't get it to work. I talked to some |
---|
58 | people at GreenSprings, and they agreed that there really is no way to |
---|
59 | get DMA to work unless you know the size of the packets in advance. |
---|
60 | Once the IP2 chip DMA controller is given the character count and |
---|
61 | enabled, it doesn't accept further commands until all of the |
---|
62 | characters have arrived. The only way to terminate a DMA transfer |
---|
63 | prematurely is by raising DMAEND* during the last read. None of the IP |
---|
64 | modules that I know of are currently able to do that. GreenSprings is |
---|
65 | working on the problem, but nothing is going to available for a few |
---|
66 | months. |
---|
67 | |
---|
68 | Installation |
---|
69 | ------------ |
---|
70 | Nothing unique to the MVME162. It has been incorporated into the |
---|
71 | standard release. |
---|
72 | |
---|
73 | Port Description |
---|
74 | ---------------- |
---|
75 | This section describes the initial port effort. There have been |
---|
76 | additions and modifications to the bsp since this was done. |
---|
77 | Interestingly, this was the first bsp submitted to the RTEMS project |
---|
78 | and the submission offer came out of the blue with no prior |
---|
79 | communication with the author. :) |
---|
80 | |
---|
81 | The port was done using already existing ports to the M68020 boards, |
---|
82 | DMV152 and MVME136. |
---|
83 | |
---|
84 | The initial host development system was SUN/Solaris 2.3, and |
---|
85 | the cross-development environment consisted of Free Software |
---|
86 | Foundation (FSF)'s GNU C compiler (version 2.6), GNU Assembler |
---|
87 | (version 2.3) and GNU binary utilities binutils version 2.5.2, |
---|
88 | built with m68k as a target. The recent/latest versions of other |
---|
89 | GNU programs (flex, make, etc) were also used at the build stage. |
---|
90 | |
---|
91 | In all subdirectories of the RTEMS distribution tree, the directories |
---|
92 | mvme136 were duplicated as mvme162. |
---|
93 | |
---|
94 | Essential 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 |
---|
99 | and 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 |
---|
104 | to the fact that Z8530 SCC used in DMV152 is upwards compatible with |
---|
105 | the Z85230 SCC of the MVME162. (Only the memory mapping of the SCC |
---|
106 | registers had to be changed.) |
---|
107 | |
---|
108 | - symbols in several *.s files were prepended with underscores to |
---|
109 | comply with the xgcc configuration used (it prepends underscores to all |
---|
110 | symbols defined in c code) |
---|
111 | |
---|
112 | - linkcmds file was modified to place the linked code into the memory |
---|
113 | configured for the board in use |
---|
114 | |
---|
115 | - bspstart.c was modified as follows: |
---|
116 | |
---|
117 | monitors_vector_table = (rtems_isr *)0xFFE00000; |
---|
118 | |
---|
119 | was made to point to the power-up location of MVME162 interrupt vector |
---|
120 | table. |
---|
121 | |
---|
122 | - The shutdown is a temporary solution. To exit cleanly, it has to disable |
---|
123 | all enabled interrupts and restore the board to its power-up status. |
---|
124 | Presently this is not done satisfactorily, as a result, the board needs |
---|
125 | a hardware reset from the external VMEbus master or from the front |
---|
126 | panel to ensure correct operation for subsequent downloads. |
---|
127 | |
---|
128 | Host System |
---|
129 | ----------- |
---|
130 | The VMEbus master used to externally control and download the MVME162 |
---|
131 | is a FORCE CPU-2CE board running Solaris 2.3. A simple program to load |
---|
132 | s-records and start/reset the MVME162 was written. The code is in the |
---|
133 | file tools/sload.c |
---|
134 | |
---|
135 | This code depends on the external VMEbus master's vme driver and is |
---|
136 | provided as an example, without the Makefile. The bulk of the program |
---|
137 | which parses the s-records is courtesy of Kym Newbery, |
---|
138 | (8918927y@lux.levels.unisa.edu.au). |
---|
139 | |
---|
140 | In general, apart from x-gcc, the tools most often used while building |
---|
141 | RTEMS for MVME162 were: find, grep, diff, and, of course |
---|
142 | |
---|
143 | MVME162 Embedded Controller Programmer's Reference Guide, |
---|
144 | Motorola, MVME162PG/D1. |
---|
145 | |
---|
146 | Thanks |
---|
147 | ------ |
---|
148 | - to On-Line Applications Research Corporation (OAR) for developing |
---|
149 | RTEMS and making it available on a Technology Transfer basis; |
---|
150 | - to Joel Sherril, the leader of the RTEMS development group for |
---|
151 | stimulating and helpful discussions; |
---|
152 | - to Kym Newbery (8918927y@lux.levels.unisa.edu.au) for his s-record |
---|
153 | parser; |
---|
154 | - to Gerd Truschinski (gt@first.gmd.de) for creating and running the |
---|
155 | crossgcc mailing list |
---|
156 | - to FSF and Cygnus Support for great free software; |
---|
157 | |
---|
158 | What'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 | |
---|