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
go
Start program execution and optionally set a breakpoint.
Syntax
[[px]] go [forever | tilswb | til addr-event]
Where:
[px] |
is a viewpoint override, including punctuation ( [ ] ), specifying that the viewpoint is temporarily set to processor x of the boundary scan chain. ย The processor can be specified as px (where x is the processor ID), or an alias you have defined for a given processor ID. ALL cannot be used as a viewpoint override. |
addr-event |
addr [length] [type] |
length |
{byte | word | dword} |
type |
{acc | exe | wr | io | rd | smmacc | smmexe | smmwr | smmio} |
acc |
specifies that the event to be recognized is a data access (read or write) operation at the specified vls-addr. The default segment of vls-addr is DS. |
exe |
specifies that the event to be recognized is based on the execution of an instruction at vls-addr. The execute option is the default setting if a type is not specified. The specified vls-addr must identify the first byte of an instruction opcode for it to be recognized. The default segment selector of vls-addr is the current CS. |
forever |
temporarily disables all breakpoints and begins emulation. |
io |
specifies that the event to be recognized is an I/O access (read or write) operation at the corresponding port address. |
ย |
ย |
smmacc |
specifies that the event to be recognized is a data access (read or write) operation in the SMM address space at the specified vls-addr. The default segment of vls-addr is DS. |
smmexe |
specifies that the event to be recognized is based on the execution of an instruction in the SMM address space at vls-addr. The execute option is the default setting if a type is not specified. The specified vls-addr must identify the first byte of an instruction opcode for it to be recognized. The default segment selector of vls-addr is the current CS. |
smmio |
specifies that the event to be recognized is an I/O access (read or write) operation in the SMM address space at the corresponding port address. |
smmwr |
specifies that the event to be recognized is a memory write operation in the SMM address space. The default segment selector is the current DS. |
til |
specifies the following event is to be recognized. |
tilswb |
specifies that emulation continues until a software break is executed. Other breakpoint types are temporarily disabled. |
vls-addr |
specifies a virtual, linear, or symbolic address (a physical address cannot be entered). If vls-addr is followed by either a write or an access option, then the default segment selector is the current DS. If vls-addr is followed by either the execute option or nothing, the default segment selector is the current CS. |
wr |
specifies that the event to be recognized is a memory write operation. The default segment selector is the current DS. |
byte,word, dword |
specifies the range of the addresses that will cause a break. The byte option is the default setting if a length is not specified. |
Discussion
Use the go command to control emulation. The go command uses the processor debug registers for setting address events.
Hardware breaks are implemented using the on-chip debug registers of the processor. Emulation stops before the instruction at addr-event is executed. However, if addr-event is qualified with a write or an access option, the break occurs immediately after the event that caused the match.
When software breakpoints are set, emulation stops before the instruction is executed.
The emulator uses debug registers 0 through 7 and the "Interrupt 1" facilities of the processor . If the target software uses "Interrupt 1" during emulation, an unexpected break occurs. If the target software modifies the processor debug registers while in emulation, the results may be unpredictable.
When the go command is entered without any specifications, any breakpoints specified in the Breakpoints window are in effect.
Example 1
Go til inst @ 1000p is fetched:
Command input:
go til 1000p
Example 2
Go til a byte read @ 12000p occurs:
Command input:
go til 12000p byte rd
Example 3
Temporarily disable all breakpoints and go:
Command input:
go forever
Example 4
Temporarily disable all breakpoints except for softbreaks and go:
Command input:
go tilswb
Example 5
Start processor P1:
Command input:
[p1] go
Related Topics