ARM Technical Support Knowledge Articles

How do I reset the target processor in RVD?

Applies to: RealView Developer Kit (RVDK) for OKI, RealView Development Suite (RVDS)

Answer

RealView Debugger allows the user to reset the target, via the Debug -> Execution Control -> Reset Target Processor option. However, in order to use this you must ensure that the appropriate "Reset Type" has been selected in the Register pane Debug tab.

The default setting for this is "nSRST+nTRST". This will drive the reset signals to the ARM core execution unit, and also the EmbeddedICE Logic that provides the on-chip debug support. If the EmbeddedICE logic is reset, then the debugger will lose control of the target, and so the behaviour will be unpredictable. You should change this setting to "nSRST" only, to only reset the ARM core, but not the debugger. You can now reset the target with the Reset Target Processor option.

You can also set this via the CLI, with the command:

setreg @RESETOPERATION=0x0


Note that the reset type setting will be restored to the default (nSRST+nTRST) every time you connect to a target. To ensure that this setting is changed to nSRST only when you connect, you can run the above command automatically.

To do this, firstly disconnect from the target. In 'Connection Control' window, right-click on the target entry, and select 'Connection Properties...'.

Then select:

*CONNECTION=

  Connect_with

    Remote

      Advanced_Information

        Default

          Commands

Right-click on the 'Commands' entry in the right hand side and select 'Edit value...', and enter 'setreg @RESETOPERATION=0x0' command. Select 'File -> Save & Close', and connect to target as normal.

If you wish to stop the core at 0x0 following a reset, we recommend that you use the vector_catch setting, as per Debug -> Simple Breakpoints -> Processor Events -> reset.

Note: if this is set when you initially attempt to execute from 0x0, the debugger will not be able to execute beyond this point. You must temporarily disable and then reapply vector catch to allow this by using the following steps:

Clear the Debug -> Simple Breakpoints -> Processor Events -> reset option.

Run or step beyond 0x0.

Set Debug -> Simple Breakpoints -> Processor Events -> reset.

Carry on debug session as normal.

Now, when you select Reset Target Processor, the core will correctly stop at 0x0, after executing reset.

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

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