ARM Technical Support Knowledge Articles

ACCESS BREAKPOINTS ON ABSOLUTE MEMORY WRIT

Applies to: uVision Debugger

Answer


Information in this article applies to:


QUESTION

The uVision debugger offers access breakpoints that can halt program execution when an application writes to a specify memory location. It is possible to combine access breakpoints with a value when I have symbolic information from the C compiler. For example, I can define:

BS write myVar == 0x5A

This stops execution when the C program writes the value 0x5A to the variable myVar.

However, I want to stop execution when my assembler program writes 0xE8 to the xdata address X:0x0668. How can I define such a breakpoint?

ANSWER

Since the assembler program does not provide type information, you need to use the built-in functioons _RBYTE, _RWORD, _RDWORD, _RFLOAT, and _RDOUBLE to check the value that is stored in memory. You can then set the built-in debugger variable _break_ to halt program execution.

From the command line you may define such a breakpoint is defined as follows:

BS write X:0xE50, 1, "_break_ = (_RBYTE(X:0x668) == 0xEA)"

From the Debug - Breakpoints... dialog you can define this breakpoint with the following inputs:

MORE INFORMATION

SEE ALSO

Article last edited on: 2004-06-29 14:32:00

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