Browse Prior Art Database

Advanced Functions for the Multi-Function Input/Output Processor Resident Debugger

IP.com Disclosure Number: IPCOM000099717D
Original Publication Date: 1990-Feb-01
Included in the Prior Art Database: 2005-Mar-15
Document File: 3 page(s) / 116K

Publishing Venue

IBM

Related People

Fawcett, BW: AUTHOR

Abstract

Described are debug functions that are provided by a microcode debug program that is resident in a microcode execution environment under test. Besides debug functions that are available in standard debuggers (i.e., starting/stopping of the microprocessor and displaying/ altering of memory or any hardware registers), a resident debugger provides the following more advanced functions: - Microcode-specific memory data/register formatting and interpretation. Instead of displaying data in raw bytes form, the data are formatted (broken out into fields along with a displayed field description) and interpreted. - Realtime break-and-go routines. This function allows a user-specified routine to be automatically invoked upon the hitting of a prespecified breakpoint address.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Advanced Functions for the Multi-Function Input/Output Processor Resident Debugger

       Described are debug functions that are provided by a
microcode debug program that is resident in a microcode execution
environment under test.  Besides debug functions that are available
in standard debuggers (i.e., starting/stopping of the microprocessor
and displaying/ altering of memory or any hardware registers), a
resident debugger provides the following more advanced functions:
      -    Microcode-specific memory data/register formatting and
interpretation. Instead of displaying data in raw bytes form, the
data are formatted (broken out into fields along with a displayed
field description) and interpreted.
      -    Realtime break-and-go routines. This function allows a
user-specified routine to be automatically invoked upon the hitting
of a prespecified breakpoint address.  Upon completion of this
routine, execution is returned to the original program.  This
switching of control happens in realtime.
      -    Step break-and-go routines. This function is similar to
the previous function except in the matter of how the breakpoint is
implemented.  Setting of normal breakpoints requires the instruction
sequence to be temporarily altered in the original program.  This
breakpoint is handled by putting the processor into step mode, and,
therefore, does not require the alteration of the original program's
instruction sequence.  This is intended for use in instruction memory
that should not or cannot be changed (e.g., read-only memory).
      -    Application Program Interface to debug functions to allow
more specialized user functions to be added. The debug function
primitives are packaged in such a way as to give the capability to a
user to build his own specialized functions from them.

      The implementation of these functions is described in more
detail following the description of the overall architecture of the
resident debugger.

      The hardware architecture comprises an external PC connected to
a hardware card-under-test via a communication channel (typically, a
serial, asynchronous port).

      The card-under-test contains the resident debugger portion
(RESBUG) of the tool.  It services the communication port and
performs the primitive debug functions that it receives from this
port.  Because this code remains resident in the actual system
microcode, its size is kept to a minimum by only supporting the bare
primitive services that are necessary.

      The controlling program for RESBUG resides in a PC.  It
interacts with the user and controls the RESBUG program by sending
over the correct sequence of debug primitives to implement the
user-requested function.  Because thi...