or board.
The debugger includes:
❏ Commands for display and modification of memory
❏ Breakpoint and tracing capabilities
❏ Assembler and disassembler useful for patching programs
Various PPCBug routines that handle I/O, data conversion, and
string functions are available to user programs through the System
Call handler.
Because PPCBug is command-driven, it performs its various
operations in response to user commands entered at the keyboard.
Comparison with other Motorola Bugs
The PPCBug is similar to previous Motorola firmware packages
(e.g., MVME147Bug, MVME167Bug, MVME187Bug), with
differences due to microprocessor architectures. These differences
are primarily reflected in the instruction mnemonics, register
displays, addressing modes of the assembler/disassembler, and
argument passing to the system calls.
PPCBug Implementation
PPCBug is written largely in the C programming language,
providing benefits of portability and maintainability. Where
necessary, the assembly language has been used in separately
compiled program modules that deal with processor-specific
issues. No mixed-language modules are used.
Physically, PPCBug is contained in two socketed 32-pin PLCC
Flash devices that together provide 1MB (256KB words) of storage.
PPCBug uses the entire memory contained in the two devices.
The executable code is checksummed at every power-on or reset
firmware entry. The result is checked with a pre-calculated
checksum contained in the last 16-bit word of the Flash image.
!
Caution
Although a command to allow the erasing and
reprogramming of this Flash memory is available to
you, keep in mind that reprogramming any portion of
Flash memory will erase everything currently contained
in Flash, including PPCBug.
Memory Requirements
The debugger requires approximately 768KB of read/write
memory (i.e., DRAM). The debugger will allocate this memory
from the top of memory. For example, on a system which contains
64MB ($04000000) of read/write memory, the debugger's memory
page will be located at $03F80000 to $03FFFFFF.
Size and Address Requirements for NVRAM
Currently, Motorola uses the SGS-Thompson Timekeeper SRAM
device (48T559), or equivalent. This is used on the PowerPlus
boards and is structured by the Debugger as follows:
NVRAM = 8192 bytes total size (with rtc)
Address ranges include:

Set-up
Refer to the board installation and use manual for information on
installing the hardware, configuring jumpers, and assigning the
console monitor.
Start-up
At either power-up or system reset, PPCBug performs the MPU,
hardware, and firmware initialization process (refer to MPU,
Hardware, and Firmware Initialization on page 1-5). This process
includes a checksum of the FLASH memory contents.
The following types of messages are displayed on the firmware
console during the initialization process:
Copyright Motorola Inc. 1988 - 1997, All Rights Reserved
PPC1 Debugger/Diagnostics Release Version 3.x - xx/xx/xx/RMxx
COLDStart
Local Memory Found =04000000 (&67108864)
MPU Clock Speed =167Mhz
BUS Clock Speed =67Mhz
Reset Vector Location : ROM Bank B
Mezzanine Configuration: Single-MPU
Current 60X-Bus Master : MPU0
Idle MPU(s) : NONE
System Memory: 64MB, ECC Enabled (ECC-Memory Detected)
L2 Cache: NONE
PPC1-Bug>
At this point, PPCBug is waiting for you to enter one of the
commands described in Chapter 3 of this manual.
PPCBug may alternatively be configured via the ENV command to
run selftest and/or autoboot automatically during startup. If so,
then PPCBug will instead behave as follows:
The system pauses five seconds, during which you may terminate
start-up, and exit to the diagnostics prompt, by pressing ESC or the
Break key
The system performs the self test diagnostics if you do not
terminate system start-up. Upon successful completion of these
tests, the system pauses another five seconds. You may terminate
start-up, and exit to the diagnostics prompt, by pressing ESC or the
Break key.
If you do not terminate system start-up, the system begins the boot
routine that has been set up in the ENV command, either NVRAM
Boot List Boot, Auto Boot, ROMboot, or Network Auto Boot.
If the self-tests fail, various error messages appear, and the
diagnostics prompt appears.
Refer to Chapter 3 for information on setting the ENV command
parameters.
MPU, Hardware, and Firmware Initialization
The MPU, hardware, and firmware initialization process is
performed by the PPCBug power-up or system reset. The steps
below are a high-level outline; not all of the detailed steps are listed.
1. Set MPU.MSR to known value.
2. Invalidate the MPU's data/instruction caches.
3. Clear all segment registers of the MPU.
4. Clear all block address translation registers of the MPU.
5. For “dual CPU only” boards (MVME460x or MTX), catch one
CPU of a dual CPU and place it in a waiting loop.
6. Initialize the MPU bus to PCI bus bridge device.
7. Initialize the PCI bus to ISA bus bridge device.