[ac7d5ef0] | 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 | |
---|
[bf3a7a5a] | 14 | MVME162 Models |
---|
| 15 | -------------- |
---|
| 16 | |
---|
| 17 | MVME162 model uses 68040. |
---|
| 18 | |
---|
[50b5f9d] | 19 | MVME162FX model uses XXX. |
---|
| 20 | |
---|
| 21 | MVME162LX model uses 68LC040. |
---|
[bf3a7a5a] | 22 | |
---|
[50b5f9d] | 23 | Do all models have 2 ZCC chips for a total of 4 serial ports? |
---|
[bf3a7a5a] | 24 | |
---|
[9deb5b8b] | 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 | <shibuya@mxb.meshnet.or.jp>. |
---|
| 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. |
---|
[bf3a7a5a] | 36 | |
---|
[5c491aef] | 37 | MVME162FX and DMA on the IP bus |
---|
| 38 | ------------------------------- |
---|
| 39 | |
---|
| 40 | From Eric Vaitl <eric@viasat.com>: |
---|
| 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 | |
---|
[ac7d5ef0] | 56 | Installation |
---|
| 57 | ------------ |
---|
| 58 | Nothing unique to the MVME162. It has been incorporated into the |
---|
| 59 | standard release. |
---|
| 60 | |
---|
| 61 | Port Description |
---|
| 62 | ---------------- |
---|
[9deb5b8b] | 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 | |
---|
[ac7d5ef0] | 69 | The port was done using already existing ports to the M68020 boards, |
---|
[c6fb8e90] | 70 | DMV152 and MVME136. |
---|
[ac7d5ef0] | 71 | |
---|
[9deb5b8b] | 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. |
---|
[ac7d5ef0] | 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 |
---|
[c6fb8e90] | 108 | table. |
---|
| 109 | |
---|
[ac7d5ef0] | 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 | |
---|
[c6fb8e90] | 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 | |
---|
[ac7d5ef0] | 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 | |
---|