B.1.3. How do I configure vector_catch?

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. You select the vectors to trap by editing the vector_catch value.

The value of vector_catch can be overridden for a single debug session from the Debug or CycleCount tab of the Register pane (see Where do I find Debugger Internal variables?). The value of vector_catch represents a bit field, where a set bit corresponds to a trapped exception - the LSbit corresponds to the reset vector. Although the value can only be displayed in hexadecimal, values can be entered in binary format using the notation 0b. The default value of 0x13B (0b100111011) corresponds to trapping:

Table B.1. Trapped Processor Exceptions defaults

ExceptionTrappedComment
ResetYes 
UndefinedYes 
SWINoSWI vector can also be trapped by the debugger to enable standard semihosting
Prefetch AbortYes 
Data AbortYes 
Reserved (Address) YesThis vector is not used on current ARM cores, so you do not have to trap this.
IRQNo 
FIQNo 
ErrorYesThis a deprecated feature and performs no function

The state of individual vectors for catching can also be set for a particular target connection using the Connection Properties window:

  1. Ensure that you disconnect from the target before making these changes.

  2. Select Target ? Connect to Target... to open the Connection Control window.

  3. Right-click on the connection, for example Multi-ICE, and select Connection Properties... from the context menu.

    The appropriate branch in the Connection Properties window opens automatically.

  4. Expand the following entries in turn:

    • CONNECTION= (for the connection you are configuring)

    • Advanced_Information

    • Default

    • ARM_config

  5. Click Vectors in the left pane.

  6. Set the catching of each vector in the group for the connection.

  7. Select File ? Save and Close.

Note

To use the new setting, you must now connect to the target.

If a Board/Chip definition file is selected for this connection, then this file might contain a value for vector_catch that overrides the target connection setting.

Copyright © 2002-2005 ARM Limited. All rights reserved.ARM DUI 0181G
Non-Confidential