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
Multi-Clustering
Arium currently supports multi-clustering for Intel IA-32, Intel 64-bit extensions to 32-bit, and AMD64 processors. Using Arium's ECM-50, you can connect to as many as four multi-clusters in a target at one time.
Note: One emulator is required for each multi-cluster.
Note: The cable(s) for multi-cluster debug support must be ordered separately. Such cables are not part of the regular emulator package.
Hardware Setup
The current methodology for supporting multi-cluster consists of connecting an ECM to each cluster's debug port via the appropriate PBD, and interconnecting these ECMs by way of "cross-trigger" cables. This cable, approximately three feet long, is used to connect two ECMs to one another.
To connect emulators to a multi-cluster target:
-
Connect a cross-trigger cable to the mini-DIN socket labeled "TO NEXT" on one emulator and to the mini-DIN socket labeled "FROM PREV" on the other.
-
To connect a third and/or fourth emulator, follow the instructions above.
Sample connection
Caution: Do not connect the emulators into a ring.
To connect the emulator to the target and a host (or a network supporting a host), see the Getting Started installation guide that came with the emulator.
Software Setup
SourcePoint support for multi-cluster requires that a separate copy of SourcePoint be running for each emulator. The separate SourcePoint programs communicate with each other, however, so that when a Go command is issued within one SourcePoint, the other SourcePoint programs automatically issue their own Go commands.
Option #1 - Multiple Installs of SourcePoint
Install SourcePoint multiple times, once for each cluster.
Option #2 - Single Install of SourcePoint
-
Install a single copy of SourcePoint.
-
Create an โiniโ file for each copy of SourcePoint. The standard โiniโ file is โsp.iniโ (located in the directory where SourcePoint is installed). Name the new ini files โsp2.iniโ, โsp3.iniโ, etc. (Do not use quotation marks around the file names.)
-
Create separate icons for each copy of SourcePoint. ย
-
Associate each SourcePoint icon with the correct โiniโ file. For each icon, right click, then select Properties, then Shortcut, and add โ-ini iniFileNameโ at the end of the target field (e.g., "c:\Program Files\American Arium\SourcePoint\sp.exe"-ini sp2.ini).
-
Start SourcePoint for the first cluster. Specify the connection for the emulator controlling the first cluster. (Select Options|Emulator Connection from the menu bar.)
-
Select File|Project|Save As to create a project file with the current emulator connection. Choose different project file names for each cluster.
-
Repeat steps 2 and 3 for the other emulators. ย The goal is to create a project file for each copy of SourcePoint that will be running. ย Each project file will have a different emulator connection depending on which emulator is being controlled.
Running in Multi-Cluster Mode
To run in multi-cluster mode:
-
Double-click on each SourcePoint icon to start as many copies of SourcePoint as there are emulators.
SourcePoint checks for other active SourcePoint tasks and automatically registers with them.
-
To enable multi-cluster support, select Options|General on the SourcePoint menu.
The Preferences dialog box appears.
-
Go to the General tab.
-
Enable Multicluster support enabled.
-
Set up breakpoints in each SourcePoint and press Go in any SourcePoint.
The cross-trigger bus (established by the cross-trigger cables) holds the combined system stopped until the last cluster is started.
Note: When Go or Stop commands are issued in one SourcePoint (either from the menu, toolbar, or command line), that copy of SourcePoint sends messages to all the other SourcePoints to generate the same command. There is no need to select Go or Stop in each copy of SourcePoint. Likewise, when one SourcePoint hits a breakpoint and triggers, all processors in all clusters stop (see triggering latency below).
Timing
The emulators are synchronized to one another via the cross-trigger bus, but some finite differential in time exists between the "start" signal arriving at the various clusters being controlled. This time differential is caused by circuit delays and by the method required for starting the cluster type. The Intel Pentium 4 and some other soon-to-be-released processor systems require JTAG operations to start the processors, while Intel P6-class processor systems require only the negation of a PREQ signal. The time differential (or slip) between starting individual clusters in a multi-cluster system is thus dependent upon the type of system being controlled.
-
Maximum slip between starting multiple Intel P6-class processor clusters is 50 ns; typical slip is 10 ns.
-
All multi-clusters use a similar mechanism for stopping the processors, and thus only one set of stop "slip" times needs to be specified. Maximum slip between stopping multiple clusters is 50 ns; typical slip is 10 ns.
-
In addition to the signals monitored by the emulators from their connected clusters, the external "BNC-IN" connector can be used to signal a stop to the multiple emulators connected by the cross-trigger cables. When signaling a stop to the multi-cluster environment, the maximum delay from "BNC-IN" to assertion of the stop on the cross-trigger bus is 40 ns; typical slip is 21 ns.
-
So long as the emulator is configured via SourcePoint to "listen" to the "BNC-IN" connector, the "BNC-OUT" connector will reflect an assertion at this "BNC-IN" connector. The maximum time from "BNC-IN" assertion to "BNC-OUT" assertion is 78 ns; typical slip is 44 ns.
ย