Page 1
MVME147 MPU VMEmodule Installation and Use VME147A/IH1...
Page 2
Motorola, Inc. assumes no liability resulting from any omissions in this document, or from the use of the information obtained therein. Motorola reserves the right to revise this document and to make changes from time to time in the content hereof without obligation of Motorola to notify any person of such revision or changes.
Page 3
Preface This manual, MVME147 MPU VMEmodule Installation and Use, provides general information, hardware preparation and installation instructions, operating instructions, programming information, functional description, and debugger Þrmware information for the MVME147 MPU VMEmodule. The information contained in this manual applies to the following MVME147 models:...
Page 4
The computer programs stored in the Read Only Memory of this device contain material copyrighted by Motorola Inc., 1995, and may be used only under a license such as those contained in MotorolaÕs software licenses. The software described herein and the documentation appearing herein are furnished under a license agreement and may be used and/or disclosed only in accordance with the terms of the agreement.
Page 5
Motorola, Inc. assumes no liability for the customer's failure to comply with these requirements. The safety precautions listed below represent warnings of certain dangers of which Motorola is aware. You, as the user of the product, should follow these warnings and all other safety precautions necessary for the safe operation of the equipment in your operating environment.
MVME147 Model Designations 1-1 MVME147 Features 1-2 MVME147 SpeciÞcations 1-4 MVME712 Transition Modules 1-8 Start-up Overview 2-2 Front Panel Indicators and MVME147 Status 3-3 MVME147 Address Spaces 3-4 MC68030 Main Memory Map 3-5 Local I/O Devices 3-6 MC68882 Register Map 3-7...
Page 9
General information Hardware preparation and installation instructions Operating instructions Functional description for the MVME147 series of MPU VMEmodules (referred to as the MVME147 throughout this manual). Model Designations The MVME147 is available in several models which are listed in Table 1-1.
Feature Description Microprocessor MC68030 Floating-point coprocessor MC68882 DRAM Shared DRAM with parity (no parity on MVME147-010) Four ROM/PROM/EPROM/EEPROM sockets (organized as 16 bits wide) Status LEDs Four LEDs: SCON, RUN, FAIL, and STATUS CMOS RAM 4K by 8 available with battery backup...
Page 11
CFM of the air mover, which determine the actual volume of air flowing over a module. FCC Compliance The MVME147 was tested in an FCC-compliant chassis, and meets the requirements for Class A equipment. FCC compliance was achieved under the following conditions: 1.
Page 12
4. Front panel screws properly tightened. For minimum RF emissions, it is essential that the conditions above be implemented; failure to do so could compromise the FCC compliance of the equipment containing the modules. Table 1-3. MVME147 Specifications Characteristics SpeciÞcations Power requirements +5 Vdc, 4.5A maximum (3.5 A typical)
Page 13
RAM with battery backup, four ROM sockets, and A32/D32 VMEbus interface with system controller functions. The MVME147 can be operated as part of a VMEbus system with other VMEmodules such as RAM modules, CPU modules, graphics modules, and analog I/O modules. The following transition boards...
Page 15
MVME712-12/-13/A/AM for external SCSI and/or Ethernet connections. The MVME147Bug debug monitor firmware (147Bug) is provided in the two EPROMs in sockets on the MVME147. It provides: Over 50 debug, up/downline load, and disk bootstrap load commands Full set of onboard diagnostics...
General Information The MVME712 modules provide the interface between the MVME147 and peripheral devices. They connect the MVME147 to EIA-232-D serial devices, Centronics-compatible parallel devices, SCSI devices, and Ethernet devices. The MVME712 is cabled to the MVME147 through the P2 adapter board.
Page 17
MVME712M Transition Module and P2 Adapter Board User's MVME712M/D Manual Notes 1. Although not shown in the above list, each Motorola Computer Group manual publication number is suffixed with characters that represent the type and revision level of the document, such as Ò/xx2Ó (the second revision of a manual);...
Page 18
Local Area Network Controller Am79C90 (LANCE), Technical Manual, order number 06363A, Advanced Micro Devices, Inc., 901 Thompson Place, P.O Box 3453, Sunnyvale, CA 94088. Support Information You can obtain parts lists and schematics for the MVME147 by contacting your local Motorola sales office. 1-10...
Page 19
Manual Terminology Manual Terminology Throughout this manual, a convention is used which precedes data and address parameters by a character identifying the numeric format as follows: dollar speciÞes a hexadecimal character percent speciÞes a binary number & ampersand speciÞes a decimal number Unless otherwise specified, all address references are in hexadecimal.
Page 21
2Hardware Preparation and Installation Introduction This chapter provides the following for the MVME147: Unpacking instructions Hardware preparation Installation instructions The MVME712 hardware preparation is provided in separate manuals. Refer to Related Documentation in Chapter 1. Unpacking Instructions Note If the shipping carton is damaged upon receipt, request that the carrier's agent be present during unpacking and inspection of the equipment.
Page 22
Caution notes before beginning. Table 2-1. Start-up Overview What you will need to do ... Refer to ... On page ... Set jumpers on your MVME147 Hardware Preparation module. Ensure that ROM devices are Hardware Preparation properly installed in the sockets.
Page 23
Overview of Start-up Procedure Table 2-1. Start-up Overview (Continued) What you will need to do ... Refer to ... On page ... Note that the debugger prompt Installation Instructions 2-14 appears. Debugger General Information. You may also wish to obtain the MVME147BUG - 147Bug Debugging Package UserÕs Manual, listed in Related Documentation...
Page 24
Hardware Preparation and Installation Hardware Preparation The MVME147 has been factory tested and is shipped with factory- installed jumpers configured to provide the system functions required for a VMEbus system. The module is operational with the factory-installed jumpers, but to select the desired configuration and ensure proper operation of the MVME147, certain option modifications may be necessary.
Page 26
Òstatic RAMÓ compatible erase/write mechanism such as Xicor X28256 or X2864H. J1 and J2 Jumpers The J1 and J2 headers on the MVME147 module must be configured for the ROM device type used, as shown on the following pages.
Page 27
Hardware Preparation J1 - BANK 2 J2 - BANK 1 14 16 14 16 13 15 13 15 Configuration #1: 8K x 8 or 16K x 8 ROM/PROM/EPROM J1 - BANK 2 J2 - BANK 1 14 16 14 16 13 15 13 15 Configuration #2: 32K x 8 ROM/PROM/EPROM...
Page 28
Hardware Preparation and Installation J1 - BANK 2 J2 - BANK 1 14 16 14 16 13 15 13 15 Configuration #5: 128K x 8 ROM/PROM/EPROM (Factory Configuration) J1 - BANK 2 J2 - BANK 1 14 16 14 16 13 15 13 15 Configuration #6: 256K x 8 ROM/PROM/EPROM/EPROM...
Page 29
Hardware Preparation J1 - BANK 2 J2 - BANK 1 14 16 14 16 13 15 13 15 Configuration #9: 32K x 8 EEPROM Socket Pin Definitions The sockets are installed on the module with pins oriented as shown in Figure 2-2.
Page 30
Hardware Preparation and Installation Figure 2-3 shows the definitions of the ROM/PROM/EPROM/ EEPROM socket pins, depending upon the configuration used. The address lines shown are local bus address lines, not device address lines. The configurations shown in the figure are as follows: ConÞguration Number Device Type...
Page 33
Serial Port 4 Clock Configuration Select Headers (J8, J9) Serial port 4 can be configured to use clock signals provided by the TRXC4 and RTXC4 signal lines. Headers J8 and J9 on the MVME147 module configure part of the clock signals. The remaining configuration of the clock lines is accomplished using header J15 on the MVME712M module.
Page 34
3. Remove the filler panel(s) from the appropriate card slot(s) at the front and rear of the chassis (if the chassis has a rear card cage). If the MVME147 is configured as the system controller, install it in the left-most card slot (slot 1) to initiate the bus grant daisy-chain correctly.
Page 35
Ethernet station address. 4. Insert the MVME147 into the selected card slot. Be sure the module is seated properly into the connectors on the backplane. Fasten the module in the chassis with the screws provided.
Page 36
PF command of the 147Bug debugger. 9. Turn equipment power ON. Notes The MVME147 provides +12 Vdc power to the Ethernet transceiver interface through a 1-amp polyfuse located between the P1 and P2 connectors on the MVME147 module.
Page 37
ÒBugÓ operating mode, press the switch ABORT on the front panel of the MVME147 to cause a menu to be displayed. Enter a 3 to go to the system debugger. (Refer to Appendix B.) When power is applied to the MVME147, bit 1 at location...
Page 38
If you wish to use 147BugÕs Autoboot routine in order to boot automatically from another controller and device, use the AB command (Appendix B). To program the MVME147 moduleÕs PCCchip and VMEchip, refer to the memory maps in Chapter 3 and to Chapter 4, Programming. 2-18...
Page 39
This chapter provides information on using the MVME147 in a system configuration. The following topics are presented: Controls and Indicators, page Memory Maps, page Controls and Indicators There are two switches on the front panel of the MVME147: ABORT RESET FAIL There are four LED status indicators on the...
Page 40
FAIL when watchdog time-out occurs in the PCC. Also, if the LED is FAIL lit and SYSFAIL inhibit bit in the VMEchip is not set, the MVME147 drives SYSFAIL on the VMEbus. STATUS Indicator (DS2) The yellow LED, DS2, lights whenever the MC68030 STATUS STATUS* pin is low.
LED, DS3, is connected to the MC68030 address strobe (AS*) signal and indicates that the MPU is executing a bus cycle. SCON Indicator (DS4) The green LED, DS4, lights when the MVME147 is the SCON VMEbus system controller. Table 3-1. Front Panel Indicators and MVME147 Status FAIL...
(VMEbus memory map). MC68030 Memory Map The MC68030 memory map is split into different address spaces by the function codes. The MVME147 has different groups of devices that respond depending on the address space as shown in Table 3-2.
Page 43
1. Onboard ROM/PROM/EPROM/EEPROM bank 1 for the Þrst 4 cycles after a reset, onboard DRAM thereafter. 2. DRAM size varies from 4MB to 32MB depending on the MVME147 model. 3. Size is approximate. 4. This A24 only applies to VMEbus space that falls below $01000000. VMEbus space below $01000000 only occurs on MVME147 models that have DRAMsize smaller than 16MB.
3. For a complete description of the register bits, refer to the data sheet for the speciÞc chip. 4. The LAN chip is not installed on the MVME147-010. Access to these addresses results in a local bus time-out. 5. The WD33C93 is interfaced in non-multiplexed mode. Only addresses $FFFE4000 (address/status register) and $FFFE4001 (data register) are necessary for operation.
MOVES instructions), but the MVME147 has no devices that respond to them. Coprocessor Register Map The MC68882 is the only coprocessor on the MVME147. The map decoder selects the MC68882 any time the MPU executes a coprocessor cycle with Cp-ID of %001 (FC2-FC0 =%111 and A19- A13 =%0010001).
Page 46
MVME147 respond to such accesses. VMEbus Accesses to MVME147 Onboard DRAM When a VMEbus master accesses the MVME147 onboard DRAM, it must do so using the address modifier selected by a control register in the VMEchip and the base address selected by a control register in the PCC.
Memory Maps Table 3-6. DRAM Address as Viewed from the VMEbus Beginning Ending RBA4 RBA3 RBA2 RBA1 RBA0 Address Address Notes $00000000 (1 x DRAMsize)-1 1 x DRAMsize (2 x DRAMsize)-1 1, 2 2 x DRAMsize (3 x DRAMsize)-1 1, 2 3 x DRAMsize (4 x DRAMsize)-1 1, 2 4 x DRAMsize (5 x DRAMsize)-1...
Page 48
Local Control and Status Register (LCSR) as shown in Table 3-7. A MVME147 may access its own VMEchip GCSR via the VMEbus. The MVME147 (and the MVME147Bug default) powers up with the GCSR base address programmed with $F. This is intentionally done so that the GCSR set is not mapped on the VMEbus.
IACKIN*, it responds by asserting IACKOUT* if it was not generating an interrupt at the acknowledged level, or by returning a status/ID vector if it was. The MVME147 may handle a VMEbus interrupt generated by its own VMEchip. 3-11...
Page 51
4Programming Introduction This chapter provides the information needed to program the Peripheral Channel Controller (PCC) and the VMEchip. Programming the Peripheral Channel Controller These sections contain a description of the PCC internal registers and the bit assignments within each register. All registers may be written or read as bytes.
Page 52
Programming Table 4-1. PCC Overall View 32-BIT REGISTERS Address Register Function FFFE1000 Table address (bits 1 and 0 are zeros) FFFE1004 Data address FFFE1008 Link -- 0000 -- DFC2-0 -- Byte count (24 bits) FFFE100C Data holding register 16-BIT REGISTERS Address Register Function...
Page 53
Programming the Peripheral Channel Controller 8-BIT REGISTERS (Continued) Register Address Name Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 FFFE1027 RsDis2 RsDis1 RsDis0 MIntEn LbToEn WWPar ParEn1 ParEn0 Gen. Purpose Cntrl (Note) (Note) (Note) FFFE1028...
Page 54
Programming Table Address Register This 32-bit read/write register points to a table of physical addresses and byte counts that are used during DMA transfers when table mode is selected. The table address must be longword aligned because bits 0 and 1 are always zero. If the table address has bit 0 or 1 set, they are truncated and no error is generated.
Page 55
Programming the Peripheral Channel Controller Byte Count Register This 32-bit read/write register contains a 24-bit byte counter in bits 0-23, a 3-bit function code in bits 24-26, and a link bit in bit 31. The byte counter contains the number of bytes to be transferred. The function code bits are used when data is transferred.
Page 56
Programming Timer 1 Preload Register This 16-bit read/write register holds the tick timer preload value. When the counter reaches $FFFF, it is loaded with this value and if interrupts are enabled, an interrupt is generated. When running, the counter is incremented every 6.25 microseconds. The following equation should be used to determine the counter value (n) for a periodic interrupt of time t where t is in seconds.
Page 57
Programming the Peripheral Channel Controller Timer 1 Interrupt Control Register ADDRESS BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 FFFE1018 IntStat Enable Bit set and clear instructions should not be used on this Note interrupt control register.
Page 58
Programming Timer 1 Control Register ADDRESS BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 FFFE1019 Ovf3 Ovf2 Ovf1 Ovf0 ClrOvf EnaCnt Enable Bit 0 When this bit is low, the timer is disabled and the counter is loaded with the preload value.
Page 59
Programming the Peripheral Channel Controller Timer 2 Interrupt Control Register ADDRESS BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 FFFE101A IntStat Enable Bit set and clear instructions should not be used on this Note interrupt control register.
Page 60
Programming Timer 2 Control Register ADDRESS BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 FFFE101B Ovf3 Ovf2 Ovf1 Ovf0 ClrOvf EnaCnt Enable Bit 0 When this bit is low, the timer is disabled and the counter is loaded with the preload value.
Page 61
Programming the Peripheral Channel Controller AC Fail Interrupt Control Register ADDRESS BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 FFFE101C IntStat ACFail Enable Bit 3 When this bit is high, the interrupt is enabled. The interrupt is disabled when this bit is low.
Page 62
This bit is cleared by reset. This bit should only be set if the MVME147 is system controller. Bit 3 This bit is set if the watchdog timer times out. This bit is cleared by writing a 1 to it.
Page 63
Programming the Peripheral Channel Controller Printer Interrupt Control Register ADDRESS BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 FFFE101E IntStat FaltInt ACKInt ACKPol Enable Bit set and clear instructions should not be used on this Note control register.
Page 64
Programming Printer Control Register ADDRESS BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 FFFE101F InPrim Strobe StbTim Mode Bit 0 This bit selects the auto or manual mode for the printer strobe. When this bit is low, the printer strobe is generated by a write to the printer data register (auto mode).
Page 65
Programming the Peripheral Channel Controller DMA Interrupt Control Register ADDRESS BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 FFFE1020 IntStat Enable Bit set and clear instructions should not be used on this Note control register.
Page 66
Programming DMA Control and Status Register ADDRESS BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 FFFE1021 DONE 8BitEr TblSizEr DMABEr TWBEr MS/SM* Enable All bits are cleared by reset. Note Bit 0 When this bit is low, the DMA controller is disabled and status bits 3-7 are reset.
Page 67
Programming the Peripheral Channel Controller Bus Error Interrupt Control Register ADDRESS BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 FFFE1022 IntStat Enable Bit 3 When this bit is high, the interrupt is enabled. The interrupt is disabled when this bit is low.
Page 68
Programming DMA Status Register ADDRESS BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 FFFE1023 Inc 4 Inc 3 Inc 2 Inc 1 Bits 0-3 The PCC has a 32-bit register which is used to hold data that is transferred between the SCSI bus and the local bus.
Page 69
Programming the Peripheral Channel Controller Abort Interrupt Control Register ADDRESS BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 FFFE1024 IntStat Abort Enable Bit set and clear instructions should not be used on this Note control register.
Page 70
This function code is placed on the local bus when the DMA address table is accessed. Note that a value of 1, 2, 5, or 6 must be placed in Tbl FC2-FC0 for proper operation of the MVME147 during table walking. These bits are cleared by reset.
Page 71
Programming the Peripheral Channel Controller Serial Port Interrupt Control Register ADDRESS BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 FFFE1026 IntStat Int/Ext* Enable All bits are cleared by reset. Note Bits 0-2 These bits program the interrupt level that the serial ports generate.
Page 72
BIT 2 BIT 1 BIT 0 FFFE1027 RsDis2 RsDis1 RsDis0 MIntEn LbToEn WWPar ParEn1 ParEn0 Bits 0-1 These bits control local RAM parity checking. These bits should not be enabled on the MVME147-010. These bits are cleared by reset. 4-22...
Page 73
Programming the Peripheral Channel Controller The DRAM parity on the MVME147 is in an undefined Note state after power-up. Reads to uninitialized memory with parity checking enabled causes bus errors. All DRAM locations should be written to ensure correct parity before checking is enabled.
Page 74
Programming LAN Interrupt Control Register Note The LAN interrupt is not used on the MVME147-010 and should not be enabled. ADDRESS BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 FFFE1028 IntStat Enable Note All bits are cleared by reset.
Page 75
Programming the Peripheral Channel Controller General Purpose Status Register ADDRESS BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 FFFE1029 PuReset ParErr Bit 0 This bit is set when a parity error occurs while the local processor is accessing RAM.
Page 76
Bit 4 This bit is used to control the reset signal on the SCSI bus. When this bit is low, the SCSI reset signal is not driven by MVME147. When this bit is high, the SCSI reset is driven by MVME147.
Page 77
Programming the Peripheral Channel Controller Slave Base Address Register ADDRESS BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 FFFE102B LANA25 LANA24 WAITRMC RBA4 RBA3 RBA2 RBA1 RBA0 Note All bits are cleared by reset. Bits 0-4 These bits set the slave RAM base address, or the address of onboard RAM as viewed from the VMEbus.
Page 78
Programming Table 4-2. DRAM Address as Viewed from the VMEbus (Continued) Beginning Ending RBA4 RBA3 RBA2 RBA1 RBA0 Notes Address Address 16 x DRAMsize (17 x DRAMsize)-1 1, 2 17 x DRAMsize (18 x DRAMsize)-1 1, 2 18 x DRAMsize (19 x DRAMsize)-1 1, 2 19 x DRAMsize (20 x DRAMsize)-1 1, 2...
Page 79
MARMC cycles (only guaranteed if the other master implements MARMC cycles the same way as the MVME147). When WAITRMC is cleared, the MVME147 only waits for VMEbus mastership if the MARMC cycle starts out by going to the VMEbus. Note...
Page 80
Programming Software Interrupt 1 Control Register ADDRESS BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 FFFE102C IntStat Enable All bits are cleared by reset. Note Bits 0-2 These bits program the interrupt level that is generated. Level 0 does not generate an interrupt.
Page 81
Programming the Peripheral Channel Controller Interrupt Vector Base Register ADDRESS BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 FFFE102D IVB7 IVB6 IVB5 IVB4 Bits 4-7 These bits are used to form the base interrupt status/ID vector for interrupts whose vectors originate from the PCC.
Page 82
Programming Software Interrupt 2 Control Register ADDRESS BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 FFFE102E IntStat Enable All bits are cleared by reset. Note Bits 0-2 These bits program the interrupt level that is generated. Level 0 does not generate an interrupt.
Page 83
Programming the Peripheral Channel Controller Revision Level Register ADDRESS BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 FFFE102F RevL7 RevL6 RevL5 RevL4 RevL3 RevL2 RevL1 RevL0 Bits 0-7 These bits represent the revision level of the PCC. Initial parts are released as level 0.
Page 84
Programming Printer Data Register ADDRESS BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 FFFE2800 Bits 0-7 These bits form the printer data lines. They are write only. Reading this address accesses the printer status register. These bits are not affected by reset.
Page 85
Programming the Peripheral Channel Controller Printer Status Register ADDRESS BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 FFFE2800 FAULT SELECT STAT12 All of these bits are read only. Writing this address Note accesses the printer data register.
Page 86
Programming Programming the VMEchip The VMEchip has two groups of registers: the Local Control and Status Registers (LCSR) and the Global Control and Status Registers (GCSR). Programming the LCSR There are 14 LCSR registers as shown in Table 4-4. Table 4-4. VMEchip Local Control and Status Registers Register Address Name...
Page 87
J3. When J3 pins 1 and 2 are connected, enabling the MVME147 to act as the VMEbus system controller, then SCON = 1. When J3 pins 1 and 2 are not connected, the MVME147 is not the VMEbus system controller and SCON = 0.
Page 88
These bits are set to 1, 1 by any reset. Note that writes to REQLEV1,0 do not change the actual requester level until the MVME147 goes through the action of having VMEbus mastership and releasing it. This means that there are times when the value written into REQLEV1,0 do not match the current requester level (the request level is lagging).
Page 89
200 ns. This bit is cleared by any reset. Bit 6 The DHB status bit is 1 when the MVME147 is VMEbus master and 0 when it is not. Bit 7 Setting the DWB control bit to 1 causes the VMEchip to request the VMEbus (if not already bus master).
Page 90
FFFE2005 DDTACK 020 MASWP CFILL MASUAT MASA16 MASA24 MASD16 Bit 0 Setting the MASD16 bit forces the MVME147 to perform only D8 and D16 data transfers on the VMEbus. Clearing the MASD16 bit allows D8, D16, and D32 transfer capability on the VMEbus when the MC68030 accesses in the range below $F0000000.
Page 91
Programming the VMEchip Table 4-5. Determining the Master AM Code VMEbus Address ModiÞer Code T = True, F = False, X = Don't Care Notes AM2, 1, 0 track FC2, 1, 0. ADR16 = T represents MC68030 accesses to the VMEbus above $FFFF0000. ADR16 = F represents MC68030 accesses to the VMEbus below $FFFF0000.
Page 92
Programming Bit 3 The MASUAT bit allows software to conÞgure the master to provide the UAT data transfer capability. Setting the MASUAT bit to 1 conÞgures the master to execute unaligned VMEbus cycles when necessary. If the bit is cleared, the MC68030 is acknowledged so as to break the unaligned transfer into multiple aligned cycles.
Page 93
VMEchip to complete the write to onboard DRAM on its own. This bit is cleared by SYSRESET. Bit 7 Setting SLVEN to 1 enables other VMEbus masters to access the MVME147 onboard DRAM. This bit is cleared by SYSRESET. 4-43...
Page 94
Programming Timer Configuration Register ADDRESS BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 FFFE2009 ARBT0 VBTO1 VBTO0 ACTO1 ACTO0 LBTO1 LBTO0 Bits 0-1 These two bits conÞgure the local time-out period. They are set to 1 by any reset.
Page 95
Setting ARBTO to 1 enables the VMEbus arbitration timer. The VMEbus arbitration timer activates BBSY* if it is not activated within 410 µs after the MVME147 arbiter issues a bus grant. The timer deactivates BBSY* as speciÞed in the VMEbus speciÞcation.
Page 96
Programming Slave Address Modifier Register ADDRESS BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 FFFE200B SUPER USER EXTED STND SHORT BLOCK PRGRM DATA This register allows software to configure which Note address modifier codes the VMEbus masters must use to access the onboard DRAM.
Page 97
Programming the VMEchip Although all bits in the slave address modifier register Note may be changed dynamically, they must be changed only when the VMEchip has control of the VMEbus. The recommended procedure for changing the slave address modifier is: a.
Page 98
FFFE200D AMSEL The register allows software to program the address Note modifier code that is driven by the MVME147 during a VMEbus cycle. Bits 0-5 These Þve bits, in conjunction with AMSEL, allow software to select dynamically the address space that the master accesses during VMEbus cycles.
Page 99
Programming the VMEchip Interrupt Handler Mask Register ADDRESS BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 FFFE200F IEN7 IEN6 IEN5 IEN4 IEN3 IEN2 IEN1 This register is used to enable the MC68030 to respond Notes to specific VMEbus interrupt requests.
Page 100
Programming Utility Interrupt Mask Register ADDRESS BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 FFFE2011 WPERREN SFIEN SIGHEN LM1EN IACKEN LM0EN SIGLEN Note This register is used to enable the VMEchip interrupt handler to respond to specific utility interrupt requests.
Programming the VMEchip Bit 4 As described in the Programming the GCSR section in this chapter, the GCSR provides four location monitors. Two of them, location monitor 0 and 1, cause a local interrupt when the VMEbus address they are conÞgured to monitor is accessed. The LM1EN control bit allows software to mask the interrupt requested when an access is detected to the address monitored by location monitor 1.
Page 102
Programming Utility Interrupt Vector Register ADDRESS BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 FFFE2013 UVB7 UVB6 UVB5 UVB4 UVB3 UID2 UID1 UID0 Notes The utility interrupt vector register provides the local CPU with a unique vector for each of the utility interrupts.
Page 103
Programming the VMEchip Table 4-7. Encoding of the Interrupt ID Utility Bit 2 Bit 1 Bit 0 Interrupt Source SIGLP IACK SIGHP SYSFAIL WPBERR 4-53...
Page 104
Programming Interrupt Request Register ADDRESS BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 FFFE2015 This register is used to configure the interrupt request Note line that the interrupter activates to request an interrupt on the VMEbus.
Page 105
Programming the VMEchip When the bits are set to drive one of the IRQ lines, they Note must not be changed. The three bits may be changed only when they are all cleared, signifying that the previous interrupt request has been serviced. An added function provided by setting IACKEN (refer to the Utility Interrupt Mask Register section in this chapter) is provided by the VMEchip to signal the local...
Page 106
Programming VMEbus Status/ID Register ADDRESS BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 FFFE2017 This register allows software to program dynamically Note the status/ID that the interrupter provides during an interrupt acknowledge cycle. D00-D03 are set by SYSRESET, D04-D07 are cleared by SYSRESET.
Page 107
Programming the VMEchip Bus Error Status Register ADDRESS BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 FFFE2019 RMCERR VBERR ACTO LBTO This register allows the MC68030 to determine the Note cause of a bus error condition flagged by the VMEchip. Reading the register causes all of its bits to be cleared to 0.
Programming GCSR Base Address Configuration Register ADDRESS BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 FFFE201B GCSRA7 GCSRA6 GCSRA5 GCSRA4 Note This register allows software to set the base address of the GCSR set of registers in the VMEbus supervisor short I/O map.
Page 109
Programming the VMEchip Programming the GCSR There are eight GCSR registers as shown in Table 4-10. The VMEbus address is in the supervisor short I/O map. Table 4-10. VMEchip Global Control and Status Register MVME147 VMEbus Register Name Address Address...
Page 110
Programming Global Register 0 MVME147 VMEbus ADDRESS ADDRESS BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 FFFE2021 00X1 LM0 CHIPID3 CHIPID2 CHIPID1 CHIPID0 MC68030 VMEbus Bits 0-3 These bits provide a unique identiÞcation number for the VMEchip.
Page 111
Programming the VMEchip Bit 7 Location monitor 3 is conÞgured to monitor double-byte accesses to the supervisor short I/O address $00F6, and single- byte accesses to the short I/O address $00F7. When cleared, LM3 indicates that an access to address $00F6 or $00F7 was detected.
Page 112
Programming Global Register 1 MVME147 VMEbus ADDRESS ADDRESS BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 FFFE2023 00X3 R&H SCON BRDFAIL SIGHP SIGLP MC68030 VMEbus Bit 0 The SIGLP control signal allows other VMEbus masters to interrupt the MC68030.
Page 113
0. Bit 7 The R&H bit allows other VMEbus masters to reset the MVME147. The MVME147 is held in the reset state for as long as the R&H bit is set. This bit is cleared by SYSRESET. Notes 1. The GCSR Base Address Configuration Register...
Page 114
Programming Board Identification Register MVME147 VMEbus ADDRESS ADDRESS BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 FFFE2025 00X5 BRDID7 BRDID6 BRDID5 BRDID4 BRDID3 BRDID2 BRDID1 BRDID0 MC68030 VMEbus Note The MC68030 can both read and write to this register.
Page 115
Programming the VMEchip General Purpose CSR 0 MVME147 VMEbus ADDRESS ADDRESS BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 FFFE2027 00X7 General Purpose Control and Status Register 0 MC68030 VMEbus Note General purpose CSR 0 is both readable and writable from the MC68030 and from the VMEbus.
Page 116
Programming General Purpose CSR 1-4 MVME147 VMEbus ADDRESS ADDRESS BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 FFFE2029 00X9 General Purpose Control and Status Register 1 FFFE202B 00XB General Purpose Control and Status Register 2...
Page 117
Two tick timers Watchdog timer Four ROM sockets SCSI bus interface with DMA Ethernet transceiver interface Centronics printer port A32/D32 VMEbus interface VMEbus system controller Numerous control functions Note that the Ethernet interface is not included on the MVME147- 010.
Page 118
Functional Description MC68030 MPU The MC68030 is the main processor of the MVME147. The MC68030 has onchip instruction and data caches. The MVME147 prevents the MC68030 from caching accesses to any other device than local DRAM by activating the cache inhibit in pin (CIIN*) during the accesses.
Page 120
The system reset utility is also described here because it is enabled when the MVME147 is system controller. The system controller function is enabled/disabled by header J3. When the MVME147 is system controller, the System Controller (SCON) LED is turned on.
Page 121
MVME147 enables/disables its SYSRESET* function at the same time that it enables/disables its system controller functions. When the MVME147 is system controller, it drives the SYSRESET* signal line whenever an onboard reset is generated (it does not fully implement the SYSRESET* timing of a VMEbus power monitor).
Page 122
VMEbus Access Time-Out The VMEchip provides a VMEbus access time-out timer. If the MVME147 is not granted the VMEbus within the selected time period, the MC68030 receives a bus error signal (unless the cycle is write posted). The time period is selectable in software for 102 µs, 1.6 ms, 51 ms, or infinite.
Page 123
VMEchip VMEbus Requester The VMEbus requester is used to obtain and relinquish mastership of the VMEbus. Its operation is affected by software programmable bits in the VMEchip. The requester requests VMEbus mastership at the programmed level when the board is not the current VMEbus master and one of the following happens: The MC68030 executes a program space cycle that is bound for the VMEbus.
Page 124
DRAM while the WAITRMC bit was set in the PCC. VMEbus Slave Interface The VMEchip provides the VMEbus slave interface for the MVME147. When the VMEbus wants to access the DRAM or VMEchip control registers, the VMEbus map decoder selects the VMEchip.
Page 125
MVME147 single board computers. It provides the interface between the MC68030, VMEchip, PCC, LANCE, and DRAM on the MVME147. While preserving the original function of the MVME147, the GCC lowers part and manufacture cost and reduces power consumption. The GCC includes the following features: Local DRAM controller: Ð...
Page 126
Functional Description RAM Refresh Timer The DRAM used on the MVME147 must be refreshed at least every 15.6 µs. The GCC provides a refresh signal to the DRAM at least once every 15.6 µs. Local Bus Multiport Arbiter Because the local address and data buses are used to access the onboard DRAM and the VMEbus, any devices that use these resources must become the local bus master first.
Page 127
Peripheral Channel Controller (PCC) Peripheral Channel Controller (PCC) The PCC is an ASIC device designed for the MVME147. The PCC includes the following features: DMA channel for SCSI data 8-bit to 32-bit converter for SCSI data SCSI chip interface Local processor interrupter/handler...
Page 128
Functional Description DMAC Initiation Mode The DMAC has two initiation modes: direct and command chaining (scatter-gather). In the direct mode, the data address pointer and the byte count are loaded into the chip. In the command chaining mode, a table of data addresses and byte counts is placed in local RAM and the address of the table is loaded into the chip.
Page 129
Peripheral Channel Controller (PCC) using the address contained in the data address register. Data transfers continue until the byte count register reaches 0. At this point, the DMAC sets the done bit and enters the idle state unless more table walking is indicated by the link bit in the byte count register.
Page 130
Functional Description SCSI Data Bus Converter The WD33C93 connects to a separate 8-bit data bus on the PCC and not to the local MC68030 bus. This allows the PCC to collect one longword of data by transferring one byte at a time from the WD33C93 without using the processor bus.
Page 131
Control and Status Registers The PCC has input and output signal lines for controlling various functions on the MVME147. There are control lines for DRAM parity enable, parity test and parity error status, VMEbus map select, multiple address RMC mode, and LANCE address select.
Page 132
All four serial ports use EIA-232-D drivers and receivers located on the MVME147 and all the signal lines are routed to P2. The configuration headers are located on the MVME147 and the MVME712. An external I/O transition board such as the MVME712 must be used to convert the P2 pin out to industry standard connectors.
Page 133
Every MVME147 is assigned an Ethernet station address. The address is $08003E2xxxxx where xxxxx is the unique number assigned to the module (i.e., every MVME147 has a different value for xxxxx). Each Ethernet station address is displayed on a label attached to the MVME147Õs backplane connector P2.
Page 134
Ethernet station address. SCSI Interface The MVME147 has a SCSI mass storage bus interface. The SCSI bus is provided to allow mass storage subsystems to be connected to the MVME147. These subsystems may include hard and floppy disk drives, streaming tape drives, and other mass storage devices.
Page 135
ROM/PROM/EPROM/EEPROM There are four 32-pin ROM/PROM/EPROM/EEPROM sockets on the MVME147. They are organized as 2 banks with two sockets per bank. The banks are configured as word ports to the MPU. Each bank can be separately configured for 8K x 8, 16K x 8, 32K x 8, 64K x 8, 128K x 8, 256K x 8, 512K x 8, or 1M x 8 ROM/PROM/EPROM devices or 2K x 8, 8K x 8, or 32K x 8 EEPROM devices.
Page 136
Address valid to data valid CE* low to data valid OE* low to data valid Address invalid, CE* or OE* high to data not valid CE* or OE* high to data high impedance Figure 5-2. Timings Required by the MVME147 5-20...
Page 137
OE* high to WE* low Address invalid after WE* low WE* low pulse width Data valid to WE* high WE* high to data not valid WE* high to OE* low WE* high to CE* high Figure 5-3. Timings Guaranteed by MVME147 5-21...
Page 138
Functional Description EEPROM Power-Up/Power-Down Considerations The MVME147 provides no protection against inadvertent writes to EEPROM that might happen at power-up or power-down time. Most devices provide some level of internal protection. To gain Òabsolute protectionÓ devices with additional Òsoftware protectionÓ are recommended.
Page 139
Interrupt Handler Table 5-2. MVME147 Interrupt Sources and Vectors Interrupt Path Vector Source Vector Level Source ACFAIL %xxxx0000 BERR %xxxx0001 ABORT %xxxx0010 Z8530 devices See Z8530 data sheet Prog Serial Ports %xxxx0011 Prog LANCE %xxxx0100 Prog SCSI Port %xxxx0101 Prog...
Page 140
(address $FFFE102D) bits 4 through 7. yyyyy is the value programmed into the VMEchip utility interrupt vector register (address $FFFE2013) bits 3 through 7. Front Panel Switches and Indicators There are two switches on the front panel of the MVME147. The switches are RESET ABORT...
Page 141
VMEbus. It is specifically optimized for the MC68030. The parity feature is not implemented on the MVME147-010. The MVME147 has parity check which operates in one of three user selectable modes. In mode 1, no parity checking is performed and the DRAM operates at maximum speed.
Page 142
Functional Description VMEbus DRAM Accesses When the VMEbus map decoder detects an onboard DRAM select, the VMEchip requests local bus mastership from the GCC multiport arbiter. When the GCC multiport arbiter has granted local bus mastership, a DRAM read or write cycle happens and the VMEchip activates the DTACK* (or BERR* if parity is enabled and a parity error occurs) signal on the VMEbus.
Page 143
RAM sequencer perform a Column Address Strobe (CAS) before Row Address Strobe (RAS) refresh cycle. Reset There are five sources of reset on the MVME147: SYSRESET* -- Resets all onboard devices. Power on reset -- Resets all onboard devices and drives SYSRESET* if this board is system controller.
Page 144
Functional Description Sources of Bus Error (BERR*) The devices on the MVME147 that are capable of activating a local bus error are described below. Local Bus Time-Out A Local Bus Time-Out (LBTO) occurs whenever an MPU or PCC access (outside of the VMEbus range) does not complete within the programmed time.
Page 145
Because different conditions can cause bus error exceptions, the software must be able to distinguish the source. To aid in this, the MVME147 provides status bits in the VMEchip and PCC chip. Generally, the bus error handler can interrogate the status bits and proceed with the result.
Page 146
MVME147 Support of MC68030 Indivisible Cycles The MC68030 performs operations that require indivisible cycle sequences to the local DRAM and to the VMEbus. The MVME147 requires special circuitry to support these operations. Indivisible accesses to a single address are called Single Address Read-Modify- Write Cycles (SARMC).
Page 147
AEIA-232-D Interconnections Introduction The EIA-232-D standard is the most common terminal/computer and terminal/modem interface, and yet it is not fully understood. This may be because not all the lines are clearly defined, and many users do not see the need to follow the standard in their applications.
Page 148
EIA-232-D Interconnections Table A-1. EIA-232-D Interconnections Signal Number Mnemonic Signal Name and Description CHASSIS GROUND. Not always used. See section Proper Grounding. TRANSMIT DATA. Data to be transmitted; input to the modem from the terminal. RECEIVE DATA. Data which is demodulated from the receive line;...
Page 149
Levels of Implementation Table A-1. EIA-232-D Interconnections (Continued) Signal Number Mnemonic Signal Name and Description RING INDICATOR. Output from the modem to the terminal; indicates to the terminal that an incoming call is present. The terminal causes the modem to answer the phone by carrying DTR true while RI is active.
Page 150
EIA-232-D Interconnections usually necessary to make CTS high by connecting it to RTS or to some source of +12 volts such as the resistors shown in Figure A-1. CTS is also frequently jumpered to an MC1488 gate which has its inputs grounded (the gate is provided for this purpose).
Page 151
Levels of Implementation SERIAL PORT 1488 1489A 39kΩ -12V CONNECTOR +12V LS08 TERMINAL 470Ω 470Ω 470Ω OPTIONAL HARDWARE TRANSPARENT SIG GND MODE CHASSIS GND LOGIC LS08 +12V SIG GND 470Ω 1488 SERIAL PORT 1489A CONNECTOR 39kΩ -12V MODEM 1488 HOST 470Ω...
Page 152
EIA-232-D Interconnections Figure A-2 shows a way of wiring an EIA-232-D connector to enable a computer to connect to a basic terminal with only three lines. This is feasible because most terminals have DTR and RTS signals that are ON, and which can be used to pull up the CTS, DCD, and DSR signals.
Page 153
Levels of Implementation Proper Grounding Another subject to consider is the use of ground pins. There are two pins labeled GND. Pin 7 is the SIGNAL GROUND and must be connected to the distant device to complete the circuit. Pin 1 is the CHASSIS GROUND, but it must be used with care.
Page 155
User friendliness Portability Ease of maintenance This member of the M68000 firmware family is implemented on the MVME147 MPU VMEmodule and is known as MVME147Bug, or simply 147Bug. Description of 147Bug The MVME147Bug package is a powerful evaluation and debugging tool for systems built around the MVME147 monoboard microcomputer.
Page 156
A command-driven user-interactive software debugger, described in this appendix, and hereafter referred to as Òthe debuggerÓ or Ò147BugÓ A command-driven diagnostic package for the MVME147 hardware, hereafter referred to as Òthe diagnosticsÓ A user interface which accepts commands from the system...
Page 157
Debugging Package UserÕs Manual) and an expanded online help facility. If you have used one or more of Motorola's other debugging packages, you will find the 147Bug very similar. Considerable effort has also been made to make the interactive commands more consistent.
Page 158
Eight bits per character One stop bit per character Parity disabled (no parity) Baud rate 9600 baud (default baud rate of all MVME147 ports at power-up) After power-up, the baud rate of the debug port can be reconfigured by using the Port Format (PF) command of the 147Bug debugger.
Page 159
1. Power must have just been applied (but the RB command can change this to also respond to any reset). 2. Your routine must be located within the MVME147 ROM memory map (but the RB command can change this to any other portion of the onboard memory, or even offboard VMEbus memory).
Page 160
Routine Name ASCII string containing routine name. By convention within Motorola, the checksum is placed in the two bytes following the routine. If you wish to make use of ROMboot you do not have to fill a complete ROM. Any partial amount is acceptable, as long as the length reflects where the checksum is correct.
Page 161
ROMboot 4. Search local RAM (if RB command has selected to operate on any reset), at all 8K byte boundaries starting at $00006000. 5. Search the VMEbus map (if so selected by the RB command) on all 8K byte boundaries starting at the end of the onboard RAM.
Page 163
During COLD reset mode, a total board initialization takes place, as if the MVME147 had just been powered up. The breakpoint table and offset registers are cleared. The user registers are invalidated. Input and output character queues are cleared. Onboard devices (timer, serial ports, etc.) are reset.
Page 164
Abort is invoked by pressing and releasing the switch on the ABORT MVME147 front panel. Whenever Abort is invoked when executing a user program (running target code), a ÒsnapshotÓ of the processor state is captured and stored in the target registers. (When working in the debugger, Abort captures and stores only the program counter, status register, and format/vector information.) For this...
Page 165
Restarting the System Environment is set for Bug mode. Automatic SCSI bus reset is turned off. Onboard diagnostic switch is turned on (for this reset only). System memory sizing is turned on (System mode). Console is set to port 1 (LUN 0). Port 1 (LUN 0) is set to use ROM defaults for initialization.
Page 166
SCSI firmware code is not position-independent. 147Bug requires a minimum of 16KB of contiguous read/write memory to operate. This memory is the MVME147 on-board RAM and is used for 147Bug stack and static variable space. The rest of on-board RAM is reserved as user space.
Page 167
Terminal Input/Output Control Terminal Input/Output Control When entering a command at the prompt, the following control codes may be entered for limited command line editing. Note The presence of the caret ( ^ ) before a character indicates that the Control ( ) key must be held CTRL down while striking the character key...
Page 168
Debugger General Information Disk I/O Support 147Bug can initiate disk input/output by communicating with intelligent disk controller modules over the VMEbus. Disk support facilities built into 147Bug consist of: Command-level disk operations Disk I/O system calls (only via one of the TRAP #15 instructions) for use by user programs Defined data structures for disk parameters Parameters such as these:...
Page 169
Disk I/O Support If the conversion from blocks to sectors yields a fractional sector count, an error is returned and no data is transferred. Disk I/O via 147Bug Commands The 147Bug commands listed in the following paragraphs are provided for disk I/O. Detailed instructions for their use are found in MVME147BUG 147Bug Debugging Package UserÕs Manual.
Page 170
Debugger General Information BO (Bootstrap Operating System) BO reads an operating system or control program from the specified device into memory, then transfers control to it. BH (Bootstrap and Halt) BH reads an operating system or control program from a specified device into memory, then returns control to 147Bug.
Page 171
Disk I/O Support To perform a disk operation, 147Bug must eventually present a particular disk controller module with a controller command packet which has been especially prepared for that type of controller module. (This is accomplished in the respective controller driver module.) A command packet for one type of controller module usually does not have the same format as a command packet for a different type of module.
Page 172
147Bug returns an error code if an attempted disk operation is unsuccessful. Multiprocessor Support The MVME147 dual-port RAM feature makes the shared RAM available to remote processors as well as to the local processor. A remote processor can initiate program execution in the local MVME147 dual-port RAM by issuing a remote GO command using the Multiprocessor Control Register (MPCR).
Page 173
Disk I/O Support The codes stored in the MPCR are of two types: Status returned (from 147Bug) Command set by the bus master (job requested by some processor) The status codes that may be returned from 147Bug are: HEX 0 (HEX 00) Wait.
Page 174
Debugger General Information The MPCR contains $00 at power-up, indicating that initialization is not yet complete. As the initialization proceeds, the execution path comes to the ÒpromptÓ routine. Before sending the prompt, this routine places an R in the MPCR to indicate that initialization is complete.
Included in the 147Bug package is a complete set of hardware diagnostics intended for testing and troubleshooting of the MVME147. These diagnostics are listed in the following tables. In order to use the diagnostics, you must switch directories to the diagnostic directory.
Debugger General Information Table 5-3. Diagnostic Test Commands Command Description MPU tests for the MC68030 CA30 MC68030 onchip cache tests Memory tests Memory Management Unit tests Real-time clock tests Bus error test BERR Floating-point coprocessor (MC68882) test LANCE chip (AM7990) functionality test LANX LANCE chip (AM7990) external test Z8530 functionality test...
Page 177
Using the 147Bug Debugger Using the 147Bug Debugger Entering Debugger Command Lines 147Bug is command-driven and performs its various operations in response to user commands entered at the keyboard. When the debugger prompt ( ) appears on the terminal screen, then 147-Bug>...
Page 178
Debugger General Information The commands are shown using a modified Backus-Naur form syntax. The metasymbols used are: boldface strings A boldface string is a literal such as a command or a program name, and is to be typed just as it appears. italic strings An italic string is a Òsyntactic variableÓ...
Page 179
Using the 147Bug Debugger Expression as a Parameter An expression can be one or more numeric values separated by the arithmetic operators: Plus (+) Minus (-) Multiplied by (*) Divided by (/) Logical AND (&) Shift left (<<), or Shift right (>>). Numeric values may be expressed in either: Hexadecimal Decimal...
Page 180
Debugger General Information A numeric value may also be expressed as a string literal of up to four characters. The string literal must begin and end with the single quote mark ('). The numeric value is interpreted as the concatenation of the ASCII values of the characters. This value is right-justified, as any other numeric value would be.
Page 181
Using the 147Bug Debugger Address as a Parameter Many commands use addr as a parameter. The syntax accepted by 147Bug is similar to the one accepted by the MC68030 one-line assembler. All control addressing modes are allowed. An Òaddress + offset registerÓ mode is also provided. Address Formats Table B-4 summarizes the address formats which are acceptable for...
Page 182
Debugger General Information Table B-4. Debugger Address Parameter Formats (continued) Notes 1. N Absolute address (any valid expression) Address register n Index register n (An or Dn) Displacement (any valid expression) Base displacement (any valid expression) Outer displacement (any valid expression) Register number (0 to 7) Offset register n 2.
Page 183
Using the 147Bug Debugger Example: A portion of the listing file of an assembled, relocatable module is shown below: * MOVE STRING SUBROUTINE 0 00000000 48E78080 MOVESTR MOVEM.L D0/A0,—(A7) 0 00000004 4280 CLR.L 0 00000006 1018 MOVE.B (A0)+,D0 0 00000008 5340 SUBQ.W #1,D0 0 0000000A 12D8...
Page 184
The valid port numbers which may be used for these commands are: 0 - MVME147 EIA-232-D (MVME712/MVME712M serial port 1) 1 - MVME147 EIA-232-D (MVME712/MVME712M serial port 2) 2 - MVME147 EIA-232-D (MVME712/MVME712M serial port 3)
Page 185
147Bug MM command as outlined above and stored to the host using the Dump (DU) command. A communication link must exist between the host system and the MVME147. The file is downloaded from the host to MVME147 memory by the Load (LO) command.
Page 186
Preserving the Debugger Operating Environment This section explains how to avoid contaminating the operating environment of the debugger. 147Bug uses certain of the MVME147 onboard resources and uses onboard memory to contain temporary variables, exception vectors, etc. If you disturb resources upon which 147Bug depends, then the debugger may function unreliably or not at all.
Page 187
Program Counter (PC), causing a system crash. Tick Timers The MVME147 uses the PCC tick timer 1 to generate accurate delays for program timing (refer to Chapter 4, Programming). Serial Ports The EIA-232-D ports are initialized to interface to the debug terminal.
Page 188
Debugger General Information Table B-5. Exception Vectors Used by 147Bug Vector Offset Exception 147Bug Facility Bus Error Illegal instruction Breakpoints (used by GO, GN, GT) Trace Trace operations (such as T, TC, TT) $108 Level 7 Interrupt ABORT pushbutton TRAP #15 System calls Example: Trace one instruction using debugger.
Page 189
Preserving the Debugger Operating Environment Using 147Bug Target Vector Table The 147Bug initializes and maintains a vector table area for target programs. A target program is any program started by the bug: Manually with GO command Manually with trace commands (T, TC, TT) Automatically with the BO command The start address of this target vector table area is the base address ($00) of the debugger memory.
Page 190
Debugger General Information The vector for the Bug generalized exception handler (described in detail in the Bug Generalized Exception Handler section in this appendix) may be copied from offset $3C (Uninitialized Interrupt) in the target vector table to all locations in your program vector table where a separate exception handler is not used.
Page 191
Preserving the Debugger Operating Environment is added to the address of the Bug target program vector table (which your program saved), yielding the address of the Bug exception vector. The program then jumps to the address stored at this vector location, which is the address of the Bug exception handler.
Page 192
Debugger General Information Example: Bus error at address $F00000. It is assumed for this example that an access of memory location $F00000 initiates bus error exception processing. 147Bug> =00004000 SR =2700=TR:OFF_S._7_..VBR =00000000 USP =00005830 MSP =00005C18 ISP* =00006000 SFC =0=F0 CACR =0=D:.._I:...
Page 194
Debugger General Information Address Translation Control (ATC) Registers: CPU Root Pointer Register (DL) Supervisor Root Pointer Register (DL) Translation Control Register Transparent Translation 0 Transparent Translation 1 Status Information Registers: MMUSR MMU Status Register For more information about the MMU, refer to the MC68030 Enhanced 32-Bit Microprocessor User's Manual.
Page 195
Memory Management Unit Support The symbol ^ (up arrow or caret) following the address field indicates that a function code specification follows. The function code can be entered by specifying a valid function code mnemonic or by specifying a number between 0 and 7. The syntax for an address and function code specification is: addr^FC The valid function code mnemonics are:...
Page 196
Debugger General Information The 147Bug Debugger Command Set The 147Bug debugger commands are summarized in Table B-6. The command syntax is shown in the table using the symbols explained in the section Using the 147Bug Debugger, beginning on page B-23. HE is the 147Bug help facility: Typing HE displays the command names of all available commands along with their appropriate titles.
Page 197
The 147Bug Debugger Command Set Table B-6. Debugger Commands Command Mnemonic Title Command Line Syntax Automatic Bootstrap Operating System NOAB No Autoboot NOAB Block of Memory Compare BC range del addr [; B|W|L] Block of Memory Fill BF range del data [increment] [; B|W|L] Bootstrap Operating BH [del controller lun] [del device lun] [del System and Halt...
Page 198
Debugger General Information Table B-6. Debugger Commands (Continued) Command Mnemonic Title Command Line Syntax Go to Next Instruction Go to Temporary GT addr [:count] Breakpoint Help HE [command] I/O Control for Disk/Tape I/O Physical (Direct Disk Access) I/O ÒTEACHÓ for IOT [;...
Page 199
The 147Bug Debugger Command Set Table B-6. Debugger Commands (Continued) Command Mnemonic Title Command Line Syntax MENU System Menu MENU Memory Set MS addr [hexadecimal #] ...|[ÔstringÕ]... Set Memory Address from VMEbus Offset Registers OF [Rn [; A]] Display/Modify Printer Attach PA [n] NOPA Printer Detach...
Page 200
Debugger General Information Table B-6. Debugger Commands (Continued) Command Mnemonic Title Command Line Syntax TIME Display Time and Date TIME Transparent Mode TM [n] [escape_key] Trace to Temporary TT addr Breakpoint Verify S-records Against VE [n] [addr] [; X|-C] [=text] Memory B-46...
Page 201
A normal cold start of the MVME147, when the 147Bug EPROMs are installed, starts the oscillation; but before you can use your MVME147, you will need to set the time and date correctly with the 147BugÕs SET command. The MVME147Õs NVRAM contains certain operating environment parameters.
Page 202
SET and ENV Commands The next prompt asks for a calibration value. This value slows down (- value) or speeds up (+ value) the RTC in the M48T18 chip. Refer to the M48T18 data sheet (listed in Related Documentation in Chapter 1) for details.
Page 203
ENV - Set Environment to Bug/Operating System ENV - Set Environment to Bug/Operating System Command Input ENV [;D] Description The ENV command allows you to select the environment in which the debugger is to execute. When you specify ENV, the debugger remains in the specified environment until you invoke ENV again to change it.
Page 204
SET and ENV Commands If NVRAM has been corrupted you can repair it by invoking the individual command(s) that correct the bad data, or you can invoke the ENV command with the D (defaults) option specified. This option instructs ENV to update the NVRAM with default environmental parameters.
Page 205
CPU clock frequency [16,20,25,32] = 25? Reset System [Y/N] = N? The firmware now takes the reset path and initializes the MVME147 with the defaults placed in NVRAM. Using ENV without Options When you invoke ENV without the D option, you are prompted for...
Page 206
SET and ENV Commands Three Bug Mode options are available: Execute/Bypass Bug Self Test: Ð Execute. This mode enables the extended confidence tests as defined in MVME147BUG 147Bug Debugging Package User's Manual. This automatically puts the Bug in the diagnostic directory. Ð...
Page 207
ENV - Set Environment to Bug/Operating System Execute/Bypass SST Memory Test: Ð Execute. This is the standard SST memory test mode, and is the one defaulted to if NVRAM should fail. In this mode the SST memory tests are executed as part of the system self test.
Page 208
SET and ENV Commands Table C-1. VMEchip Options (Continued) Option Description VMEbus Requester Level This is used to conÞgure the VMEbus requester level (0 through 3). VMEbus Requester Release This is used to conÞgure the VMEbus requester release mode (Release: On Request, When Done, or Never). Example 1: 147-Bug>...
Page 209
Utility Interrupt Vector number (def is 60) [8-F8] = $10? Change and exit 147-Bug> Firmware now takes the Reset path and initializes the MVME147 for the System Mode (refer to MVME147BUG 147Bug Debugging Package User's Manual for System Mode operation details).
Page 211
DTroubleshooting: Solving Start-up Problems Try these simple troubleshooting steps before calling for help or sending your CPU board back for repair. Some of the procedures will return the board to the factory debugger environment. (The board was tested under these conditions before it left the factory.) Selftest may not run in all user-customized environments.
Page 212
Troubleshooting: Solving Start-up Problems Table D-1. Basic Troubleshooting Steps (Continued) Condition ... Possible problem ... Try this ... II. There is a A. The keyboard may Recheck the keyboard and power connections. display on the be connected terminal, but incorrectly. input from the B.
Page 213
Table D-1. Basic Troubleshooting Steps (Continued) Condition ... Possible problem ... Try this ... IV. Debug prompt A. The initial Performing the next debugger 147-Bug> step will change some environment appears at power- parameters that may affect parameters may be Caution up, but the board set wrong.
Page 214
Troubleshooting: Solving Start-up Problems Table D-1. Basic Troubleshooting Steps (Continued) Condition ... Possible problem ... Try this ... 6. Run selftest by typing in st (CR) The tests take as much as 10 minutes, depending on RAM size. They are complete when the prompt returns.
Page 215
Table D-1. Basic Troubleshooting Steps (Continued) Condition ... Possible problem ... Try this ... VI. The debugger A. No problems - No further troubleshooting steps are required. is in System troubleshooting is Note Even if the board passes all tests, Mode and the done.
Page 223
Reset and Abort function C-3 Serial Port 4 Clock Configuration Select RESET and ABORT switches 5-15 Headers J8, J9 2-13 reset of MVME147 5-27 serial port interface 5-16 RESET switch 5-15, B-9, B-10 Serial Port Interrupt Control Register RESET switch (S2) 3-2...
Page 224
Index sockets U1 and U15 2-6 System Controller Configuration Regis- sockets U22 and U30 2-6 ter 4-37 sockets, ROM/PROM/EPROM/EE- System Controller Select Header J3 2-13 PROM 2-6 System Memory Sizing C-6 Software Interrupt 1 Control Register System Mode 1-7, 2-17, B-2, C-5 4-30 operation C-5 Software Interrupt 2 Control Register...