Warning, /bsps/m68k/mvme162/README.md is written in an unsupported language. File is not indexed.
0001 MVME162
0002 =======
0003
0004 EISCAT Scientific Association. M.Savitski
0005
0006 This material is a part of the MVME162 Board Support Package
0007 for the RTEMS executive. Its licensing policies are those of the
0008 RTEMS distribution.
0009
0010 Updated by Joel Sherrill (jsherril@redstone.army.mil) after
0011 inclusion in the standard release.
0012
0013
0014 Models
0015 ------
0016
0017 There are three different models of the MVME162 board. There are many
0018 variations within each model.
0019
0020 ```
0021 Model Variants
0022 --------- --------------------------------------------------
0023 MVME162 MVME162-0xx
0024 MVME162FX MVME162-4xx, MVME162-5xx
0025 MVME162LX MVME162-2xx, MVME162-3xx, MVME162-7xx, MVME162-8xx
0026 ```
0027
0028 All models use either an MC68040 or MC68LC040 (no FPU) processors. The
0029 processor used varies by variant as does the speed, the amount and type
0030 of memory and the I/O devices (serial, ethernet, SCSI and VME). See the
0031 README.models file for details.
0032
0033
0034 Configuring the BSP
0035 -------------------
0036 The BSP needs to be configured for your specific board. The following
0037 files need to be modified.
0038
0039 include/bsp.h
0040 Change the MOT_162BUG_VEC_ADDRESS define to start of memory for your
0041 board
0042
0043 make/custom/mvme162.cfg
0044 If your board has an MC68040 processor
0045 - change the value of RTEMS_CPU_MODEL
0046 - remove the -msoft-float flag from CPU_CFLAGS
0047
0048
0049 MVME162FX and DMA on the IP bus
0050 -------------------------------
0051
0052 From Eric Vaitl <eric@viasat.com>:
0053
0054 If you have any customers that will be using the 162FX, tell them to
0055 be careful. The main difference between the 162 and the 162FX is DMA
0056 on the IP bus. I spent over a month trying to write a DMA HDLC driver
0057 for GreenSprings IP-MP and couldn't get it to work. I talked to some
0058 people at GreenSprings, and they agreed that there really is no way to
0059 get DMA to work unless you know the size of the packets in advance.
0060 Once the IP2 chip DMA controller is given the character count and
0061 enabled, it doesn't accept further commands until all of the
0062 characters have arrived. The only way to terminate a DMA transfer
0063 prematurely is by raising DMAEND* during the last read. None of the IP
0064 modules that I know of are currently able to do that. GreenSprings is
0065 working on the problem, but nothing is going to available for a few
0066 months.
0067
0068 Installation
0069 ------------
0070 Nothing unique to the MVME162. It has been incorporated into the
0071 standard release.
0072
0073 Port Description
0074 ----------------
0075 This section describes the initial port effort. There have been
0076 additions and modifications to the bsp since this was done.
0077 Interestingly, this was the first bsp submitted to the RTEMS project
0078 and the submission offer came out of the blue with no prior
0079 communication with the author. :)
0080
0081 The port was done using already existing ports to the M68020 boards,
0082 DMV152 and MVME136.
0083
0084 The initial host development system was SUN/Solaris 2.3, and
0085 the cross-development environment consisted of Free Software
0086 Foundation (FSF)'s GNU C compiler (version 2.6), GNU Assembler
0087 (version 2.3) and GNU binary utilities binutils version 2.5.2,
0088 built with m68k as a target. The recent/latest versions of other
0089 GNU programs (flex, make, etc) were also used at the build stage.
0090
0091 In all subdirectories of the RTEMS distribution tree, the directories
0092 mvme136 were duplicated as mvme162.
0093
0094 Essential modifications are detailed below:
0095
0096 - the MVME162-specific hardware registers were described in bsp.h
0097
0098 - timer and clock routines were made to use the MVME162's Tick Timers 1
0099 and 2, respectively
0100
0101 - shared memory support was replaced by stubs for the time being
0102
0103 - console IO was lifted entirely from the DMV152 support code, thanks
0104 to the fact that Z8530 SCC used in DMV152 is upwards compatible with
0105 the Z85230 SCC of the MVME162. (Only the memory mapping of the SCC
0106 registers had to be changed.)
0107
0108 - symbols in several *.s files were prepended with underscores to
0109 comply with the xgcc configuration used (it prepends underscores to all
0110 symbols defined in c code)
0111
0112 - linkcmds file was modified to place the linked code into the memory
0113 configured for the board in use
0114
0115 - bspstart.c was modified as follows:
0116
0117 monitors_vector_table = (rtems_isr *)0xFFE00000;
0118
0119 was made to point to the power-up location of MVME162 interrupt vector
0120 table.
0121
0122 - The shutdown is a temporary solution. To exit cleanly, it has to disable
0123 all enabled interrupts and restore the board to its power-up status.
0124 Presently this is not done satisfactorily, as a result, the board needs
0125 a hardware reset from the external VMEbus master or from the front
0126 panel to ensure correct operation for subsequent downloads.
0127
0128 Host System
0129 -----------
0130 The VMEbus master used to externally control and download the MVME162
0131 is a FORCE CPU-2CE board running Solaris 2.3. A simple program to load
0132 s-records and start/reset the MVME162 was written. The code is in the
0133 file tools/sload.c
0134
0135 This code depends on the external VMEbus master's vme driver and is
0136 provided as an example, without the Makefile. The bulk of the program
0137 which parses the s-records is courtesy of Kym Newbery,
0138 (8918927y@lux.levels.unisa.edu.au).
0139
0140 In general, apart from x-gcc, the tools most often used while building
0141 RTEMS for MVME162 were: find, grep, diff, and, of course
0142
0143 MVME162 Embedded Controller Programmer's Reference Guide,
0144 Motorola, MVME162PG/D1.
0145
0146 Thanks
0147 ------
0148 - to On-Line Applications Research Corporation (OAR) for developing
0149 RTEMS and making it available on a Technology Transfer basis;
0150 - to Joel Sherril, the leader of the RTEMS development group for
0151 stimulating and helpful discussions;
0152 - to Kym Newbery (8918927y@lux.levels.unisa.edu.au) for his s-record
0153 parser;
0154 - to Gerd Truschinski (gt@first.gmd.de) for creating and running the
0155 crossgcc mailing list
0156 - to FSF and Cygnus Support for great free software;
0157
0158 What's new
0159 ----------
0160 - 28.07.95 BSP adjusted to rtems-3.2.0.
0161 - Now console driver uses interrupts on receive (ring buffer
0162 code lifted with thanks from the IDP BSP next door (../idp))
0163 - both front-panel serial interfaces are supported
0164 - serious bug in timer interrupts fixed
0165 - interrupt test tm27 now supported
0166
0167 ```
0168 +----------------------------------+-------------------------------+
0169 | Dr. Mikhail (Misha) Savitski | Voice : +46-980-79162 |
0170 | Software Systems Engineer | Fax : +46-980-79161 |
0171 | EISCAT Svalbard Radar Project | E-mail: mms@eiscathq.irf.se |
0172 | EISCAT Scientific Association |----------- /\_/\ -----------|
0173 | Box 812 S-98128 Kiruna, Sweden | EIS { o o } CAT |
0174 +----------------------------------+-------oQQQ--(>I<)--QQQo-------+
0175 ```
0176
0177
0178
0179 MVME162 Models
0180 ==============
0181
0182 There are three different models of the MVME162 board with many variations
0183 within each model.
0184
0185 ```
0186 Model Variants
0187 --------- --------------------------------------------------
0188 MVME162 MVME162-0xx
0189 MVME162FX MVME162-4xx, MVME162-5xx
0190 MVME162LX MVME162-2xx, MVME162-3xx, MVME162-7xx, MVME162-8xx
0191 ```
0192
0193 All models use either an MC68040 or MC68LC040 (no FPU) processors. The
0194 processor used varies by variant as does the speed, the amount and type
0195 of memory and the I/O devices (serial, ethernet, SCSI and VME). See the
0196 following tables for details.
0197
0198
0199
0200 MVME162 Variants
0201 ----------------
0202
0203 Source
0204 ------
0205 o MVME162 Embedded Controller User's Manual (MVME162/D2)
0206
0207
0208 Common Configuration
0209 --------------------
0210 o One EPROM socket
0211 o 8Kx8 NVRAM/TOD clock
0212 o Two serial ports
0213 o 1MB Flash memory
0214 o Four MVIP Industry Pack interfaces
0215 o One or two DRAM/SRAM mezzanine memory boards
0216
0217
0218 ```
0219 Model Processor Speed DRAM SRAM Other
0220 ----- --------- ----- ---- ----- ------------------
0221 001 MC68LC040 25MHz 1MB 512KB
0222 002 MC68040 25MHz 1MB 512KB
0223 003 MC68LC040 25MHz 1MB 512KB No VMEbus
0224 010 MC68LC040 25MHz 4MB 512KB
0225 011 MC68LC040 25MHz 4MB 512KB SCSI
0226 012 MC68LC040 25MHz 4MB 512KB Ethernet
0227 013 MC68LC040 25MHz 4MB 512KB Ethernet, SCSI
0228 014 MC68LC040 25MHz 4MB - Ethernet, No VMEbus
0229 020 MC68040 25MHz 4MB 512KB
0230 021 MC68040 25MHz 4MB 512KB SCSI
0231 022 MC68040 25MHz 4MB 512KB Ethernet
0232 023 MC68040 25MHz 4MB 512KB Ethernet, SCSI
0233 026 MC68040 25MHz 4MB - Ethernet, No VMEbus
0234 030 MC68LC040 25MHz 8MB 512KB
0235 031 MC68LC040 25MHz 8MB 512KB SCSI
0236 032 MC68LC040 25MHz 8MB 512KB Ethernet
0237 033 MC68LC040 25MHz 8MB 512KB Ethernet, SCSI
0238 040 MC68040 25MHz 8MB 512KB
0239 041 MC68040 25MHz 8MB 512KB SCSI
0240 042 MC68040 25MHz 8MB 512KB Ethernet
0241 043 MC68040 25MHz 8MB 512KB Ethernet, SCSI
0242
0243 Serial Interface Modules
0244 ------------------------
0245 SIM05 01-W3846B EIA-232-D DTE
0246 SIM06 01-W3865B EIA-232-D DCE
0247 SIM07 01-W3868B EIA-530 DTE
0248 SIM08 01-W3867B EIA-530 DCE
0249
0250 DRAM/SRAM Expansion Memory Boards
0251 ---------------------------------
0252 ?
0253 ```
0254
0255 MVME162FX Variants
0256 ------------------
0257
0258 Source
0259 ------
0260 o MVME162FX Data Sheet
0261 o MVME162FX Embedded Controller Installation and Use (V162FXA/IH3)
0262 o MVME162FX Embedded Controller Programmer's Reference Guide (V162FXA/PG1)
0263 o MVME162FX 400/500-Series VME Embedded Controller Installation and Use
0264 (V162FXA/IH4) Edition of March 2000\Uffffffff
0265 o V162FXA/LT2, November 1995
0266
0267
0268 Common Configuration
0269 --------------------
0270 o One EPROM socket
0271 o 8Kx8 NVRAM/TOD clock
0272 o Two serial ports
0273 o 1MB Flash memory with 162Bug installed
0274 o 512KB SRAM with battery backup
0275 o Four IndustryPack interfaces
0276 o One or two DRAM/SRAM mezzanine memory boards
0277
0278
0279 Uses MC2 Chip, IP2 Chip, 4MB or 12MB mezzanine DRAM board
0280
0281 ```
0282 Model Processor Speed DRAM Other
0283 ----- --------- ----- ---- ------------------
0284 403
0285 410 MC68LC040 25Mhz 4MB
0286 411 MC68LC040 25Mhz 4MB SCSI
0287 412 MC68LC040 25Mhz 4MB Ethernet
0288 413 MC68LC040 25Mhz 4MB Ethernet, SCSI
0289 420 ?
0290 421 ?
0291 422 ?
0292 423 ?
0293 430 MC68LC040 25Mhz 8MB
0294 431 MC68LC040 25Mhz 8MB SCSI
0295 432 MC68LC040 25Mhz 8MB Ethernet
0296 433 MC68LC040 25Mhz 8MB Ethernet, SCSI
0297 440 ?
0298 441 ?
0299 442 ?
0300 443 ?
0301 450 ?
0302 451 ?
0303 452 ?
0304 453 MC68LC040 25Mhz 16MB Ethernet, SCSI
0305 460 ?
0306 461 ?
0307 462 ?
0308 463 ?
0309 510 MC68040 32MHz 4MB
0310 511 MC68040 32MHz 4MB SCSI
0311 512 MC68040 32MHz 4MB Ethernet
0312 513 MC68040 32MHz 4MB Ethernet, SCSI
0313 520 MC68040 32MHz 8MB
0314 521 MC68040 32MHz 8MB SCSI
0315 522 MC68040 32MHz 8MB Ethernet
0316 523 MC68040 32MHz 8MB Ethernet, SCSI
0317 530 MC68040 32MHz 16MB
0318 531 MC68040 32MHz 16MB SCSI
0319 532 MC68040 32MHz 16MB Ethernet
0320 533 MC68040 32MHz 16MB Ethernet, SCSI
0321
0322
0323 Serial Interface Modules
0324 ------------------------
0325 SIM05 01-W3846B EIA-232-D DTE
0326 SIM06 01-W3865B EIA-232-D DCE
0327 SIM07 01-W3868B EIA-530 DTE
0328 SIM08 01-W3867B EIA-530 DCE
0329 SIM09 01-W3002F EIA-485/422 DTE/DCE
0330
0331
0332 DRAM/SRAM Expansion Memory Boards
0333 ---------------------------------
0334 MVME162-502 4MB DRAM
0335 MVME162-503 12MB DRAM
0336 ? 2MB SRAM
0337 ```
0338
0339
0340 MVME162LX Variants
0341 ------------------
0342
0343 Source
0344 ------
0345 o Supplement to MVME162LX Embedded Controller Installation Guide
0346 (MVME162LXIG/D1A1) February 1995
0347 o MVME162LX Embedded Controller Data Sheet
0348 o MVME162LX 200/300 Series Embedded Controller Programmer's Reference
0349 Guide (V162LX2-3A/PG2)
0350 o MVME162LX 200/300 Series Embedded Controller Installation and Use
0351 (V162LX2-3A/IH3)
0352 o MVME162LX 700/800 Series Embedded Controller Installation and Use
0353 (V162-7A/IH1)
0354 o MVME162LX 700/800 Series Embedded Controller Installation and Use
0355 (V162-7A/IH2)
0356
0357
0358 Common Configuration
0359 --------------------
0360 o One EPROM socket
0361 o 8Kx8 NVRAM/TOD clock
0362 o 4 serial ports EIA-232-D DTE (unless otherwise noted)
0363 o 1MB Flash
0364 o 2 IP sites (unless otherwise noted)
0365
0366
0367 ```
0368 Model Processor Speed DRAM Other
0369 ----- --------- ----- -------- ------------------
0370 200 MC68LC040 25MHz 1MB No serial(?)
0371 201 MC68LC040 25MHz 1MB
0372 202 MC68LC040 25MHz 1MB
0373 210 MC68LC040 25MHz 4MB
0374 211 MC68LC040 25MHz 4MB SCSI
0375 212 MC68LC040 25MHz 4MB Ethernet
0376 213 MC68LC040 25MHz 4MB Ethernet, SCSI
0377 216 MC68LC040 25MHz 4MB Ethernet, No VMEbus, No serial(?)
0378 220 MC68040 25MHz 4MB
0379 222 MC68040 25MHz 4MB Ethernet
0380 223 MC68040 25MHz 4MB Ethernet, SCSI
0381 233 MC68LC040 25MHz 4MB ECC
0382 233 MC68LC040 25MHz 4MB ECC Ethernet, SCSI
0383 243 MC68040 25MHz 4MB ECC Ethernet, SCSI
0384 253 MC68LC040 25MHz 16MB ECC Ethernet, SCSI
0385 253 MC68LC040 25MHz 16MB ECC Ethernet, SCSI
0386 262 MC68040 25MHz 16MB ECC Ethernet
0387 263 MC68040 25MHz 16MB ECC Ethernet, SCSI
0388 322 MC68LC040 25MHz 8MB ECC Ethernet
0389 323 MC68LC040 25MHz 8MB ECC Ethernet, SCSI
0390 333 MC68040 25MHz 8MB ECC Ethernet, SCSI, No IP sites(?)
0391 353 MC68040 25MHz 32MB ECC Ethernet, SCSI, 4 IP sites
0392 723 MC68040 32MHz 4MB Ethernet, SCSI
0393 743 MC68040 32MHz 4MB ECC Ethernet, SCSI
0394 763 MC68040 32MHz 16MB ECC Ethernet, SCSI
0395 813 MC68040 32MHz 8MB Ethernet, SCSI
0396 833 MC68040 32MHz 8MB ECC Ethernet, SCSI
0397 853 MC68040 32MHz 32MB ECC Ethernet, SCSI
0398 863 MC68040 32MHz 16MB ECC Ethernet, SCSI
0399 ```
0400
0401
0402 DRAM Expansion Memory Boards
0403 ----------------------------
0404 MVME162-202 4MB (non-stacking)
0405 MVME162-203 16MB ECC (non-stacking)
0406 MVME162-204 16MB ECC (stacking)
0407 MVME162-207 4MB ECC (non-stakcing)
0408 MVME162-208 4MB ECC (stacking)
0409 MVME162-209 8MB ECC (non-stacking)
0410 MVME162-210 8MB ECC (stacking)
0411 MVME162-211 32MB ECC (non-stacking)
0412 MVME162-212 32MB ECC (stacking)
0413
0414