SourcePoint Intel Help
Table of Contents
- Using Help
- Contacting ASSET InterTech
- Introduction to SourcePoint
- SourcePoint Environment
- SourcePoint Overview
- SourcePoint Parent Window Introduction
- SourcePoint Icon Toolbar
- File Menu
- File Menu - Project Menu Item
- File Menu - Layout Menu Item
- File Menu - Program Menu Item
- File Menu - Macro Menu Item
- File Menu - Print Menu Items
- File Menu - Update Emulator Flash Menu Item
- File Menu - Program Target Device Menu Item
- File Menu - Other Menu Items
- Edit Menu
- View Menu
- Processor Menu
- Options Menu
- Options Menu - Preferences Menu Item
- Options Menu - Target Configuration Menu Item
- Options Menu - Load Target Configuration File Menu Item
- Options Menu - Save Target Configuration File Menu Item
- Options Menu - Emulator Configuration Menu Item
- Options Menu - Emulator Connection Menu Item
- Options Menu - Emulator Reset Menu Item
- Options Menu - Confidence Tests Menu Item
- Window Menu
- Help Menu
- How To -- SourcePoint Environment
- Add Emulator Connections
- Configure Custom Macro Icons
- Configure Autoloading Macros
- Display Text on the Icon Toolbar
- Edit Icon Groups to Customize Your Toolbars
- Modify a Defined Memory Region
- Refresh SourcePoint Windows
- Save a Program
- Start SourcePoint With Command Line Arguments
- Use the New Project Wizard
- Verify Emulator Network Connections
- SourcePoint Overview
- Breakpoints Window
- Breakpoints Window Overview
- How To - Breakpoints
- Code Window
- Command Window
- Command Window Overview
- Confidence Tests Window
- Confidence Tests Window Overview
- Descriptors Tables Window
- Descriptors Tables Window Overview
- How To - Descriptors
- Devices Window
- Devices Window Overview
- How To - Devices Window
- Log Window
- Log Window Overview
- Memory Window
- Memory Window Overview
- How To - Memory Window
- Page Translation Window
- Page Translation Windows Overview
- PCI Devices Window
- PCI Devices Window Overview
- How To - PCI Devices Window
- Registers Window
- Registers Window Overview
- How To - Registers
- Symbols Windows
- Symbols Window Overview
- How To - Symbols Window
- Trace Window
- Trace Window Overview
- How To - Trace Window
- Advanced
- Viewpoint Window
- Viewpoint Window Overview
- Watch Window
- Watch Window Overview
- How To - Watch Window
- Technical Notes
- Descriptor Cache: Revealing Hidden Registers
- UEFI Framework Debugging
- Memory Casting
- Microsoft PE Format Support in SourcePoint
- Multi-Clustering
- Python/CScripts
- OpenIPC Integration, Installation and Usage
- Registers Keyword Table
- SourcePoint Licensing
- Stepping
- Symbols Textsym Format
- Target Configuration
- Using Bookmarks
- Which Processor Is Which
- Getting Started with DbC
- SourcePoint Command Language
- Overview
- Commands and Control Variables
- aadump
- abort
- abs
- acos
- advanced
- asin
- asm
- asmmode
- atan
- atan2
- autoconfigure
- base
- bell (beep)
- bits
- break
- breakall
- cachememory
- cause
- Character Functions
- clock
- continue
- cos
- cpubreak commands
- cpuid_eax
- cpuid_ebx
- cpuid_ecx
- cpuid_edx
- createprocess
- cscfg, local_cscfg
- csr
- ctime
- cwd
- dbgbreak commands
- defaultpath
- #define
- define
- definemacro
- deviceconfigure
- devicelist
- devicescan
- disconnect
- displayflag
- do while
- dos
- dport
- drscan
- edit
- editor
- emubreak, emuremove, emudisable, emuenable
- emulatorstate
- encrypt
- error
- eval
- evalprogramsymbol
- execution point ($)
- exit
- exp
- fc
- fclose
- feof
- fgetc
- fgets
- first_jtag_device
- flist
- flush
- fopen
- for
- forward
- fprintf
- fputc
- fputs
- fread
- fseek
- ftell
- fwrite
- getc
- getchar
- getnearestprogramsymbol
- getprogramsymboladdress
- gets
- globalsourcepath
- go
- halt
- help
- homepath
- idcode
- if
- include
- invd
- irscan
- isdebugsymbol
- isem64t
- isprogramsymbol
- isrunning
- issleeping
- issmm
- itpcompatible
- jtagchain
- jtagconfigure
- jtagdeviceadd
- jtagdeviceclear
- jtagdevices
- jtagscan
- jtagtest
- keys
- last
- last_jtag_device
- left
- libcall
- license
- linear
- list, nolist
- load
- loadbreakpoints
- loadlayout
- loadproject
- loadtarget
- loadwatches
- log, nolog
- log10
- loge
- logmessage
- macropath
- Memory Access
- messagebox
- mid
- msgclose
- msgdata
- msgdelete
- msgdr
- msgdump
- msgir
- msgopen
- msgreturndatasize
- msgscan
- msr
- num_activeprocessors
- num_all_devices
- num_devices
- num_jtag_chains
- num_jtag_devices
- num_processors
- num_uncore_devices
- openipc
- pause
- physical
- port
- pow
- print cycles
- printf
- proc
- processorcontrol
- processorfamily
- processormode
- processors
- processortype
- projectpath
- putchar
- puts
- rand
- readsetting
- reconnect
- Register Access
- reload
- reloadproject
- remove
- reset
- restart
- return
- right
- runcontroltype
- safemode
- save
- savebreakpoints
- savelayout
- savewatches
- selectdirectory
- selectfile
- shell
- show
- sin
- sizeof
- sleep
- softbreak, softremove, softdisable, softenable
- sprintf
- sqrt
- srand
- step
- stop
- strcat
- strchr
- strcmp
- strcpy
- _strdate
- string [ ] (index into string)
- strlen
- _strlwr
- strncat
- strncmp
- strncpy
- strpos
- strstr
- _strtime
- strtod
- strtol
- strtoul
- _strupr
- swbreak
- switch
- swremove
- tabs
- tan
- tapdatashift
- tapstateset
- targpower
- targstatus
- taskattach
- taskbreak, taskremove, taskdisable, taskenable
- taskend
- taskgetpid
- taskstart
- tck
- time
- uncoreconfigure
- uncorescan
- #undef
- unload
- unloadproject
- upload
- use
- verify
- verifydeviceconfiguration
- verifyjtagconfiguration
- version
- viewpoint
- vpalias
- wait
- wbinvd
- while
- windowrefresh
- wport
- writesetting
- yield
- yieldflag
Timestamp
Overview
Timestamps are used to measure time in a trace buffer. ย They are displayed in the Trace view, the Trace Search view, and the Trace Statistics view. ย Their use is optional in all cases except for the Calls Chart tab and the Function Profiling tab, which require timestamps in order to measure function execution times.
There are two timestamp display modes, Accumulate and Delta. ย In Accumulate mode, time is measured from the zero time point in the trace buffer (by default the trigger location). ย In Delta mode, time is measured from the current trace cycle to the previous trace cycle. ย The timestamp display mode is set in the Trace Display Settings dialog.
Trace Types
Each trace type has different trace buffer and timestamp capabilities. ย Following is a brief description of each:
LBR Trace
LBR trace is instruction trace captured in the Last Branch Record MSRs. ย LBR trace has a separate trace buffer for each core. ย LBR trace does not have timestamp capability.
BTS Trace
BTS trace is similar to LBR trace, but is stored in system memory rather than MSRs. ย BTS trace has a separate trace buffer for each core. ย BTS trace timestamp capability is optional. ย BTS timestamp is only available with an AET trace patch that enables it.
Timestamp values are based on the processorโs current TSC value (the same value read from the IA32_TIME_STAMP_COUNTER MSR). ย These values can be used to time align BTS trace between cores or with AET trace. ย Contact Intel for more information about the AET availability.
AET
AET trace records events in the LX-1000 emulator trace buffer or in system memory via the Trace Hub. ย This single trace buffer contains Event trace from all cores. ย Like BTS trace, AET trace has timestamp values based on the TSC. ย
Intel PT
Intel PT records instruction trace in system memory. ย It is the replacement for BTS trace. ย Intel PT has a trace buffer per core. ย Intel PT has two types of timestamp, Cycle Accurate and TSC. ย
Cycle Accurate counts processor clocks so that relative time can be measured within a trace buffer. ย It does not allow for time alignment with other Trace views. ย It is enabled with the Cycle Accurate checkbox in the Intel PT Configuration tab.
TSC timestamp is enabled with the TSC checkbox in the Intel PT Configuration tab. ย It consumes slightly more bandwidth (extra timestamp packets are generated), but it allows for time alignment with other Trace views.
The typical uses cases are:
1. Timestamp is not required. ย Both checkboxes are unchecked.
2. Timestamp is required. ย Both checkboxes are checked.
See Intel_PT Configuration for more information.
Trace Hub
The Trace Hub trace buffer contains SW/FW trace from all cores. ย SW/FW trace though the Trace Hub uses its own timestamp counter that is not related to TSC timestamp. ย This allows for relative time to be measured within the buffer, but does not allow for time alignment with other Trace sources that use TSC timestamp (e.g., AET and Intel PT).
SW/FW timestamp values can be converted to TSC times by enabling Timestamp Alignment packets. ย These are extra packets that contain snapshots of both counters. ย These are enabled with the โAlignment packetsโ checkbox in the Trace Hub Configuration tab.
See Trace_Hub Configuration for more information.
Time Alignment
Each SourcePoint Trace view displays trace from a single trace source. ย The choices available are shown at the top of the Trace view context menu. ย As mentioned above some trace sources have a trace buffer per core, while others have a single trace buffer for the entire system. ย For trace sources with a buffer per core, the core can be selected by selecting Viewpoint in the Trace view context menu. ย The current trace source and trace buffer are indicated in the Trace view Title bar.
Once timestamp has been configured correctly, Trace views can be time aligned, so that scrolling in one causes automatic scrolling in another. ย
Time alignment is enabled with the โTime Align with Other Viewsโ checkbox in the Trace Display Settings dialog. ย A time aligned Trace view has โ(time aligned)โ added to its Title bar. When you place the caret in a time aligned Trace view, or scroll in that view, all other time aligned views will update to display trace at the same absolute time as the first view.