ARM Technical Support Knowledge Articles

Why does RVD fail to set hardware breakpoints?

Applies to: RealView Development Suite (RVDS)

Answer

Every hardware breakpoint you place in your code uses some dedicated logic on the ARM core known as a watchpoint unit. ARM7 and ARM9 family cores have two watchpoint units, later cores like ARM10 and ARM11 have more.

You can only place a HW breakpoint if the core has a watchpoint unit which is not currently in use. For example: On ARM7 and 9 cores you can place a maximum of two hardware breakpoints in ROM. If you attempt to place a hardware breakpoint without available resources, RVD will issue a warning.

On ARM7 cores with ROM at 0x0 all the available watchpoint resources will be consumed when RVD attempts to apply the default breakpoints for Semihosting and Vector Catch.You will need to disable Vector catch and Semihosting, to free up breakpoint resources, before you can step or set breakpoints in your code.

ARM9 and later cores have dedicated logic for Vector catch and Instruction stepping so no breakpoint resources are used.
 
 

Article last edited on: 2011-08-09 15:21:42

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