Browse Prior Art Database

Delayed Symbol Patching to Debug Network Applications

IP.com Disclosure Number: IPCOM000017143D
Publication Date: 2003-Jul-22
Document File: 4 page(s) / 118K

Publishing Venue

The IP.com Prior Art Database

Abstract

Disclosed is a method that debugs network processor applications which use the symbolic constant feature in microcode. The applications can be debugged in local simulation mode or on real hardware.

This text was extracted from a Microsoft Word document.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 52% of the total text.

Delayed Symbol Patching to Debug Network Applications

Disclosed is a method that debugs network processor applications which use the symbolic constant feature in microcode. The applications can be debugged in local simulation mode or on real hardware.

Background

Currently there is no way to debug the microcode once the application downloads the microcode onto hardware. Also, there is no way to patch the symbols if the microcode is downloaded by the Workbench.

General Description

The Developer Workbench (workbench) is used to develop/debug code for IXP2XXX Network Processor (IXP2XXX). Code is written for each of the microengines on IXP2XXX, then compiled within the workbench environment (see Figures 1 and 2). The workbench offers an IXP2XXX simulation environment which is a cycle accurate simulator for IXP2XXX. Once code is compiled, the image can be downloaded onto microengines in the simulator and the simulator is started. The workbench can be used to debug this code running on simulator. For each cycle, the workbench can show the status of the microengine and its register file, interfacing peripherals, thread history etc. Breakpoints can be put and code can be single-stepped. Thus the workbench offers a very accurate and powerful method to debug the code (at source level) before running it on the actual hardware containing the IXP2XXX. To obtain all this information, the workbench generates extensive debugging information during the compilation process. Once the code is debugged to sufficient accuracy, the workbench can also be used to download the code onto real hardware and debugged as described before. In this way, the development can be completed by the time hardware arrives, which will reduce the overall product development time significantly.

When in simulation mode, information which is expressed as resolvable symbolic constants (also known as ‘imported variables’) has to be hard coded, as the workbench doesn’t have the intelligence to compute and resolve the imported variables. But an actual application downloading the code images onto real hardware can do so by reading the application/user configuration and running algorithms specific to the application to compute the values before patching them in. To summarize, a typical development microcode cycle goes through the following phas...