University of Rhode Island HomeUniversity DirectoriesUniversity Fast Linkse-CampusDepartment HelpDepartment Webmail Server
Department Home

HP Symbol Utility

The purpose of the HP Symbol Utility is to map binary signals coming from the HP Logic Analyzer's inputs to matching labels or names in the program running on the system being tested. For ICED, the inputs are typically the ICED bus signals and the system being tested is the ICED computer.

In order to use the symbol utility your compiler or assembler must be modified to produce a specially-formatted symbol table for the program being compiled or assembled. (Note: the ICED icasm canned assembler has already been modified to produce the table.) Assuming your compiler or assembler already produces a symbol table (internally or externally), the necessary modifications are simple and straightforward; we'll discuss them below.

Once the HP logic analyzer is configured to look at the proper signals, the symbol table is loaded into the logic analyzer and the system is then run. Wherever an address matches a label, the label is displayed on the analyzer's screen instead of the numeric address.

The symbol table should also include line number mappings for use by the HP Software Analyzer. The analyzer maps recognized lines in the dynamic trace obtained by the logic analyzer to program source lines, aiding in the debugging process.


Format and Contents of the Symbol Table

There are three required sections of the table: start address, variables and source lines, in that order. The details are:
The "start address" section begins with:
[START ADDRESS]
and is followed on a separate line by the start address in hex; this is usually:
000000
The label or "variables" section begins with:
[VARIABLES]
and is followed by any number of label definitions, one line per variable. Each line consists of the variable name, its address in hex, and its size in bytes, all separated by spaces or tabs. For example:
lp 000028 4
maps the variable "lp" to address "28" and is 4 bytes long.
The "source lines" mapping section begins with:
[SOURCE LINES]
It is then followed by a blank line, then a line specifying the file containing the program source code, i.e.,
File: bmk2.src
This is followed by any number of source line to address mappings, one line per mapping. Each line consists of the source line number in decimal followed by its address in hex, e.g.:
4 00000c
maps source line number "4" to address "00000c". Not all source lines need be specified, e.g., comment lines will not have a mapping.

Symbol Table Example

The listing and symbol table files below were produced by the assembly of the source file with the ICED icasm canned assembler, using the -l and -s switches.
Source file bmk2.src
Listing file bmk2.lst
Symbol table file bmk2.gpa - Note: extension must be ".gpa"

University Home
©2006 Disclaimer

Write us at: 4 East Alumni Ave, Kingston, RI 02881-0805, USA.
Phone: 401-874-2505, Fax: 401-782-6422.
Contact the department. Javascript menu by Milonic.

Page last updated: Thursday, August 03, 2000