ARM Technical Support Knowledge Articles

How do I configure vector_catch in RVD?

Applies to: Multi-ICE, RealView Development Suite (RVDS), RealView ICE and Trace (RVI / RVT)

Answer

For RVI, RVI-ME and Multi-ICE, vector_catch is a mechanism used to trap processor exceptions. This feature is typically used in the early stages of development to trap processor exceptions before the appropriate handlers are installed. The vectors to trap may be selected by editing the vector_catch value.

With RVI & RVI-ME
The vector_catch value can be configured via the RVD GUI in the Processor Events window. To access this, from the RVD main menu select: Debug, Simple Breakpoints, Processor Events.

Individual vector_catch settings can also be configured via the RVD CLI using, (for example):

bglobal,disable prefetch

With Multi-ICE
The value of vector_catch may be overridden for a single debug session from the Debugger Internals tab of the Register Window (see Where do I find Debugger Internal Variables in RVD?). The value of vector_catch represents a bit field, where a set bit corresponds to a trapped exception - the lsb corresponds to the reset vector. Although the value can only be displayed in hexadecimal, values may be entered in binary format using the notation 0b. The default value of 0x13B (0b100111011) corresponds to trapping:

ExceptionTrappedComment
ResetYes
UndefinedYes
SWINoSWI vector may also be trapped by the debugger to enable standard semihosting
Prefetch AbortYes
Data AbortYes
Reserved (Address)NoThis vector is not used on current ARM cores, there is no need to trap this
IRQNo
FIQNo
ErrorYesThis a deprecated feature and performs no function

Vector catch and Connection Properties

vector_catch may also be set for a particular target connection via the Connection Properties dialogue. For both RVI and Multi-ICE, to do this:
  1. Open the Connection Control Dialogue ('Target -> Connect to Target' or 'Alt+0'). Ensure you disconnect from the target BEFORE making these changes.

  2. Right click on the connection, for example Multi-ICE, and select ...Properties. The appropriate branch in the Connection Properties window will automatically be opened.

  3. Drill down through the tree to:
    .. Advanced Information
        --> Default
            --> ARM_config
                 --> Vectors
The catching of each vector may be set here for the new connection default, then select File -> Save and Close.

Note 1: To use the new setting you must now connect to the target.
Note 2: If a Board Chip Definition file is selected for this connection, then this file may contain a value for vector_catch that overrides the target connection setting.

Article last edited on: 2008-09-09 15:47:31

Rate this article

[Bad]
|
|
[Good]
Disagree? Move your mouse over the bar and click

Did you find this article helpful? Yes No

How can we improve this article?

Link to this article
Copyright © 2011 ARM Limited. All rights reserved. External (Open), Non-Confidential