unified breakpoint manager (ubm)processors.wiki.ti.com/images/0/0d/ubm-ext-02.pdf · 37 ti public...

59
TI Public Data Stephen Lau Oct 3, 2007 1 Unified Breakpoint Manager (UBM) Actually, it can do more than just breakpoints…..

Upload: others

Post on 09-Aug-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 20071

Unified Breakpoint Manager (UBM)

Actually, it can do more than just breakpoints…..

Page 2: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 20072

What can I do with the UBM Setup:

SW BreakpointsHardware BreakpointsHardware WatchpointsCountersTrace

Examples of things that can be done:Count the # of L1D stalls in an algorithm.Halt the processor whenever a particular data variable is overwritten with a special value.Halt on a particular line at the 10th loop iteration.Setup Trace JobsToggle the EMU1 pin to trigger an external logic analyzer whenever a particular data variable is read.

Page 3: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 20073

What NEW features will I get with UBM?Most trigger types are now possible in a single interface

Easy to setup various types of trigger types, such as ranged data watchpoints, chained HW watchpoints, etc.

The UBM dynamically determines what AET resources you have left.It will not allow you to setup an AET job if there are no AET resources available.

Configurable Display ColumnsLoading/Saving breakpoints to a fileGrouping breakpoints, and enabling/disabling groupsAssociate breakpoints to a symbolic location

Automatically adjust to edits, re-compiles/reloadsSetup actions on reaching a breakpoint

Call a GEL fileLoading a file to memory

Can now set data watchpoints from the variable watch windowAbility to see system configured breakpoints (ex: CIO and End of Program Breakpoints)

Page 4: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 20074

What other NEW features do I get with UBMCan now access Event triggers on 64x+ devices

Can set up HW Watchpoints on these EventsCan setup Trace triggers based on these Events (Start/Stop Tracing)

Events can be either at the 64x+ subsystem, or come from the SoC(including peripherals)Can also easily generate different actions based on triggers:

Halt CPUToggle EMU0/1 pinGenerate RTOS Interrupt

In existing AET plug-in we can only count basic events, and can only count them. CPU Stalls, L1P Read Miss, L1P Stalls, Etc.

With UBM, we can now access ALL the events on 64x+L1D write miss, hits external, non- cacheable, Dirty Victim Writeback from L2, DMA Snoop Read, Host interrupt, Ethernet MAC interruptEMIFA Error Interrupt, RapidIO interrupt 0, RapidIO error, EDMA3 channel global completion interrupt, Utopia interruptMcBSP0 receive interrupt, Etc. (Many Device specific ones check device datasheet)

Page 5: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 20075

Basic UBM Method of Operation1. Create a new event: Breakpoint (Software), Hardware

Breakpoint, Hardware Watchpoint, Count, Trace, etc.2. Open the property page for the new event.3. Configure the event. 4. Check “Enable”5. Click “Submit” in the property page.

Page 6: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 20076

Tutorial: Setting a SW Breakpoint

Page 7: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 20077

Activate UBM by going to

Debug Breakpoints

Page 8: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 20078

The UBM window appears

Page 9: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 20079

This button allows you to setup a NEW action. Choose from the drop-down the type of action you need.

In this example, choose “Software Breakpoint”

Page 10: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200710

A Software Breakpoint is now added to the system, and is enabled. If this breakpoint is hit, the black arrow will change.

A red dot is shown in the editor to indicate where the breakpoint is set.

By clicking on the properties page, the action, skip count, and conditions can be changed.

Page 11: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200711

Tutorial: Setting a AET Hardware Breakpoint

Page 12: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200712

Choose Hardware Breakpoint from the drop down menu.

Page 13: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200713

By default, a AET HW breakpoint is not enabled. A property window can be opened to change the breakpoint configuration. In this property window, you can choose: Trigger conditions, Action

taken, Name of breakpoint, etc.

Page 14: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200714

•Clicking on the + sign opens up the type of breakpoint actions. It is currently set to “Point”, which means it will cause an action (in this case Action=Halt Target) whenever the address value is

executed. •Other types of triggers can be

selected.

•You can configure the type of action by selecting the “Action” tab.•Note that the action under “logical properties” is CCS Debugger actions

Page 15: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200715

•In the location tab, you can enter either the address value directly, or the symbolic value. •Note that drag&dropof symbol names, is not supported.

Page 16: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200716

•Type in the physical address value.

Page 17: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200717

•Check the action. “Halt Target” is selected. Other options exist, such as “Toggle EMU pin” or “Generate RTOS Interrupt”

Page 18: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200718

•By default, the AET HW Breakpoint is disabled. You need to check this box to enable the breakpoint.

Page 19: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200719

•Now that it is enabled, you must “Submit” the changes to have them take effect.

•“Submit”

•Icon indicates that job has not been enabled. It will be red when it is enabled.

•Note the job in italics and *, indicating that the job has not been submitted.

Page 20: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200720

•Icon indicates that job is now enabled.

•Icon indicates the location of the AET HW breakpoint.

Page 21: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200721

Type in voidfunc

•You can type in the symbol name •When you press “enter” it will resolve the address.

Page 22: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200722

•If you change the type of breakpoint to “Range”, it will cause an action (such as halt) whenever any code from the region is executed.

Page 23: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200723

Tutorial: Setting up an AET HW Watchpoint

Ex: Halt CPU on any size write access to data memory address range.

Page 24: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200724

•Setup a new AET HW Watchpoint

Page 25: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200725

•In the properties page for the AET HW Watchpoint, the default action is to halt the CPU.

Page 26: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200726

•Click on the “+” of the trigger type to configure the trigger. •It is defaulting to “point” which means it will cause an action when the data address is reached.

Page 27: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200727

•In the location, you can type in the symbol for the data variable. In this case, you use the &xxx to put in the address for the variable xxx.

Page 28: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200728

•This will allow you to select the access width. This is useful if you want to only cause an action for a particular type of access. •Note that “write” is selected as the type of access.

Page 29: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200729

•Once you are done configuring the AET HW Watchpoint, select “enable” and click the “Submit” Button.

•Icon indicates that job has not been enabled. It will be red when it is enabled.

•Note the job in italics and *, indicating that the job has not been submitted.

Page 30: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200730

•Job has been submitted and enabled.

Page 31: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200731

Tutorial: Setting up a Counter

Ex: Count the # of program cache misses (that need to go to external memory) in a certain

section of code

Page 32: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200732

•Select the “Count” Option in the UBM

•A dialog will show up, allowing you to select what type of counter you need.

Page 33: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200733

•The “Count Event” Properties page opens, allowing you to configure the type of event to be counted.

Page 34: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200734

•Select the type of event you want to count: Memory, Stall, or System.

Page 35: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200735

•Stall has been chosen, allow the user to select the types of stalls that are counted. Checking the boxes will enable the particular type of stall event.

Page 36: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200736

•If memory is chosen, then a different set of options become available. Again, checking the boxes will enable the particular type of stall event.

Page 37: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200737

•In selecting memory event, you can choose the type of Level 1 Program (L1P) Read Misses to count. In this case, I am only interested in the those L1P misses which hit the external memory. This means the L1P access misses the L1 Program cache, and misses the L2 Program cache, and is forced to go to the external memory interface. This is a very costly type of cache event.

Page 38: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200738

•Scroll down in the properties page, and select “In PC Range” to select the program range for which you want the cache events to be counted. This allows the counting of events to be narrowed down to a particular program region.

Page 39: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200739

•I wish to have the entire inclusive program range, so select “inclusive”

Page 40: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200740

•Add in the program addresses regions.

•Once the program is run, click refresh to get an updated “count” value.

•Refresh

Page 41: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200741

Tutorial: Using UBM with XDS560 Trace

Ex: Trace the program execution until a variable is corrupted.

Ex: “Show me how I corrupted my program stack.”

Page 42: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200742

•Create a new “Trace” event

Page 43: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200743

•Standard Trace has been selected. Click + to configure the information trace will collect.

Page 44: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200744

•Select the types of trace that you want to get. •In this case, Program address and timestamp are selected.

Page 45: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200745

•After submit the job, the trace ON is now enabled. •If this is the first trace event setup, then the XDS560 Trace system will start up.

Page 46: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200746

•Create a new Trace Event. We will use this one to stop the XDS560 Trace collection upon a data write to a data variable.

Page 47: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200747

•Change the “Action” to select “End All Trace”•This will stop all trace collection.

Page 48: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200748

•In “Trigger Type” select “Data Memory”. •We want to stop all tracing if any application code writes to the Data_4 variable. •Set the “Location Type” to be “Range” and set the start and end locations to be the start and end address for the “Data_4” variable.•If the location range was the top of the stack, then this technique would allow us to examine trace on any stack overflow. •Remember to click “Enable” AND “Submit”

Page 49: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200749

•After running the trace system, and looking at the end of the trace buffer, we can see that we have stopped tracing upon the first data write to the Data_4 variable.

Page 50: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200750

Tutorial: Configuring Event Trace

“Help me optimize my cache operations by showing me where I have cache misses in my

code.”

Page 51: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200751

•If the trace type of “Event” is selected instead of “Standard”, then the trace system will be configured for “Event Tracing”•This will allow the user to select from several global categories: Stall, Memory, System, and External. •Note that event types are determined by the device being used. This information should be in the datasheet.

•In this case, I have chosen to view all types of CPU stalls as well as any type of L1P cache stall. •Event 1 is setup for CPU stalls, and Event 2 is setup for L1P stalls. Thus, in the trace display, if there are any “1” in the stall event column, they will be CPU stalls. If there are any “2 in the stall event calumn, they will be L1P stalls. •This information helps a user to determine the type of stall on a per-line basis.

Page 52: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200752

•From the trace output, we can see that we have CPU stalls and not L1P stalls. •This is because the Stall Cycles display shows “1” instead of “2”•Note that the meaning of “1” and “2” is wholly dependint on how you configure the events.

Page 53: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200753

Summary

Page 54: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200754

UBM SummaryReplacing existing AET plug-ins, and will transition into CCS-EclipseSingle place to setup

SW BreakpointsHW BreakpointsHW WatchpointsCountersTrace Jobs

Dynamically determines resources available for useEnables EVENT capabilities for Watchpoints AND XDS560 Trace

Page 55: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200755

Backup

Page 56: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200756

Frequently Asked QuestionsHow are hardware program data breakpoints different from software breakpoints?

Software breakpoints are created by having the debugger (CCS) write a breakpoint instruction into the memory location. When the CPU hits that breakpoint instruction, it halts and the debugger places the instruction back for execution. Hardware breakpoints use on-chip comparators to compare a desired program address with the each fetched program address. When they match, the CPU is halted for debug purposes. Hardware breakpoint can work in ROM where as software breakpoint cannot.You can have an unlimited number of software breakpoints, but hardare breakpoints are limited by what the hardware is able to support.

Page 57: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200757

ETB

Embedded Trace Buffer

Page 58: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200758

ETB BasicsWhat is ETB?

ETB stands for “Embedded Trace Buffer”ETB is an on-chip memory buffer where the trace information is stored.

Where is ETB available?ETB is only available on certain devices.

How big is the ETB buffer?The size depends on the chip designer. Typically, it will be between 2-8K.

Is an XDS560 Trace Hardware unit needed to use the ETB?No

Can ETB be used concurrently with the XDS560 TraceYes, but there are limitations

A device with multiple cores has several operating options:All cores use their individual ETBOne user selected core outputs Trace to the XDS560 Trace, while others use their individual ETB. One user selected core outputs Trace to the XDS560 Trace.

Page 59: Unified Breakpoint Manager (UBM)processors.wiki.ti.com/images/0/0d/Ubm-ext-02.pdf · 37 TI Public Data Stephen Lau Oct 3, 2007 •In selecting memory event, you can choose the type

TI Public Data Stephen Lau Oct 3, 200759

Using ETB

Select the type of Trace receiver

The Trace control now shows ETB as the type of Trace Receiver

Additional Tabs for each core