Mini-Instruction Cache Overview; Halt Mode Software Protocol; Starting A Debug Session - Intel IXP45X Developer's Manual

Network processors
Table of Contents

Advertisement

Intel
be downloaded dynamically. This method could be used to dynamically download
infrequently used debug handler functions, while the more common operations remain
static in the mini-instruction cache.
The Intel Debug Handler is a complete debug handler that implements the more
commonly used functions, and allows less frequently used functions to be dynamically
downloaded.
3.6.14.6

Mini-Instruction Cache Overview

The mini instruction cache is a smaller version of the main instruction cache. (For more
details on the main instruction cache, see
2-KByte, two-way set associative cache. There are 32 sets, each containing two ways
with each way containing eight words. The cache uses the round-robin replacement
policy.
The mini instruction cache is virtually addressed and addresses may be remapped by
the PID. However, since the debug handler executes in Special Debug State, address
translation and PID remapping are turned off. For application code, accesses to the mini
instruction cache use the normal address translation and PID mechanisms.
Normal application code is never cached in the mini instruction cache on an instruction
fetch. The only way to get code into the mini instruction cache is through the JTAG
LDIC function. Code downloaded into the mini instruction cache is essentially locked - it
cannot be overwritten by application code running on the IXP45X/IXP46X network
processors. However, it is not locked against code downloaded through the JTAG LDIC
functions.
Application code can invalidate a line in the mini instruction cache using a CP15
Invalidate IC line function to an address that hits in the mini instruction cache.
However, a CP15 global invalidate IC function does not affect the mini instruction
cache.
The mini instruction cache can be globally invalidated through JTAG by the LDIC
Invalidate IC function or by a processor reset when the processor is not in HALT or LDIC
mode. A single line in the mini instruction cache can be invalidated through JTAG by the
LDIC Invalidate IC-line function.
3.6.15

Halt Mode Software Protocol

This section describes the overall debug process in Halt Mode. It describes how to start
and end a debug session and details for implementing a debug handler. Intel provides a
standard Debug Handler that implements some of the techniques in this section. The
Intel Debug Handler itself is a a document describing additional handler
implementation techniques and requirements.
3.6.15.1

Starting a Debug Session

Prior to starting a debug session in Halt Mode, the debugger must download code into
the instruction cache during reset, via JTAG.
page
139). This downloaded code should consist of:
• A debug handler
• An override default vector table
• An override relocated vector table (if necessary)
While the processor is still in reset, the debugger should set up the DCSR to trap the
reset vector. This causes a debug exception to occur immediately when the processor
comes out of reset. Execution is redirected to the debug handler allowing the debugger
®
®
Intel
IXP45X and Intel
IXP46X Product Line of Network Processors
Developer's Manual
150
®
®
IXP45X and Intel
IXP46X Product Line of Network Processors—Intel XScale
"Instruction Cache" on page
("Downloading Code in ICache" on
Order Number: 306262-004US
®
Processor
77.) It is a
August 2006

Advertisement

Table of Contents
loading

This manual is also suitable for:

Ixp46x

Table of Contents