Skip to main content

IAR Embedded Workbench for Arm 9.70.x

__setTraceStartBreak

In this section:
Syntax

In the simulator:

__setTraceStartBreak(location)

In the I-jet driver:

__setTraceStartBreak(location, access, extend, match, data, mask)
Parameters
location

A string that defines the code location of the breakpoint, either a valid C-SPY expression whose value evaluates to a valid address, an absolute location, or a source location. For more information about the location types, see Enter Location dialog box.

access

The memory access type—"F" for fetch, "R" for read, "W" for write, or "RW" for read/write.

This parameter only applies to I-jet.

extend

Extends the breakpoint so that a whole data structure is covered. For data structures that do not fit the size of the possible breakpoint ranges supplied by the hardware breakpoint unit, for example three bytes, the breakpoint range will not cover the whole data structure. Note that the breakpoint range will be extended beyond the size of the data structure, which might cause false triggers at adjacent data. Choose between "TRUE"or "FALSE".

This parameter only applies to I-jet.

match

Enables matching of the accessed data. Choose between "TRUE"or "FALSE".

This parameter only applies to I-jet.

data

A data value to match, in unsigned 32-bit format.

This parameter only applies to I-jet.

mask

Specifies which part of the data value to match (word, halfword, or byte), in unsigned 32-bit format.

This parameter only applies to I-jet.

Return value

Result

Value

Successful

An unsigned integer uniquely identifying the breakpoint. The same value must be used when you want to clear the breakpoint.

Unsuccessful

0

Table 58. __setTraceStartBreak return values 


For use with

The C-SPY simulator. (Not available for all cores and devices.)

The C-SPY I-jet driver.

Description

Sets a breakpoint at the specified location. When that breakpoint is triggered, the trace system is started.

Example
__var startTraceBp;
__var stopTraceBp;

traceOn()
{
  startTraceBp = __setTraceStartBreak
    ("{C:\\TEMP\\Utilities.c}.23.1");
  stopTraceBp = __setTraceStopBreak
    ("{C:\\temp\\Utilities.c}.30.1");
}

traceOff()
{
  __clearBreak(startTraceBp);
  __clearBreak(stopTraceBp);
}
See also

Trace Start Trigger breakpoint dialog box.