EasyManuals Logo

Lauterbach TRACE32 User Manual

Lauterbach TRACE32
56 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Page #14 background imageLoading...
Page #14 background image
PQIII Debugger | 14
©
1989-2021 Lauterbach GmbH
1. The source of the data access (read and/or write) must be the core, as the data address
breakpoints are part of the core. Any other accesses from on-chip or off-chip peripherals (DMA
etc.) will not be recognized by the data address breakpoints.
2. The data being targeted must be qualified by an address in memory. It is not possible to set a
data address breakpoint to GPR, SPR etc.
Breakpoints on Data Access at Program Address
A normal data access breakpoint as described above hits on all data accesses to the memory address or
address range, independent of the program address which caused the access. It is also possible to set a
data address breakpoint which only hits if the access is performed from a specified program address. The
specified program address must be a load or store instruction.
The program address can also be an address range or a range of debug symbols:
Breakpoints on Data Value
The e500 core does not support onchip breakpoints on data values, but TRACE32 supports them by
software emulation. When a data value breakpoint is set, the debugger will use one of the data address
breakpoint s. When the core hits that breakpoint, the target application will stop and the debugger will
evaluate if the data value matches. If the value matches, the debugger will stop execution, if it does not
match, the debugger will restart the application. Using software emulated data value breakpoints will cause
the target application to slow down.
;Break if the instruction at address 0x40001148 reads from variable count
Break.Set 0x40001148 /MemoryRead count
;Break if the instruction at address 0x40001148 writes to range
Break.Set 0x40001148 /MemoryWrite 0xFFFFF000--0xFFFFFFFF
;Break on all accesses to count from code of the address range
Break.Set 0x40000100--0x400001ff /MemoryReadWrite count
;Break if variable nMyIntVar is written by an interrupt handler
;(debug symbols IVORxx_Handler loaded from debug symbols)
Break.Set IVOR0_Handler--IVOR15_Handler /MemoryWrite nMyIntVar
;Break if variable nTestValue is written within function test_func
Break.Set sYmbol.RANGE(test_func) /MemoryWrite nTestValue
;Break if variable nTestValue is written outside of test_func
Break.Set sYmbol.RANGE(test_func) /EXclude /MemoryWrite nTestValue

Table of Contents

Questions and Answers:

Question and Answer IconNeed help?

Do you have a question about the Lauterbach TRACE32 and is the answer not in the manual?

Lauterbach TRACE32 Specifications

General IconGeneral
Operating System Support (Host)Windows, Linux
ManufacturerLauterbach GmbH
CategoryDebug and Trace Tool
Supported ArchitecturesARM, Power Architecture, RISC-V, x86
InterfaceJTAG, SWD, Nexus, Aurora
FeaturesDebugging, tracing, multicore debugging
Host InterfaceUSB, Ethernet
IDE IntegrationEclipse
Scripting LanguagePractice
Power MeasurementYes (requires specific PowerProbe hardware)
Trace TechnologyInstruction Trace, Data Trace
License TypeFloating license, node-locked license available
Software CompatibilitySupports various compilers and toolchains

Related product manuals