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: | Exception | Trapped | Comment | | Reset | Yes |
| | Undefined | Yes |
| | SWI | No | SWI vector may also be trapped by the debugger to enable standard semihosting | | Prefetch Abort | Yes |
| | Data Abort | Yes |
| | Reserved (Address) | No | This vector is not used on current ARM cores, there is no need to trap this | | IRQ | No |
| | FIQ | No |
| | Error | Yes | This 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:
- Open the Connection Control Dialogue ('Target -> Connect to Target' or 'Alt+0'). Ensure you disconnect from the target BEFORE making these changes.
- Right click on the connection, for example Multi-ICE, and select ...Properties. The appropriate branch in the Connection Properties window will automatically be opened.
- 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.
|