Main Page | Modules | File List | Globals | Examples

Watchpoint unit/Hardware breakpoints

These functions provide control of the Watchpoint unit. More...

Enumerations

enum  { WP_DISABLE, WP_READ, WP_WRITE, WP_ALL }
 See wpu_set_watch(). More...

Functions

int wpu_init (CPU cpu, int enable)
 Initialize CPUs watchpoint unit.
int wpu_set_hbreak (CPU cpu, int n, ADDR addr, int enable)
 Set hardware breakpoint on CPU.
int wpu_cause (CPU cpu)
 Returns an 8 bit vector reflecting the source of the watchpoint.

Detailed Description

Hardware assisted breakpoints (for example, breakpoints in RO memory) are realized via these functions.

Note:
On some silicon revisions, this feature does either not work at all, or not properly. There are some workarounds in the software to attempt to make it work. Nevertheless, these functions are EXPERIMENTAL. Make sure you read the hardware reference about your chip's watchpoint unit.

Enumeration Type Documentation

anonymous enum
 

Enumerator:
WP_DISABLE  Disable watchpoint.
WP_READ  Set Read-watchpoint.
WP_WRITE  Set Write-watchpoint.
WP_ALL  Set Read & Write WP.


Function Documentation

int wpu_cause CPU  cpu  ) 
 

A set bit n means, that the watchpoint event was caused by watchpoint n. [0,5] : Instruction address watchpoints, [6,7]: Data address WP. A call to this function clears the bit vector (WPSTAT register).

int wpu_init CPU  cpu,
int  enable
 

Parameters:
enable 1: enable, 0: disable
Returns:
0: ok, < 0: error code. This feature does not work on all platforms, read above details about watchpoint support.

int wpu_set_hbreak CPU  cpu,
int  n,
ADDR  addr,
int  enable
 

Parameters:
cpu The cpu handle
n The number of the breakpoint [0..5]
on 1: enable, 0: disable


Generated on Thu Sep 1 15:02:53 2005 for bfemu - Blackfin emulation library by  doxygen 1.4.3-20050530