General Commands Reference Guide S TRACE32 Online Help TRACE32 Directory TRACE32 Index TRACE32 Documents ...................................................................................................................... General Commands ...................................................................................................................... General Commands Reference Guide S .................................................................................. 1 History ...................................................................................................................................... 12 SELFTEST ................................................................................................................................ 13 SELFTEST Execute selftest operation 13 SETUP ...................................................................................................................................... 13 SETUP.ALIST Default analyzer display 13 SETUP.BREAKDEF Default breakpoint types 13 SETUP.BreakTransfer Breakpoint synchronization 14 SETUP.COLORCORE Enable coloring for core-specific info in SMP systems 15 SETUP.DIS SETUP.DUMP SETUP.EMUPATH SETUP.FLIST SETUP.IMASKASM Disassembler configuration 15 Defaults for hex-dumps 16 Emulation softkeys configuration 17 Default flag list display 17 Mask interrupts during assembler step 18 SETUP.IMASKHLL Mask interrupts during HLL step 18 SETUP.LISTCLICK Double-click source line symbol to run this action 19 Define prefetch 19 SETUP.PreFetch SETUP.REFERR DRAM refresh monitoring 19 SETUP.StepAllCores Force single stepping on all cores 20 SETUP.StepAutoAsm HLL steps stops at assembler code 21 SETUP.StepBeforeGo Single step before go 21 Single step to skip breakpoint 21 Single step HLL lines 21 Stepping HLL lines with disabled breakpoints 22 Show stepping trail in list window 23 SETUP.StepBreak SETUP.StepByStep SETUP.StepNoBreak SETUP.StepTrace SETUP.StepWithinTask SETUP.sYmbol SETUP.TIMEOUT SETUP.Var SETUP.VarCall 1 23 Define emulation monitor time-out 24 Defaults for the Var commands 25 26 Limit pointer access 26 Additional verification for software breakpoints 27 ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 23 Length of symbols Define call dummy routine SETUP.VarPtr SETUP.VerifyBreakSet Task selective stepping SHADOW .................................................................................................................................. SHADOW ICE-166 with a shadow memory 256K 28 Select the SHADOW area 28 Initialize the SHADOW RAM on every program start 28 Define a SHADOW area 28 SHADOW.Area SHADOW.AutoDelete 27 SHADOW.Define SHADOW.Init Initialize all SHADOW areas 30 Define the initialization value for the SHADOW areas 30 SHADOW.OFF Switch SHADOW RAM off 30 SHADOW.ON Switch SHADOW RAM on 30 Reset settings for the SHADOW RAM 31 Display SHADOW RAM settings 31 SIM ............................................................................................................................................ 33 SHADOW.Mode SHADOW.RESet SHADOW.state SIM TRACE32 instruction set simulators 33 Selects area for simulation output 33 SIM.AREA SIM.CACHE Cache/MMU simulation and more 34 Define the cache allocation technique 34 Specify base address for tightly-coupled memory 35 Define memory coherency strategy 35 SIM.CACHE.Allocation SIM.CACHE.BaseAddress SIM.CACHE.Mode Specify MPU regions 36 SIM.CACHE.OFF SIM.CACHE.MPURegions Disable cache and MMU simulation 36 SIM.CACHE.ON Enable cache and MMU simulation 36 Define the replacement strategy 37 SIM.CACHE.Replacement SIM.CACHE.SETS Define the number of cache/TLB sets 38 SIM.CACHE.SIZE Specify size of tightly-coupled memory 38 SIM.CACHE.state Display cache and MMU settings 39 SIM.CACHE.Tags Define address mode for cache lines 40 SIM.CACHE.TRACE SIM.CACHE.View Select simulator trace method 41 Analysis of memory accesses for cache simulation 41 Analysis of TLB accesses for MMU simulation 42 Define number of cache ways 42 SIM.CACHE.ViewTLB SIM.CACHE.WAYS SIM.CACHE.Width Define width of cache line 43 SIM.command Issue command to simulation model 44 SIM.INTerrupt Trigger interrupt 44 List loaded simulator models 45 SIM.List SIM.LOAD Load simulator module 45 SIM.RESet Reset instruction set simulator 45 Unload simulator module 46 SNOOPer .................................................................................................................................. 47 SIM.UNLOAD Function 47 SNOOPer Trace Commands ................................................................................................... SNOOPer.Arm SNOOPer.AutoArm ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 2 49 Arm the trace 49 Arm automatically 49 SNOOPer.AutoInit SNOOPer.BookMark SNOOPer.Chart SNOOPer.Chart.DistriB SNOOPer.Chart.Func SNOOPer.Chart.GROUP SNOOPer.Chart.Line SNOOPer.Chart.sYmbol SNOOPer.Chart.TASK Automatic initialization 49 Set a bookmark in trace listing 49 Display trace contents graphically 49 Distribution display 49 Function activity chart 50 Group activity chart 50 Graphical HLL lines analysis 50 Symbol analysis 50 Task activity chart 50 SNOOPer.Chart.TASKFunc Task related function run-time analysis (legacy) 50 SNOOPer.Chart.TASKSRV Service routine run-time analysis 50 SNOOPer.Chart.TASKState Task state analysis 51 Variable activity chart 51 SNOOPer.Chart.VarState SNOOPer.ComPare Compare trace contents 51 Disable the trace 51 Visualization of trace data 51 Export trace data for processing in other applications 51 SNOOPer.DISable SNOOPer.DRAW SNOOPer.EXPORT SNOOPer.FILE Load a file into the file trace buffer 51 SNOOPer.Find Find specified entry in trace 51 SNOOPer.FindAll Find all specified entries in trace 52 SNOOPer.FindChange Search for changes in trace flow 52 SNOOPer.Get Display input level 52 Move cursor to specified trace record 52 SNOOPer.Init Init trace 52 SNOOPer.List List trace contents 52 SNOOPer.GOTO SNOOPer.LOAD Load trace file for off-line processing 52 SNOOPer.Mode Set the trace operation mode 52 Switch off 53 Profile charts 53 SNOOPer.PROfileChart.DIStance Time interval for a single event 53 SNOOPer.PROfileChart.DURation Time between two events 53 Group profile chart 53 Event frequency 53 Statistical analysis in a table versus time 53 Protocol analysis 54 SNOOPer.PROTOcol.Chart Graphic display for user-defined protocol 54 SNOOPer.PROTOcol.Draw Graphic display for user-defined protocol 54 SNOOPer.PROTOcol.EXPORT Export trace buffer for user-defined protocol 54 SNOOPer.PROTOcol.Find Find in trace buffer for user-defined protocol 54 SNOOPer.PROTOcol.List Display trace buffer for user-defined protocol 54 Display statistics for user-defined protocol 54 SNOOPer.Rate Select sampling rate 55 SNOOPer.REF Set reference point 55 SNOOPer.OFF SNOOPer.PROfileChart SNOOPer.PROfileChart.GROUP SNOOPer.PROfileChart.Rate SNOOPer.PROfileSTATistic SNOOPer.PROTOcol SNOOPer.PROTOcol.STATistic ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 3 SNOOPer.RESet SNOOPer.SAVE 55 Save trace for postprocessing 55 Define addresses for monitoring 55 Automatic restart of trace recording 55 Define buffer size 55 SNOOPer.SELect SNOOPer.SelfArm Reset command SNOOPer.SIZE SNOOPer.SnapShot Restart trace capturing once 55 Display trace configuration window 56 Statistic analysis 56 SNOOPer.STATistic.BondOut Bondout mode 56 SNOOPer.STATistic.DIStance Time interval for a single event 56 Distribution analysis 56 SNOOPer.STATistic.DURation Time between two events 56 SNOOPer.STATistic.Func Function runtime analysis 56 SNOOPer.state SNOOPer.STATistic SNOOPer.STATistic.DistriB SNOOPer.STATistic.GROUP Group run-time analysis 57 Ignore false records in statistic 57 Define statistics interrupt processing 57 HLL-Line analysis 57 SNOOPer.STATistic.LINKage Per caller statistic of function 57 SNOOPer.STATistic.Measure Analyze the performance of a single signal 57 SNOOPer.STATistic.PreFetch Prefetch detection 57 Specify sorting criterion for statistic commands 58 SNOOPer.STATistic.Ignore SNOOPer.STATistic.InterruptIsFunction SNOOPer.STATistic.Line SNOOPer.STATistic.Sort SNOOPer.STATistic.sYmbol Flat run-time analysis 58 Task activity statistic 58 SNOOPer.STATistic.TASKFunc Task specific function run-time analysis 58 SNOOPer.STATistic.TASKKernel Task analysis with kernel markers (flat) 58 SNOOPer.STATistic.TASKSRV Analysis of time in OS service routines 58 SNOOPer.STATistic.TASKState Performance analysis 58 Tree display of task specific functions 59 Tree display of function run-time analysis 59 SNOOPer.STATistic.TASK SNOOPer.STATistic.TASKTREE SNOOPer.STATistic.TREE Use records 59 SNOOPer.TDelay SNOOPer.STATistic.Use Trigger delay 59 SNOOPer.Timing Waveform of trace buffer 59 Define trigger destination (SNOOPer) 59 SNOOPer.TOut SNOOPer.TValue Define data value for trigger 59 SNOOPer.View Display single record 59 SNOOPer.View Display single record 60 tbd. 60 SNOOPer.ZERO Summary 61 SPE ........................................................................................................................................... SPE 62 Signal Processing eXtension (SPE) 62 SPE.Init Initialize SPE registers 62 SPE.Set Modify SPE registers 62 Display SPE register window 63 SPE.view ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 4 SPot .......................................................................................................................................... Function 64 64 Operation Modes (TRACE32-ICE) 64 Performance 64 SPot.Analyzer Analyzer spot points SPot.Data Write/read accesses 65 SPot.OFF Switch off 65 SPot.ON Switch on 66 Program spot points 66 SPot.Program SPot.RESet 65 Reset command 66 SPot.state State display 67 SPot.Test Set spot point 68 SSE ........................................................................................................................................... 69 SSE SSE registers (Streaming SIMD Extension) SSE.Init 69 Initialize SSE registers 69 SSE.OFF Inhibit SSE accesses by the debugger 69 SSE.ON Permit SSE accesses by the debugger 70 SSE.Set Modify SSE registers 70 SSE.view Display SSE registers 70 Step ........................................................................................................................................... 71 Step.Asm Assembler single-stepping 71 Step.Back Step back 71 Step back till expression changes 72 Step.BackChange Step.BackOver Step back 72 Step.BackTill Step back till expression true 73 Step.Change Step till expression changes 73 Single cycle 74 Step.CycleReq Step.CycleWait Step.Diverge Step.Hll Step.Mix Step.Over Single cycle 74 Step till next unreached line 75 HLL single-stepping 77 Mixed single-stepping 77 Step over call 78 Single-stepping 78 Step till expression true 79 STOre ........................................................................................................................................ 80 Step.single Step.Till STOre Create script for TRACE32 settings 80 sYmbol ..................................................................................................................................... 83 sYmbol Debug symbols PRACTICE Functions 83 84 sYmbol.AddInfo sYmbol.AddInfo.Address Provide additional symbolic information 86 Add symbol information to fixed address 88 Delete information 89 sYmbol.AddInfo.Delete ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 5 sYmbol.AddInfo.LINK Define information for “sYmbol.AddInfo” commands 90 sYmbol.AddInfo.List sYmbol.AddInfo.LOADASAP2 sYmbol.AddInfo.Member List additional information 91 Load scaling information from ASAP2 file 91 Add information to member of struct 92 Remove all additional information 94 sYmbol.AddInfo.RESet sYmbol.AddInfo.Type Add information for a data type 95 sYmbol.AddInfo.Var Add information for a variable 96 sYmbol.AutoLOAD Automated loading of symbols 97 Update autoloader table 98 sYmbol.AutoLOAD.CHECK sYmbol.AutoLOAD.CHECKCoMmanD Configure dynamic autoloader 98 Configure automatic DLL file loader 99 sYmbol.AutoLOAD.CHECKEPOC Configure dynamic autoloader for Symbian 99 sYmbol.AutoLOAD.CHECKLINUX Configure autoloader for Linux debugging 100 sYmbol.AutoLOAD.CHECKUEFI Configure autoloader for UEFI debugging 100 Remove symbol information 101 Create entry for autoloader table 102 List autoloader table 102 sYmbol.AutoLOAD.CHECKDLL sYmbol.AutoLOAD.CLEAR sYmbol.AutoLOAD.Create sYmbol.AutoLOAD.List sYmbol.AutoLOAD.LOADEPOC Definition for static autoloader for Symbian 103 Reset autoloader 104 Mark symbol information manually as loaded 104 Initiate automatic loading by command 105 sYmbol.AutoLOAD.RESet sYmbol.AutoLOAD.SET sYmbol.AutoLOAD.TOUCH sYmbol.Browse Browse symbols 106 sYmbol.Browse.Class Browse classes 106 sYmbol.Browse.Enum Browse enumeration types 106 Browse functions 107 sYmbol.Browse.Function sYmbol.Browse.Module Browse modules 108 sYmbol.Browse.SFunction Browse functions 109 sYmbol.Browse.SModule Browse modules 110 Browse source 111 sYmbol.Browse.SOURCE sYmbol.Browse.Struct Browse containers for different variable types 111 Browse symbols 112 Browse HLL types 113 Browse variables 114 Set symbol search mode 115 Check database 115 View class hierarchy 116 Remove redundant symbol information 117 Make ambiguous symbols unique 117 Enable color coding 117 sYmbol.ColorDef Specify color display for keywords 118 sYmbol.CREATE Create and modify user-defined symbols 119 Finish symbol creation 119 Create user-defined function 119 sYmbol.Browse.sYmbol sYmbol.Browse.Type sYmbol.Browse.Var sYmbol.CASE sYmbol.CHECK sYmbol.Class sYmbol.CLEANUP sYmbol.CLEANUP.DOUBLES sYmbol.ColorCode sYmbol.CREATE.Done sYmbol.CREATE.Function ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 6 sYmbol.CREATE.Label Create user-defined symbol 120 sYmbol.CREATE.MACRO Create user-defined macro 120 sYmbol.CREATE.Module Create user-defined module 121 Erase all user-defined symbols 121 Create user-defined variable 122 sYmbol.CREATE.RESet sYmbol.CREATE.Var sYmbol.CUTLINE sYmbol.Delete sYmbol.DEMangle sYmbol.ForEach sYmbol.INFO Limit size of text blocks 122 Delete symbols of one program 123 C++ demangler 123 Symbol wildcard command 123 View information about symbol or address 124 Select language 125 Display list of all symbols 126 Display memory attributes 126 sYmbol.List.BUILTIN List built-in data types 126 sYmbol.List.ColorDef List the keyword color definitions 127 sYmbol.List.Function Display functions 128 sYmbol.List.IMPORT List imported symbols 128 sYmbol.LANGUAGE sYmbol.List sYmbol.List.ATTRibute sYmbol.List.LINE Display source lines 129 sYmbol.List.Local Display local symbols 130 List all C macros 130 Display memory load map 131 sYmbol.List.Module Display modules 131 sYmbol.List.Program Display programs 132 sYmbol.List.SECtion Display physical sections 132 sYmbol.List.SOURCE Display source file names 133 sYmbol.List.MACRO sYmbol.List.MAP sYmbol.List.STACK Display virtual stack 134 sYmbol.List.Static Display static symbols 134 sYmbol.List.TREE Display symbols in tree form 135 Display data types 135 sYmbol.List.Type sYmbol.LSTLOAD Load assembler source file 136 sYmbol.LSTLOAD.GHILLS Load GHILLS assembler source file 136 sYmbol.LSTLOAD.HPASM Load HP assembler source file 136 sYmbol.LSTLOAD.IAR Load IAR assembler source file 138 sYmbol.LSTLOAD.INT68K Load Intermetrics assembler source file 139 Load INTEL assembler source file 139 Load Keil assembler source file 140 Load MICROWARE assembler source file 140 Load MICROTEC assembler source file 140 Load OAK assembler source file 141 Fine-tune the nested function run-time analysis 142 Create marker for nesting function run-time analysis 143 Delete a marker 147 Displays the marker list 148 sYmbol.LSTLOAD.INTEL sYmbol.LSTLOAD.KEIL sYmbol.LSTLOAD.MicroWare sYmbol.LSTLOAD.MRI68K sYmbol.LSTLOAD.OAK sYmbol.MARKER sYmbol.MARKER.Create sYmbol.MARKER.Delete sYmbol.MARKER.List ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 7 sYmbol.MARKER.RESet Erase all markers 148 sYmbol.MATCH Symbol search mode 149 sYmbol.MEMory Display memory usage 149 Modify symbols 150 Modify access of symbols 150 sYmbol.Modify sYmbol.Modify.Access sYmbol.Modify.ADDRess Modify address of symbols 151 Reduce function address information 151 sYmbol.Modify.NAME Rename symbols 151 sYmbol.Modify.SOURCE Define source file 152 sYmbol.Modify.CutFunction sYmbol.name Display symbols 153 Search symbol in C++ namespace 155 Create new symbol 156 Create user-defined memory attribute 156 sYmbol.NAMESPACES sYmbol.NEW sYmbol.NEW.ATTRibute sYmbol.NEW.Function Create user-defined function 159 Create user-defined symbol 159 sYmbol.NEW.MACRO Create user-defined macro 160 sYmbol.NEW.Module Create user-defined module 160 sYmbol.NEW.Var Create user-defined variable 161 Code overlay 162 sYmbol.OVERLAY.AutoID Automatically determine overlay IDs 162 sYmbol.OVERLAY.Create Declare code overlay section 163 sYmbol.NEW.Label sYmbol.OVERLAY sYmbol.OVERLAY.DETECT Detect the current overlay status 166 sYmbol.OVERLAY.FRIEND Declare a friend overlay segment 166 Show declared code overlay sections 168 Reset overlay declarations 168 sYmbol.POINTER Define special register 169 sYmbol.POSTFIX Set symbol postfix 169 sYmbol.PREFIX Set symbol prefix 169 sYmbol.RELOCate Relocate symbols 170 sYmbol.RELOCate.Auto Control automatic relocation 170 sYmbol.RELOCate.Base Define base address 170 List relocation info 171 Define program magic 171 sYmbol.OVERLAY.List sYmbol.OVERLAY.RESet sYmbol.RELOCate.List sYmbol.RELOCate.Magic sYmbol.RELOCate.Passive sYmbol.RELOCate.shift sYmbol.RESet sYmbol.SourceCONVert Define passive base address 171 Relocate symbols 172 Clear symbol table 173 Conversion for Japanese font 173 sYmbol.SourceLOAD Initiate the loading of an hll source file 173 sYmbol.SourcePATH Source search path 175 sYmbol.SourcePATH.Delete Delete path from search list 175 sYmbol.SourcePATH.DOWN Make directory last in search order 176 List source search paths 176 Reset search path configuration 178 sYmbol.SourcePATH.List sYmbol.SourcePATH.RESet ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 8 sYmbol.SourcePATH.Set sYmbol.SourcePATH.SetBaseDir Define search path 179 Define directory as base for relative paths 180 Internal use only 181 Cache direct search path directory 181 Internal use only 182 Define directory as direct search path 182 Adjust search order at hit 184 Store cached files only relative 185 Define recursive direct search path 186 sYmbol.SourcePATH.SetCache sYmbol.SourcePATH.SetCachedDir sYmbol.SourcePATH.SetCachedDirCache sYmbol.SourcePATH.SetDir sYmbol.SourcePATH.SetDynamicDir sYmbol.SourcePATH.SetMasterDir sYmbol.SourcePATH.SetRecurseDir sYmbol.SourcePATH.SetRecurseDirCache Internal use only 186 Replace part of the source path 187 Move path up in the search order 188 Display search details in message AREA 189 sYmbol.SourcePATH.Translate sYmbol.SourcePATH.UP sYmbol.SourcePATH.Verbose Reload source files 190 sYmbol.STATE sYmbol.SourceRELOAD Display statistic 190 sYmbol.STRIP Set max. symbol length 191 Show symbol info 191 SYnch ....................................................................................................................................... 192 sYmbol.View Function 192 SYnch.Connect Connect to other TRACE32 instances 193 SYnch.MasterBrk Invite other TRACE32 to stop synchronously 193 SYnch.MasterGo Invite other TRACE32 to start synchronously 194 SYnch.MasterStep Invite other TRACE32 to asm step synchronously 195 Invite other TRACE32 to follow mode change 195 SYnch.OFF Disable connection mechanism 196 SYnch.ON Disable connection mechanism 196 SYnch.MasterSystemMode SYnch.RESet Reset SYnch mechanism 196 SYnch.SlaveBrk Synchronize with stop in connected TRACE32 197 SYnch.SlaveGo Synchronize with start in connected TRACE32 198 Synchronize with asm step in connected TRACE32 198 SYnch.SlaveStep SYnch.SlaveSystemMode Synch. with mode changes in other TRACE32 199 Display current SYnch settings 199 Establish time synchronization to another TRACE32 instance 200 SYStem ..................................................................................................................................... 201 SYnch.state SYnch.XTrack SYStem.Access Dual-port access mode SYStem.BankFile 201 Define the bank switch program 203 SYStem.BankMode Define the bank switch mode 203 SYStem.BdmClock Select BDM clock 204 SYStem.BOOTLDR Define the boot loader program 205 SYStem.BOOTLDR3 Define the boot loader program 205 SYStem.CADIconfig tbd. 206 SYStem.CADIconfig.Traceconfig tbd. 206 SYStem.CADIconfig.TraceCore tbd. 206 ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 9 SYStem.Clock Select clock 207 Configure debugger according to target topology 208 Assign core to TRACE32 instance 216 Set up number of hardware threads 222 SYStem.CONFIG 208 SYStem.CONFIG SYStem.CONFIG.CORE SYStem.CONFIG.CoreNumber SYStem.CONFIG.DEBUGTIMESCALE SYStem.CONFIG.ListCORE SYStem.CONFIG.ListSIMulation Extend debug driver timeouts 222 Display the cores of a virtual target 223 Display the simulations of a virtual target 224 Display target configuration 224 SYStem.CONFIG.state SYStem.CONFIG.TRANSACTORPIPENAME Set up pipe name 225 Select CPU 226 Run-time memory access (intrusive) 228 Detect target system resources 230 SYStem.CPU SYStem.CpuAccess SYStem.DETECT The System Detection Wizard 232 Daisy-Chain Detection via the TRACE32 AREA Window 234 SYStem.DLLCommand SYStem.Down SYStem.GTL SYStem.GTL.CONNECT SYStem.GTL.DISCONNECT Custom DLL connection to target 234 Standby mode 235 Configure GTL debug port 236 Connect to emulation or simulation 236 Disconnect from emulation or simulation 237 Name of DMA transactor 237 SYStem.GTL.DMANAME SYStem.GTL.JTAGPROBENAME Name of JTAG probe transactor 238 SYStem.GTL.LIBname Name of 3rd party plug-in library 238 SYStem.GTL.MODELCOMMAND Execute command in plug-in 238 SYStem.GTL.MODELCONFIG Configure emulation options 239 SYStem.GTL.MODELNAME SYStem.GTL.SERVERCONFIG SYStem.JtagClock SYStem.Line SYStem.LOCK Select emulation 239 Configure server options 239 Define JTAG frequency 240 CPU signal control 241 Tristate the JTAG port 242 Log read and write accesses to the target 244 SYStem.LOG.CLEAR Clear the ‘SYStem.LOG.List’ window 245 SYStem.LOG.CLOSE Close the system log file 245 SYStem.LOG.Init Clear the ‘SYStem.LOG.List’ window 246 SYStem.LOG.List Display the accesses made by TRACE32 247 Set logging mode 248 Pause logging 249 SYStem.LOG SYStem.LOG.Mode SYStem.LOG.OFF SYStem.LOG.ON Resume logging 249 SYStem.LOG.OPEN Open a system log file 250 SYStem.LOG.RESet Reset configuration of system log to defaults 250 Select the read and write accesses to be logged 251 SYStem.LOG.SIZE Define number of lines in the ‘SYStem.LOG.List’ window 252 SYStem.LOG.state Open configuration window of system log 253 SYStem.LOG.Set ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 10 SYStem.LOG.StopOnError SYStem.MemAccess Stop logging on error 254 Run-time memory access (non-intrusive) 255 Select mode 257 Monitor extension 261 tbd. 261 SYStem.Mode SYStem.MonFile SYStem.MONITOR SYStem.Option Special setup 262 Select AMBA bus mode 263 SYStem.Option BigEndian Define byte order (endianess) 263 SYStem.Option HOOK Compare PC to hook address 264 SYStem.Option AMBA SYStem.Option IMASKASM Disable interrupts while single stepping 265 Disable interrupts while HLL single stepping 267 Selection of little endian mode 269 Enable space IDs 270 Speed up memory access 271 Polling mode of CPU 271 SYStem.PORT Configure external communication interface 273 SYStem.RESet Reset configuration 274 SYStem.Option IMASKHLL SYStem.Option LittleEnd SYStem.Option MMUSPACES SYStem.Option TURBO SYStem.POLLING SYStem.RESetOut Reset peripherals 275 Release target reset 276 SYStem.state Display SYStem.state window 277 SYStem.TARGET Set target IP name or address 279 SYStem.TimeOut Time-out for target access 280 tbd. 281 Time-out dualport access 282 Active mode 283 SYStem.RESetTarget SYStem.TimeoutDebug SYStem.TimeReq SYStem.Up SYStem.VirtualTiming SYStem.VirtualTiming.HardwareTimeout SYStem.VirtualTiming.HardwareTimeoutScale SYStem.VirtualTiming.InternalClock SYStem.VirtualTiming.MaxPause 284 285 Multiply hardware timeout 285 Base for artificial time calculation 286 Limit pause 286 Override time-outs 287 Insert a pause after each operation 287 Set up pause time-base 288 SYStem.VirtualTiming.MaxTimeout SYStem.VirtualTiming.OperationPause Modify timing constraints Disable/enable hardware timeout SYStem.VirtualTiming.PauseinTargetTime SYStem.VirtualTiming.PauseScale Multiply pause with a factor 288 Set up general time-base 289 Multiply time-base with a factor 289 SystemTrace ............................................................................................................................ 291 SYStem.VirtualTiming.TimeinTargetTime SYStem.VirtualTiming.TimeScale SystemTrace.state Display system-trace configuration window ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 11 291 General Commands Reference Guide S Version 06-Nov-2015 History 10-Jul-15 Update for command group sYmbol.SourcePATH. 13-Apr-15 Updated SYStem.CONFIG.CORE regarding the CADI and MCD interfaces. Described the purpose of the new STanDard button in the SETUP.Var dialog window. Added description for SETUP.StepAllCores. 21-Jan-15 Added description and examples for SYStem.CONFIG.CORE <string> | <value> (a command for virtual targets). 19-Aug-14 Added description of the new SYStem.LOG command group. The SYStem.LOG command group replaces the Data.Log command. 06-Aug-14 Added descriptions and screenshots for SYStem.CONFIG.ListCORE and SYStem.CONFIG.ListSIMulation. 25-Jul-14 Added descriptions/screenshots/examples for the SYStem.GTL, SYStem.DETECT.DAP, and sYmbol.AddInfo.LINK. Provided a 2nd example for sYmbol.AddInfo.Member. 03-Jul-14 Revised the sYmbol.Browse commands. 18-Feb-14 Description for Step.Diverge command added. 20-Dec-13 Updated the parameter descriptions of DRPRE, DRPOST, IRPRE, and IRPOST, see SYStem.CONFIG. Revised the Daisy-Chain Example. 11-Dec-13 Description of FLASH option for STOre command added. 19-Nov-13 Re-designed the daisy-chain example for SYStem.CONFIG (illustration, screenshot, and source code). Updated SETUP.LISTCLICK. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 12 History SELFTEST SELFTEST Format: Execute selftest operation SELFTEST Execute SELFTEST operation. Error results are shown in the selected AREA window. SETUP Using the SETUP command group, many parameters of the window system or emulator/debugger can be changed. For additional SETUP commands, refer to SETUP in ”IDE Reference Guide” (ide_ref.pdf). See also ■ ■ ■ ■ ■ ■ ■ SETUP.ALIST SETUP.DIS SETUP.IMASKASM SETUP.REFERR SETUP.StepBreak SETUP.StepWithinTask SETUP.VarCall ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ SETUP.BREAKDEF SETUP.DUMP SETUP.IMASKHLL SETUP.StepAllCores SETUP.StepByStep SETUP.sYmbol SETUP.VarPtr SETUP.BreakTransfer SETUP.EMUPATH SETUP.LISTCLICK SETUP.StepAutoAsm SETUP.StepNoBreak SETUP.TIMEOUT SETUP.VerifyBreakSet SETUP.ALIST Format: ■ ■ ■ ■ ■ ■ SETUP.COLORCORE SETUP.FLIST SETUP.PreFetch SETUP.StepBeforeGo SETUP.StepTrace SETUP.Var Default analyzer display SETUP.ALIST <items> … [/BT | /FT] The syntax of the command is the same as the channel selection for the command Analyzer.List. The option defines if the Flowtrace or the Bustrace analyzer should be used as default by all analyzer display commands. SETUP.ALIST t.a cpu ti.ref ; display external trace, cpu and time ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 13 SELFTEST SETUP.BREAKDEF Default breakpoint types ICE only Format: SETUP.BREAKDEF [DEFault | Program] Defines which breakpoints are set by the breakpoint commands (e.g. Break.Set). The default is to set Read, Write and Program breakpoints. Changing this to set only the Program type can be useful, if the Read and Write breakpoints are not usable or used as address qualifier. It is also recommended when software breakpoints are enabled, as the combination of Read/Write and Program breakpoints is not allowed in this case. The Program is also default for all BDM/EPROM debuggers. SETUP.BreakTransfer Format: Breakpoint synchronization SETUP.BreakTransfer [ON | OFF] Default: OFF If set to ON, this command communicates the breakpoints set in TRACE32 to Eclipse and vice versa. When starting TRACE32, breaktransfer is OFF by default. If breaktransfer is not ’on’ in TRACE32, no breakpoints will be transferred in either direction. Typically you switch it ON in a startup script: WAIT 2s ; give Eclipse time to connect to ; the debugger. ; OFF, in case target is restarted SETUP.BreakTransfer OFF SYStem.Up DO target_init.cmm DO target_load.cmm ; target board initialization ; load .elf file with symbol info SETUP.BreakTransfer ON ; now start breakpoint synch. For more information about breakpoint synchronization, refer to ”Coupling for Eclipse” (int_eclipse.pdf), chapter “Breakpoint Synchronization”. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 14 SETUP SETUP.COLORCORE Format: Enable coloring for core-specific info in SMP systems SETUP.COLORCORE [ON | OFF] ON (default) Core-specific information is displayed on a colored background (SMP debugging and tracing only). OFF Coloring of core-specific information is disabled. SETUP.DIS Disassembler configuration Format: SETUP.DIS [<fields>] [<bar>] [<constants>] [<procspec>] <fields>: [<code>] [<label>] [<mnemo>] [<comment>] <bar>: [<head>] [<bottom>] <constants>: [Hex | Decimal] [Signed | Unsigned] [Absolut | sYmbol] The command sets default values for configuring the disassembler output of newly created windows (e.g. Data.List). The command does not affect existing windows containing disassembler output. Among other things the size of columns and the format of for constants (signed, unsigned, ...) can be configured. The first four parameters for this command configure the size of the columns in disassembler output: <code> Number of displayed code bytes. Set to zero is possible. <label> Size of the label field. <mnemo> Size of the mnemonic field. <comment> Size of the comment field. The next two arguments limit the movement of the PC bar within the window: <head> Size of reserved area on the top of the window (in percent). <bottom> Size of reserved area in bottom of window. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 15 SETUP With the last three arguments the display of constants and symbols can be configured: Hex In the mnemonic field the constants are displayed in hex. Decimal In the mnemonic field the constants are displayed in decimal. Signed The constants are displayed as signed numbers. Unsigned The constants are displayed as unsigned numbers. Absolut In the mnemonic field the constants are displayed absolute, with the comment field they are displayed symbolically. sYmbol The constants are displayed symbolically within the mnemonic field. The additional parameters are target processor specific. For the 68K family it is the number of bytes to be used as argument after trap commands (for OS-9). For PowerPC it can be selected to use Simple or Generic mnemonics. The default is to use simplified mnemonics. SETUP.DIS Unsigned ; display constants as unsigned values SETUP.DIS ,,,,,,,,y ; Switch to symbolic display of constants See also ■ List.auto ▲ ’Program and Data Memory’ in ’ICE User’s Guide’ SETUP.DUMP Format: Defaults for hex-dumps SETUP.DUMP [/<options> …] The options correspond to the command Data.dump. SETUP.DUMP /b ; display width is byte See also ■ Data.dump ▲ ’Program and Data Memory’ in ’ICE User’s Guide’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 16 SETUP SETUP.EMUPATH Format: Emulation softkeys configuration SETUP.EMUPATH "<command>" … The most left softkey selects emulation softkeys. These softkeys will be defined by this command. SETUP.EMUPATH "s." "g.n" "r." "fpu." "d.s 0x0ff000 0x0" "r.res" gives the following softkeys: [s.] [g.n] [r.] [fpu.] SETUP.FLIST [d.s 0ff] [r.res] previous Default flag list display ICE only Format: SETUP.FLIST <items> … The syntax of the command is the same as the item selection for the commands FLAG.ListModul, FLAG.ListFunc and FLAG.ListVar. SETUP.FLIST %b r %p rnw ; display read information as bar, ; readonly information in percent See also ■ Data.dump ■ List.auto ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 17 SETUP SETUP.IMASKASM Format: Mask interrupts during assembler step SETUP.IMASKASM [ON | OFF] If enabled, the interrupt enable bit of the microcontroller will be disabled during single-step operations. The interrupt routine is not executed during single-step operations. After single step the interrupt enable bit is restored to the value before the step. This command is not implemented within all emulation probes. NOTE: On some processors this modification is also seen by the user program. So this option can affect the flow of the target program. Accesses to the interrupt-enable bit can see the wrong values. Operations to modify the interrupt enable bit may not work as expected. See also eXception.Delay. See also ■ Step.single ▲ ’Release Information’ in ’Release History’ SETUP.IMASKHLL Format: Mask interrupts during HLL step SETUP.IMASKHLL [ON | OFF] If enabled, the interrupt enable bit of the microcontroller will be disabled during HLL single-step operation. The interrupt routine is not executed during single-step operations. After single step the interrupt enable bit is restored to the value before the step. This command is not implemented within all emulation probes. NOTE: By changing the register through target software, this option can affect the flow of the target program. Accesses to the interrupt-enable bit will see the wrong values. Operations to modify the interrupt enable bit will not work as expected. When the HLL line enables the interrupts (e.g. in an RTOS function call) then pending interrupts will be executed. See also eXception.Delay. See also ■ Step.single ▲ ’Release Information’ in ’Release History’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 18 SETUP SETUP.LISTCLICK Format: Double-click source line symbol to run this action SETUP.LISTCLICK "<command>" The defined <command> is executed when a variable or function in HLL-source is double-clicked (with the left mouse key). The name of the variable/function is appended to the command. The characters '?' or '*' can be used to mark the position of the variable/function name in the command. Lines with '*' will be executed without further input query. Default action when you double-click a function: ; display a listing for the double-clicked function in a new List ; window that is superimposed on the previous List window SETUP.LISTCLICK "WinOverlay.List `*`" Default action when you double-click a variable: SETUP.LISTCLICK "v ?" ; lets you modify the variable in the ; TRACE32 command line Example of a user-defined action: SETUP.LISTCLICK "v.v %m *" ; open a temporary window with variable See also ■ List.auto ■ WinOverlay SETUP.PreFetch Format: Define prefetch SETUP.PreFetch [<prefetch>] [<alignment>] Defines the size of the prefetch queue of the processor. This value is used by analyzer statistic and flag memory commands that must discard cycles caused by prefetches. The alignment parameter defines the minimum number of bytes the processor is fetching at once. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 19 SETUP SETUP.REFERR DRAM refresh monitoring ICE only Format: SETUP.REFERR [ON | OFF] The refresh of dynamic emulation memory is done by dual-port access. The number of refresh cycles is monitored to check proper refresh operation. Slow target cycles also slow down the refresh cycles to the DRAM. If the refresh cannot be made according to the RAM specifications the system will go down with the error message 'emulation memory refresh error'. This can be prevented by using a short time-out value (SYStem.TimeOut). If a longer time-out value is not possible the refresh error message can be turned off. If the refresh is not missing too long, the data will still be consistent. As a default the refresh monitoring is turned on. SETUP.StepAllCores Format: Force single stepping on all cores SETUP.StepAllCores [ON | OFF] Default: OFF Forces assembler single stepping on all cores of an SMP system. If you debug a multicore system in SMP configuration a single step on HLL code affects all cores while single stepping on ASM code does affect only the active core. By switching SETUP.StepAllCores to ON also single steps on assembler level will affect all cores. Lauterbach recommends to keep SETUP.StepAllCores OFF Support of this feature depends on your CPU. Setting SETUP.StepAllCores to ON might have no effect. The setting is supported for MPC5xxx PowerPCs. It is not yet supported for ARM or TriCore. Please contact Lauterbach, if you need this feature for your target architecture. By just typing the command and appending a blank, you can view the current setting in the TRACE32 message line. By executing the command without arguments, SETUP.StepAllCores toggles the current setting. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 20 SETUP SETUP.StepAutoAsm Format: HLL steps stops at assembler code SETUP.AutoAsm [ON | OFF] When a single step is performed in HLL debug mode and the target address of the step is code without HLL information (e.g. a module compiled without HLL debug symbols), the debugger will per default continue single stepping in the background until the next HLL line is reached (i.e. step from HLL line to HLL line). If the setting it turned ON, the debugger will stop at the address without debug symbols. Use this setting to debug modules without HLL debug information or compiler generated code sections. SETUP.StepBeforeGo Format: Single step before go SETUP.StepBeforeGo [ON | OFF] Perform an ASM single step before each Go. In contrast to the SETUP.StepBreak this option steps always regardless the emulation is started on a breakpoint or not. SETUP.StepBreak Format: Single step to skip breakpoint SETUP.StepBreak [ON | OFF] When interrupts are pending and the emulation is started on a breakpoint, it is possible that the target executes the interrupt routine and returns to the same breakpoint location after. The debugging 'hangs' on the breakpoints. To avoid this, this option will first execute a single step when the program would start on a breakpoint. On some processors with internal interrupt sources, the SETUP.IMASKASM option must also be turned on. This option is usually the default for ICD and FIRE. SETUP.StepByStep Format: Single step HLL lines SETUP.StepByStep [ON | OFF] Single steps HLL when executing a HLL step. On some processors with internal interrupt sources, the SETUP.IMASKASM option must also be turned on to avoid stepping through the interrupt program. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 21 SETUP SETUP.StepNoBreak Format: Stepping HLL lines with disabled breakpoints SETUP.StepNoBreak [OFF | ON] OFF User-defined breakpoints are active while single stepping in HLL. ON User-defined breakpoints are not active while single stepping in HLL. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 22 SETUP SETUP.StepTrace Format: Show stepping trail in list window SETUP.StepTrace [ON | OFF] If this option is enabled, list windows will show stepping trails. SETUP.StepWithinTask Format: Task selective stepping SETUP.StepWithinTask [ON | OFF] When enabled all HLL stepping and temporary breakpoints will be task selective (on the currently active task). This allows to step and debug shared code without stopping in another task. SETUP.sYmbol Format: Length of symbols SETUP.sYmbol <pathlen> <namelen> [OFF | ON] Configuration of the width of the columns for the symbol display commands. The first argument is used for columns which hold a complete symbol path, including program and module names. The second argument is for single symbol names. The last argument enables or disables the display of the program name in symbol paths. This command only affects the display of symbols, not the number of significant characters during symbol entry. See also ■ List.auto ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 23 SETUP SETUP.TIMEOUT Format: Define emulation monitor time-out SETUP.TIMEOUT <factor> Values larger than 1 stretch the time-out delay within the emulation monitor. This value determines, how long a window waits for becoming inactive. Short values will result in a fast screen update, but may result in flickering windows when a spot point or the multitask debugger is active. Large values will cause a slower update on the screen when realtime emulation is running. See also ■ Data.dump ■ Data.Test ■ List.auto ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 24 SETUP SETUP.Var Defaults for the Var commands Format: SETUP.Var [%<formats> …] Without parameters, the SETUP.Var command opens the SETUP.Var dialog window, where you can define your defaults for the Var commands. Your defaults are used during a TRACE32 session, or until you change the defaults again during the same TRACE32 session. Settings that you make in the SETUP.Var dialog window have no effect on windows that are already open. TRACE32 applies your settings only to windows that you open afterwards. For a description of the %<formats>, see section “Display Formats” of the Var command group. B A C A. Applies your settings and closes the dialog window. B. Selects only the check boxes that belong to the built-in standard settings. All other check boxes are cleared. To apply the built-in standard settings, click OK or Apply. C. Applies the settings, and the dialog window remains open. Alternatively, you can make your format settings via the TRACE32 command line: SETUP.Var %Decimal.on %Hex.on %SpotLight.on ; settings highlighted in ; the above screenshot SETUP.Var %STanDard ; restores the built-in ; standard To keep your user-defined settings for future TRACE32 sessions, add them to your start-up script or to the TRACE32 start-up script t32.cmm. It is located in the system directory of TRACE32, by default C:\T32. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 25 SETUP SETUP.VarCall Format: Define call dummy routine SETUP.VarCall [<address>] If a function is called from the Var commands, a dummy routine is placed in memory to catch the processor after the called function has terminated. Under normal circumstances this code is never reached, as the HLL debugger breaks, when the end of the function is reached. If the command Var.Call is used, a Go command may start the function without any breakpoints set to the return point. In this cases, the processor will loop endless in the 'dummy' routine. Processors with linear addressing usually require no fixed address, the routine is kept on the stack. Processors with special addressing, like 8051 cannot keep a function on the stack. For this processors the command SETUP.VarCall can define a free location in code memory to hold the endless loop of the dummy function. The required space is usually two bytes. setup.vc p:0x0fff0 v func2() ; place the dummy routine at p:0fff0 ; call a function of the target program SETUP.VarPtr Format: Limit pointer access SETUP.VarPtr [<address_range>] Defines the address ranges for valid memory pointers. This range is checked whenever an automatic access to the contents of a pointer is made. Pointer referenced by an HLL expression are not checked against this range. setup.vp 0x0--0x0ffff v vpchar = 0x123456 ; set pointer to character to ; 123456 v *vpchar ; manual access to pointer, not ; checked displays: *vpchar = 0 v %r vpchar displays: vpchar = 0x123456 -> INVALID ; automatic pointer access is ; checked setup.vp 0x0--0x0ffffff ; enlarge the address space for ; pointers v %r vpchar displays: vpchar = 0x123456 -> 0x0 ; automatic pointer access is ; checked setup.vp 0x0--0x1ffff||0x800000--0x80ffff ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 26 SETUP SETUP.VerifyBreakSet Format: Additional verification for software breakpoints SETUP.VerifyBreakSet [OFF | ON] Default: OFF Setting SETUP.VerifyBreakSet to ON forces the debugger to perform an additional verification whenever a software breakpoint become active or inactive. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 27 SETUP SHADOW ICE only SHADOW ICE-166 with a shadow memory 256K The commands of the command group SHADOW can only be used for the ICE-166 with a Shadow Memory 256K. See also ■ SHADOW.Area ■ SHADOW.Mode ■ SHADOW.state ■ SHADOW.AutoDelete ■ SHADOW.OFF ■ SHADOW.Define ■ SHADOW.ON SHADOW.Area ■ SHADOW.Init ■ SHADOW.RESet Select the SHADOW area ICE only . Format: SHADOW.Area 1. | 2. | 3. | 4. Select one of the possible four SHADOW areas. See also ■ SHADOW ■ SHADOW.state SHADOW.AutoDelete Initialize the SHADOW RAM on every program start ICE only . Format: SHADOW.AutoDelete ON | OFF (ON) The SHADOW RAM is initialized whenever the program execution is started with the value defined with the SHADOW.Mode command. See also ■ SHADOW ■ SHADOW.state ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 28 SHADOW SHADOW.Define Define a SHADOW area ICE only Format: SHADOW.Define <area> <range> <area>: 1. | 2. | 3. | 4. Define a SHADOW area. SHADOW.Define 2. 0x0--0xFFFF ; define SHADOW area See also ■ SHADOW ■ SHADOW.state ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 29 SHADOW SHADOW.Init Format: Initialize all SHADOW areas SHADOW.Init Initialize all SHADOW areas. See also ■ SHADOW SHADOW.Mode ■ SHADOW.state Define the initialization value for the SHADOW areas ICE only Format: SHADOW.Mode ZERO | FF | FLOATING | ERROR As long as no write access occurred to an address, the contents of this address is 0x00 (ZERO), 0xFF(FF), ?? (FLOATING) or an error message is displayed (ERROR). See also ■ SHADOW ■ SHADOW.state SHADOW.OFF Switch SHADOW RAM off ICE only Format: SHADOW.OFF Switch the SHADOW RAM to OFF. See also ■ SHADOW ■ SHADOW.state ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 30 SHADOW SHADOW.ON Switch SHADOW RAM on ICE only Format: SHADOW.ON Switch the SHADOW RAM to ON. See also ■ SHADOW ■ SHADOW.state SHADOW.RESet Reset settings for the SHADOW RAM ICE only Format: SHADOW.RESet Reset settings for the SHADOW RAM to default. See also ■ SHADOW ■ SHADOW.state ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 31 SHADOW SHADOW.state Display SHADOW RAM settings ICE only Format: SHADOW.state Display SHADOW RAM settings. See also ■ SHADOW ■ SHADOW.Init ■ SHADOW.RESet ■ SHADOW.Area ■ SHADOW.Mode ■ SHADOW.AutoDelete ■ SHADOW.OFF ■ SHADOW.Define ■ SHADOW.ON ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 32 SHADOW SIM SIM TRACE32 instruction set simulators The SIM command group covers the following features for the TRACE32 Instruction Set Simulators: • Cache/MMU/MPU simulation: configuration, enabling and basic analysis Cache simulation is currently only fully implemented for the ARM architecture. It can be implemented for other architectures on request. Please be aware that enabling the cache/MMU simulation slows down the simulator performance. • Trace generation: configuration • Peripheral Simulation Models: load and unload For more information on the PSM refer to ”API for TRACE32 Instruction Set Simulator” (simulator_api.pdf) and ”Library for Peripheral Simulation” (simulator_api_lib.pdf). See also ■ SIM.AREA ■ SIM.List ■ SIM.CACHE ■ SIM.LOAD ■ SIM.command ■ SIM.RESet SIM.AREA ■ SIM.INTerrupt ■ SIM.UNLOAD Selects area for simulation output . Format: SIM.AREA <name> Specify output AREA for API function SIMUL_Printf(simulProcessor processor, const char *format, ...). AREA.Create SimulOut ; create a new AREA AREA.View SimulOut ; display created AREA SIM.AREA SimulOut ; assign AREA to SIMUL_Printf ; function See also ■ SIM ■ SIM.command ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 33 SIM SIM.CACHE Cache/MMU simulation and more . Command group for cache/MMU simulation, simulation of tightly-coupled memory, simulator trace generation and more. For configuration, use the command line or the SIM.CACHE.state window. See also ■ ■ ■ ■ ■ SIM SIM.CACHE.MPURegions SIM.CACHE.SETS SIM.CACHE.TRACE SIM.CACHE.Width ■ ■ ■ ■ ■ ■ ■ ■ ■ SIM.CACHE.Allocation SIM.CACHE.OFF SIM.CACHE.SIZE SIM.CACHE.View SIM.command SIM.CACHE.BaseAddress SIM.CACHE.ON SIM.CACHE.state SIM.CACHE.ViewTLB ■ ■ ■ ■ SIM.CACHE.Mode SIM.CACHE.Replacement SIM.CACHE.Tags SIM.CACHE.WAYS ▲ ’Release Information’ in ’Release History’ SIM.CACHE.Allocation Define the cache allocation technique Format: SIM.CACHE.Allocation <cache_type> ReadAlloc | WriteAlloc <cache_type> DC | L2 | L3 | … The command SIM.CACHE.Allocation describes how the CPU deals with a cache miss on a data store/ write access. ReadAlloc The data from a memory address is only loaded to the cache on read/ load accesses. WriteAlloc The data from a memory address is loaded to the cache on a store/write access and the new data is written in the cache line. If it is also stored/ written to memory depends on the cache mode (write-through or copyback). The allocation technique is taken from the MMU if SIM.CACHE.Mode is set to MMU. CTS.CACHE.Allocation IC ReadAlloc ; the instruction cache is a ; read allocate cache This field shows the cache properties of the selected CPU. If these properties do not fit, they should be changed before a SYStem.Up. See also ■ SIM.CACHE ■ SIM.CACHE.state ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 34 SIM SIM.CACHE.BaseAddress Specify base address for tightly-coupled memory Format: SIM.CACHE.BaseAddress <tcm> <address> <tcm>: ITCM | DTCM Inform TRACE32 Instruction Set simulator about the base address of the tightly-coupled memory. SIM.CACHE.BaseAddress ITCM 0x0 This field shows the cache properties of the selected CPU. If these properties do not fit, they should be changed before a SYStem.Up. See also ■ SIM.CACHE ■ SIM.CACHE.state SIM.CACHE.Mode Define memory coherency strategy Format: SIM.CACHE.Mode ITCM | DTCM <mode> <mode>: CopyBack WriteThrough MMU This command defines the strategy used for the memory coherency. CopyBack Copy back strategy guarantees memory coherency. When a cache hit occurred for a data store/write, the cache contents is updated and the corresponding cache line is marked as dirty. The data value is copied back to memory when the contents of the cache line is evicted. WriteThrough Write Through strategy guarantees memory coherency. When a cache hit occurs for a data store/write, the cache contents is updated and the data is also stored/written to memory. MMU The strategy for memory coherency is taken from the MMU. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 35 SIM It is recommended to perform this setup before SYStem.Up. See also ■ SIM.CACHE ■ SIM.CACHE.state SIM.CACHE.MPURegions Format: Specify MPU regions SIM.CACHE.MPURegions <region> Define the number of MPU regions implemented on your Cortex-R4 core. See also ■ SIM.CACHE ■ SIM.CACHE.state SIM.CACHE.OFF Format: Disable cache and MMU simulation SIM.CACHE.OFF Disable cache and MMU simulation. See also ■ SIM.CACHE ■ SIM.CACHE.state SIM.CACHE.ON Format: Enable cache and MMU simulation SIM.CACHE.ON Enable cache and MMU simulation. See also ■ SIM.CACHE ■ SIM.CACHE.state ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 36 SIM SIM.CACHE.Replacement Define the replacement strategy Format: SIM.CACHE.Replacement <cache> <replace> <cache>: ITLB | DTLB | TLB0 | TLB1 <replace>: NONE Random FreeRandom LRU MMU This command defines the replacement strategy for each cache. Cyclic Cyclic (round-robin) replacement strategy is used. One round robin counter for each cache set. Random Random replacement strategy is used. LRU Last recently used replacement strategy is used. MMU The replacement strategy is defined by the CPU. Please use SIM.CACHE.Replacement MMU if your CPU uses a not listed replacement strategy. This field shows the cache properties of the selected CPU. If these properties do not fit, they should be changed before a SYStem.Up. See also ■ SIM.CACHE ■ SIM.CACHE.state ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 37 SIM SIM.CACHE.SETS Define the number of cache/TLB sets Format: SIM.CACHE.SETS <cache> <number> <cache>: TLB0 | TLB1 This command defines the number of cache/TLB sets. This field shows the cache properties of the selected CPU. If these properties do not fit, they should be changed before a SYStem.Up. See also ■ SIM.CACHE ■ SIM.CACHE.state SIM.CACHE.SIZE Format: Specify size of tightly-coupled memory SIM.CACHE.SIZE ITCM | DTCM <size> It is recommended to perform this setup before SYStem.Up. See also ■ SIM.CACHE ■ SIM.CACHE.state ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 38 SIM SIM.CACHE.state Format: Display cache and MMU settings SIM.CACHE.state Display simulator setting for cache and MMU. See also ■ ■ ■ ■ SIM.CACHE SIM.CACHE.MPURegions SIM.CACHE.SETS SIM.CACHE.View ■ ■ ■ ■ ■ ■ ■ ■ SIM.CACHE.Allocation SIM.CACHE.OFF SIM.CACHE.SIZE SIM.CACHE.ViewTLB SIM.CACHE.BaseAddress SIM.CACHE.ON SIM.CACHE.Tags SIM.CACHE.WAYS ■ ■ ■ ■ SIM.CACHE.Mode SIM.CACHE.Replacement SIM.CACHE.TRACE SIM.CACHE.Width ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 39 SIM SIM.CACHE.Tags Define address mode for cache lines Format: SIM.CACHE.Tags <cache> <tag> <tag>: VIVT PIPT VIPT AVIVT VIVT Virtual Index, Virtual Tag The logical (virtual) address is used as tag for a cache line. PIPT Physical Index, Physical Tag The physical address is used as tag for a cache line. VIPT Virtual Index, Physical Tag AVIVT Address Space ID + Virtual Index, Virtual Tag The address mode for the cache lines is taken from the MMU if SIM.CACHE.Mode is set to MMU. It is recommended to perform this setup before SYStem.Up. See also ■ SIM.CACHE ■ SIM.CACHE.state ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 40 SIM SIM.CACHE.TRACE Format: BusTrace Select simulator trace method SIM.CACHE.TRACE BusTrace | CoreTrace Trace information is generated for all bus transfers. E.g. if the cache is simulated trace information is generated for the burst cycles that filled the cache lines. CoreTrace (default) Trace information is generated for all executed instructions and performed load/store operations. Cache accesses are included. See also ■ SIM.CACHE SIM.CACHE.View Format: ■ SIM.CACHE.state Analysis of memory accesses for cache simulation SIM.CACHE.View Displays an analysis of the simulated memory accesses if cache simulation is used. Analysis results can be displayed while program execution is running. For detailed information on the interpretation of the results refer to the CTS.CACHE.View command. See also ■ SIM.CACHE ■ SIM.CACHE.state ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 41 SIM SIM.CACHE.ViewTLB Format: Analysis of TLB accesses for MMU simulation SIM.CACHE.ViewTLB Displays an analysis of the simulated TLB accesses if MMU simulation is used. Analysis results can be displayed while program execution is running. See also ■ SIM.CACHE ■ SIM.CACHE.state SIM.CACHE.WAYS Define number of cache ways Format: SIM.CACHE.WAYS <cache> <ways> <cache>: IC | DC | L2 | L3 | ITLB | DTLB | TLB0 | TLB1 This command defines the number of cache ways (blocks) for each cache. SIM.CACHE.WAYS IC 4. ; The instruction CACHE has 4 blocks This field shows the cache properties of the selected CPU. If these properties do not fit, they should be changed before a SYStem.Up. See also ■ SIM.CACHE ■ SIM.CACHE.state ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 42 SIM SIM.CACHE.Width Format: Define width of cache line SIM.CACHE.Width IC | DC | L2 | L3 <width> This command define the width of a single cache line in bytes. CTS.CACHE.Width IC 32. ; A cache line for the instruction cache ; is 32. byte This field shows the cache properties of the selected CPU. If these properties do not fit, they should be changed before a SYStem.Up. See also ■ SIM.CACHE ■ SIM.CACHE.state ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 43 SIM SIM.command Format: Issue command to simulation model SIM.command <cmd> [<string>] [<address>] [<time>] [<value>] Issues a command to all loaded simulation models. The parameters are interpreted by the loaded models. See also ■ SIM ■ SIM.List ■ SIM.AREA ■ SIM.LOAD ■ SIM.CACHE ■ SIM.RESet SIM.INTerrupt Format: ■ SIM.INTerrupt ■ SIM.UNLOAD Trigger interrupt SIM.INTerrupt <level> <vector> Triggers the specified interrupt. Example for MPC55xx: SIM.INTerrupt , 0x20 ; no priority required that is ; why "," is used ; interrupt vector 0x0 is triggered See also ■ SIM ■ SIM.command ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 44 SIM SIM.List List loaded simulator models . Format: SIM.List See also ■ SIM ■ SIM.command SIM.LOAD Format: Load simulator module SIM.LOAD <file> [<parameter> …] Loads simulator DLL. The parameters are specific for the loaded DLL. SIM.RESet SIM.LOAD demoport.dll 20000 0 ; reset simulator ; loads dll with your parameters See also ■ SIM ■ SIM.command ▲ ’Release Information’ in ’Release History’ SIM.RESet Reset instruction set simulator . Format: SIM.RESet Unloads all loaded DLL and resets all time base. See also ■ SIM ■ SIM.command ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 45 SIM SIM.UNLOAD Format: Unload simulator module SIM.UNLOAD [<file>] Unloads a simulator dll. SIM.UNLOAD demoport.dll ; unload specified dll SIM.UNLOAD ; unload all dlls See also ■ SIM ■ SIM.command ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 46 SIM SNOOPer Function The intention of the SNOOPer is to provide a trace that sample data information over the time. The SNOOPer is mainly used for TRACE32-ICD if: • no trace is available (e.g. MCS12). • the trace port doesn´t provide data information (e.g. most TRICOREs). The SNOOPer can only be used if the on-chip debugging logic of the CPU supports memory read while the CPU is executing the program (e.g. MCS12, C166CBC, TRICORE, ColdFire). It also works for all ARM cores via the ARM Debug Communication Channel (DCC) or via the Debug Access Port (DAP) and for the 56800E DSP from Freescale Semiconductor. In general the SNOOPer can be used, if SYStem.MemAccess CPU can be set in the SYStem window. To set up the SNOOPer the following steps are required: ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 47 SNOOPer 1. Define the size of the SNOOPer trace memory. The trace memory is reserved on the host and can be up to 1 MByte. 2. Define the sampling rate for the SNOOPer. The smallest sampling rate is 20 - 100 us. The SNOOPer reads out the requested data information in the sampling rate and transfers it to the trace. 3. Define the data information you want to monitor. SNOOPer.SIZE 10000. ; The size of the trace for the ; snooper is 10000. SNOOPer.Rate 1000. ; The sampling rate for the snooper ; is 1000/sec SNOOPer.SELelct %Byte flags+3 ; The data information of interest ; is the contents of flags+3 The SNOOPer is one of the trace methods provided by TRACE32. Beside the command group SNOOPer the more general command group Trace can be used to set-up and handle the information provided by the SNOOPer. Precondition is, that the trace method SNOOPer is selected. Trace.METHOD SNOOPer All SNOOPer commands that offer features identical to the corresponding Trace commands are described together with the command group Trace. Here only the SNOOPer specific commands are listed. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 48 SNOOPer SNOOPer Trace Commands SNOOPer.Arm Arm the trace see command <trace>.Arm in 'General Commands Reference Guide T' (general_ref_t.pdf, page 89) SNOOPer.AutoArm Arm automatically see command <trace>.AutoArm in 'General Commands Reference Guide T' (general_ref_t.pdf, page 90) SNOOPer.AutoInit Automatic initialization see command <trace>.AutoInit in 'General Commands Reference Guide T' (general_ref_t.pdf, page 94) SNOOPer.BookMark Set a bookmark in trace listing see command <trace>.BookMark in 'General Commands Reference Guide T' (general_ref_t.pdf, page 97) SNOOPer.Chart Display trace contents graphically see command <trace>.Chart in 'General Commands Reference Guide T' (general_ref_t.pdf, page 100) SNOOPer.Chart.DistriB Distribution display see command <trace>.Chart.DistriB in 'General Commands Reference Guide T' (general_ref_t.pdf, page 105) ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 49 SNOOPer Trace Commands SNOOPer.Chart.Func Function activity chart see command <trace>.Chart.Func in 'General Commands Reference Guide T' (general_ref_t.pdf, page 107) SNOOPer.Chart.GROUP Group activity chart see command <trace>.Chart.GROUP in 'General Commands Reference Guide T' (general_ref_t.pdf, page 108) SNOOPer.Chart.Line Graphical HLL lines analysis see command <trace>.Chart.Line in 'General Commands Reference Guide T' (general_ref_t.pdf, page 109) SNOOPer.Chart.sYmbol Symbol analysis see command <trace>.Chart.sYmbol in 'General Commands Reference Guide T' (general_ref_t.pdf, page 111) SNOOPer.Chart.TASK Task activity chart see command <trace>.Chart.TASK in 'General Commands Reference Guide T' (general_ref_t.pdf, page 112) SNOOPer.Chart.TASKFunc Task related function run-time analysis (legacy) see command <trace>.Chart.TASKFunc in 'General Commands Reference Guide T' (general_ref_t.pdf, page 113) SNOOPer.Chart.TASKSRV Service routine run-time analysis see command <trace>.Chart.TASKSRV in 'General Commands Reference Guide T' (general_ref_t.pdf, page 114) ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 50 SNOOPer Trace Commands SNOOPer.Chart.TASKState Task state analysis see command <trace>.Chart.TASKState in 'General Commands Reference Guide T' (general_ref_t.pdf, page 116) SNOOPer.Chart.VarState Variable activity chart see command <trace>.Chart.VarState in 'General Commands Reference Guide T' (general_ref_t.pdf, page 117) SNOOPer.ComPare Compare trace contents see command <trace>.ComPare in 'General Commands Reference Guide T' (general_ref_t.pdf, page 121) SNOOPer.DISable Disable the trace see command <trace>.DISable in 'General Commands Reference Guide T' (general_ref_t.pdf, page 123) SNOOPer.DRAW Visualization of trace data see command <trace>.DRAW in 'General Commands Reference Guide T' (general_ref_t.pdf, page 127) SNOOPer.EXPORT Export trace data for processing in other applications see command <trace>.EXPORT in 'General Commands Reference Guide T' (general_ref_t.pdf, page 146) SNOOPer.FILE Load a file into the file trace buffer see command <trace>.FILE in 'General Commands Reference Guide T' (general_ref_t.pdf, page 157) SNOOPer.Find Find specified entry in trace see command <trace>.Find in 'General Commands Reference Guide T' (general_ref_t.pdf, page 159) ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 51 SNOOPer Trace Commands SNOOPer.FindAll Find all specified entries in trace see command <trace>.FindAll in 'General Commands Reference Guide T' (general_ref_t.pdf, page 162) SNOOPer.FindChange Search for changes in trace flow see command <trace>.FindChange in 'General Commands Reference Guide T' (general_ref_t.pdf, page 163) SNOOPer.Get Display input level see command <trace>.Get in 'General Commands Reference Guide T' (general_ref_t.pdf, page 165) SNOOPer.GOTO Move cursor to specified trace record see command <trace>.GOTO in 'General Commands Reference Guide T' (general_ref_t.pdf, page 167) SNOOPer.Init Init trace see command <trace>.Init in 'General Commands Reference Guide T' (general_ref_t.pdf, page 175) SNOOPer.List List trace contents see command <trace>.List in 'General Commands Reference Guide T' (general_ref_t.pdf, page 179) SNOOPer.LOAD Load trace file for off-line processing see command <trace>.LOAD in 'General Commands Reference Guide T' (general_ref_t.pdf, page 191) SNOOPer.Mode Set the trace operation mode see command <trace>.Mode in 'General Commands Reference Guide T' (general_ref_t.pdf, page 197) ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 52 SNOOPer Trace Commands SNOOPer.OFF Switch off see command <trace>.OFF in 'General Commands Reference Guide T' (general_ref_t.pdf, page 201) SNOOPer.PROfileChart Profile charts see command <trace>.PROfileChart in 'General Commands Reference Guide T' (general_ref_t.pdf, page 205) SNOOPer.PROfileChart.DIStance Time interval for a single event see command <trace>.PROfileChart.DIStance in 'General Commands Reference Guide T' (general_ref_t.pdf, page 206) SNOOPer.PROfileChart.DURation Time between two events see command <trace>.PROfileChart.DURation in 'General Commands Reference Guide T' (general_ref_t.pdf, page 208) SNOOPer.PROfileChart.GROUP Group profile chart see command <trace>.PROfileChart.GROUP in 'General Commands Reference Guide T' (general_ref_t.pdf, page 212) SNOOPer.PROfileChart.Rate Event frequency see command <trace>.PROfileChart.Rate in 'General Commands Reference Guide T' (general_ref_t.pdf, page 213) SNOOPer.PROfileSTATistic Statistical analysis in a table versus time see command <trace>.PROfileSTATistic in 'General Commands Reference Guide T' (general_ref_t.pdf, page 219) ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 53 SNOOPer Trace Commands SNOOPer.PROTOcol Protocol analysis see command <trace>.PROTOcol in 'General Commands Reference Guide T' (general_ref_t.pdf, page 221) SNOOPer.PROTOcol.Chart Graphic display for user-defined protocol see command <trace>.PROTOcol.Chart in 'General Commands Reference Guide T' (general_ref_t.pdf, page 221) SNOOPer.PROTOcol.Draw Graphic display for user-defined protocol see command <trace>.PROTOcol.Draw in 'General Commands Reference Guide T' (general_ref_t.pdf, page 223) SNOOPer.PROTOcol.EXPORT Export trace buffer for user-defined protocol see command <trace>.PROTOcol.EXPORT in 'General Commands Reference Guide T' (general_ref_t.pdf, page 224) SNOOPer.PROTOcol.Find Find in trace buffer for user-defined protocol see command <trace>.PROTOcol.Find in 'General Commands Reference Guide T' (general_ref_t.pdf, page 225) SNOOPer.PROTOcol.List Display trace buffer for user-defined protocol see command <trace>.PROTOcol.List in 'General Commands Reference Guide T' (general_ref_t.pdf, page 226) SNOOPer.PROTOcol.STATistic Display statistics for user-defined protocol see command <trace>.PROTOcol.STATistic in 'General Commands Reference Guide T' (general_ref_t.pdf, page 229) ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 54 SNOOPer Trace Commands SNOOPer.Rate Select sampling rate see command <trace>.Rate in 'General Commands Reference Guide T' (general_ref_t.pdf, page 234) SNOOPer.REF Set reference point see command <trace>.REF in 'General Commands Reference Guide T' (general_ref_t.pdf, page 235) SNOOPer.RESet Reset command see command <trace>.RESet in 'General Commands Reference Guide T' (general_ref_t.pdf, page 236) SNOOPer.SAVE Save trace for postprocessing see command <trace>.SAVE in 'General Commands Reference Guide T' (general_ref_t.pdf, page 238) SNOOPer.SELect Define addresses for monitoring see command <trace>.SELect in 'General Commands Reference Guide T' (general_ref_t.pdf, page 242) SNOOPer.SelfArm Automatic restart of trace recording see command <trace>.SelfArm in 'General Commands Reference Guide T' (general_ref_t.pdf, page 242) SNOOPer.SIZE Define buffer size see command <trace>.SIZE in 'General Commands Reference Guide T' (general_ref_t.pdf, page 252) SNOOPer.SnapShot Restart trace capturing once see command <trace>.SnapShot in 'General Commands Reference Guide T' (general_ref_t.pdf, page 254) ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 55 SNOOPer Trace Commands SNOOPer.state Display trace configuration window see command <trace>.state in 'General Commands Reference Guide T' (general_ref_t.pdf, page 257) SNOOPer.STATistic Statistic analysis see command <trace>.STATistic in 'General Commands Reference Guide T' (general_ref_t.pdf, page 260) SNOOPer.STATistic.BondOut Bondout mode see command <trace>.STATistic.BondOut in 'General Commands Reference Guide T' (general_ref_t.pdf, page 265) SNOOPer.STATistic.DIStance Time interval for a single event see command <trace>.STATistic.DIStance in 'General Commands Reference Guide T' (general_ref_t.pdf, page 271) SNOOPer.STATistic.DistriB Distribution analysis see command <trace>.STATistic.DistriB in 'General Commands Reference Guide T' (general_ref_t.pdf, page 274) SNOOPer.STATistic.DURation Time between two events see command <trace>.STATistic.DURation in 'General Commands Reference Guide T' (general_ref_t.pdf, page 277) SNOOPer.STATistic.Func Function runtime analysis see command <trace>.STATistic.Func in 'General Commands Reference Guide T' (general_ref_t.pdf, page 282) ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 56 SNOOPer Trace Commands SNOOPer.STATistic.GROUP Group run-time analysis see command <trace>.STATistic.GROUP in 'General Commands Reference Guide T' (general_ref_t.pdf, page 307) SNOOPer.STATistic.Ignore Ignore false records in statistic see command <trace>.STATistic.Ignore in 'General Commands Reference Guide T' (general_ref_t.pdf, page 308) SNOOPer.STATistic.InterruptIsFunction Define statistics interrupt processing see command <trace>.STATistic.InterruptIsFunction in 'General Commands Reference Guide T' (general_ref_t.pdf, page 310) SNOOPer.STATistic.Line HLL-Line analysis see command <trace>.STATistic.Line in 'General Commands Reference Guide T' (general_ref_t.pdf, page 314) SNOOPer.STATistic.LINKage Per caller statistic of function see command <trace>.STATistic.LINKage in 'General Commands Reference Guide T' (general_ref_t.pdf, page 317) SNOOPer.STATistic.Measure Analyze the performance of a single signal see command <trace>.STATistic.Measure in 'General Commands Reference Guide T' (general_ref_t.pdf, page 319) SNOOPer.STATistic.PreFetch Prefetch detection see command <trace>.STATistic.PreFetch in 'General Commands Reference Guide T' (general_ref_t.pdf, page 324) ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 57 SNOOPer Trace Commands SNOOPer.STATistic.Sort Specify sorting criterion for statistic commands see command <trace>.STATistic.Sort in 'General Commands Reference Guide T' (general_ref_t.pdf, page 326) SNOOPer.STATistic.sYmbol Flat run-time analysis see command <trace>.STATistic.sYmbol in 'General Commands Reference Guide T' (general_ref_t.pdf, page 334) SNOOPer.STATistic.TASK Task activity statistic see command <trace>.STATistic.TASK in 'General Commands Reference Guide T' (general_ref_t.pdf, page 338) SNOOPer.STATistic.TASKFunc Task specific function run-time analysis see command <trace>.STATistic.TASKFunc in 'General Commands Reference Guide T' (general_ref_t.pdf, page 345) SNOOPer.STATistic.TASKKernel Task analysis with kernel markers (flat) see command <trace>.STATistic.TASKKernel in 'General Commands Reference Guide T' (general_ref_t.pdf, page 353) SNOOPer.STATistic.TASKSRV Analysis of time in OS service routines see command <trace>.STATistic.TASKSRV in 'General Commands Reference Guide T' (general_ref_t.pdf, page 356) SNOOPer.STATistic.TASKState Performance analysis see command <trace>.STATistic.TASKState in 'General Commands Reference Guide T' (general_ref_t.pdf, page 357) ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 58 SNOOPer Trace Commands SNOOPer.STATistic.TASKTREE Tree display of task specific functions see command <trace>.STATistic.TASKTREE in 'General Commands Reference Guide T' (general_ref_t.pdf, page 361) SNOOPer.STATistic.TREE Tree display of function run-time analysis see command <trace>.STATistic.TREE in 'General Commands Reference Guide T' (general_ref_t.pdf, page 363) SNOOPer.STATistic.Use Use records see command <trace>.STATistic.Use in 'General Commands Reference Guide T' (general_ref_t.pdf, page 364) SNOOPer.TDelay Trigger delay see command <trace>.TDelay in 'General Commands Reference Guide T' (general_ref_t.pdf, page 370) SNOOPer.Timing Waveform of trace buffer see command <trace>.Timing in 'General Commands Reference Guide T' (general_ref_t.pdf, page 379) SNOOPer.TOut Define trigger destination (SNOOPer) see command <trace>.TOut in 'General Commands Reference Guide T' (general_ref_t.pdf, page 382) SNOOPer.TValue Define data value for trigger see command <trace>.TValue in 'General Commands Reference Guide T' (general_ref_t.pdf, page 387) SNOOPer.View Display single record see command <trace>.View in 'General Commands Reference Guide T' (general_ref_t.pdf, page 389) ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 59 SNOOPer Trace Commands SNOOPer.View Display single record see command <trace>.View in 'General Commands Reference Guide T' (general_ref_t.pdf, page 389) SNOOPer.ZERO tbd. see command <trace>.ZERO in 'General Commands Reference Guide T' (general_ref_t.pdf, page 391) ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 60 SNOOPer Trace Commands Summary ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 61 SNOOPer Trace Commands SPE SPE Signal Processing eXtension (SPE) PowerPC 55xx/85xx only See also ■ SPE.Init ■ SPE.Set ■ SPE.view SPE.Init ❏ SPE() Initialize SPE registers PowerPC 55xx/85xx only Format: SPE.Init SPE.RESet (deprecated) Initializes all SPE registers to zero. See also ■ SPE ■ SPE.view SPE.Set Modify SPE registers PowerPC 55xx/85xx only Format: SPE.Set <register> <value> [/<option>] <register>: R0..R31 ACC SPEFSCR Writes the given value to the specified SPE register. R0..R31 and ACC are 64-bit values that are entered as 16-digits hex values: SPE.Set R15 0x123456789ABCDEF0 SPE.Set ACC 0xFFFFFFFFFFFFFFFF See also ■ SPE ■ SPE.view ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 62 SPE SPE.view Display SPE register window PowerPC 55xx/85xx only Format: SPE.view [/<option>] Opens a window displaying the SPE vector registers R0..R31, ACC and SPEFSCR. For a description of the <options>, see Register.view. See also ■ SPE ■ SPE.Init ■ SPE.Set ❏ SPE() ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 63 SPE SPot Function Operation Modes (TRACE32-ICE) The spot system is used for temporary break of the real-time program execution in order get control over the CPU to display memory or internal CPU registers. Spot breakpoints can be defined in both, program and data areas. The analyzer can also be used to trigger short breaks. Spot breakpoints are defined using the Break.Set /Spot command and are erased by means of the Break.Delete /S command. The three spot point sources, Program, Data, Analyzer can be enabled or disabled. If the switch is set to the ALways position the program is halted each time a spot breakpoint is encountered and restarted after all windows are refreshed. Performance ON The program will be interrupted only if there is a job to do for the emulation CPU, e.g. read or write memory. Emulation speed (performance) with the system switched to ON is about 5%-10% slower than without spot points. Each program stop takes approx. 100 … 500 µs. On each spot only one memory area can be read. With slower CPU types or CPU types with background-debug interface (like MC68332) the performance degrade is higher. This mode can be used, when variables must be constantly monitored and the spot points are reached very often (each few milliseconds) in the program. ALways The emulation is stopped, all windows are updated and after this the emulation is started again. This will normally take about 10 … 200 ms, depending on the number and the complexity of the windows. The performance in this mode will go down by some orders of magnitude, depending on the time between two spot points. This mode is useful, if a complete consistent snapshot of the system is required at a very occasionally reached location. The advantage of the SPOT function - compared to the general break function (Break.Enable Foreground) - is that the break takes place at a exact defined point within the program. For example, if a spot breakpoint is set to data area it will be assured that the program window shows this partition of the program where the data transfer is executed. Spot points set to program lines will allow displaying local variables in a running target program. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 64 SPot SPot.Analyzer Format: Analyzer spot points SPot.Analyzer OFF | ON | ALways Enables the spot function forced by the analyzer trigger unit. See also ■ SPot.state ▲ ’Spot System’ in ’ICE User’s Guide’ SPot.Data Format: Write/read accesses SPot.Data OFF | ON | ALways Activates the spot function generated by spot breakpoints which will be set to data areas. See also ■ SPot.state ▲ ’Spot System’ in ’ICE User’s Guide’ SPot.OFF Format: Switch off SPot.OFF Disables the whole spot system. This allows the use of the Spot breakpoint for other purposes. When the performance analyzer is activated, the SPot system is always turned off, because the breakpoints are used to classify address partitions. See also ■ SPot.state ▲ ’Spot System’ in ’ICE User’s Guide’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 65 SPot SPot.ON Format: Switch on SPot.ON Enables the spot point system. The spot point system will be locked, if the performance analyzer is active. See also ■ SPot.state ▲ ’Spot System’ in ’ICE User’s Guide’ SPot.Program Format: Program spot points SPot.Program OFF | ON | ALways Enables the program spot points. Program spot points are synchronous, i.e. the program is breaked before the instruction is executed. See also ■ SPot.state ▲ ’Spot System’ in ’ICE User’s Guide’ SPot.RESet Format: Reset command SPot.RESet Resets the command to the default state. As default all three spot types are switched to ON. See also ■ SPot.state ▲ ’Spot System’ in ’ICE User’s Guide’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 66 SPot SPot.state Format: State display SPot.state Displays the configuration of the SPot system. E68::w.spot spot RESet ON OFF Program OFF ON ALways Analyzer OFF ON ALways Data OFF ON ALways See also ■ SPot.Analyzer ■ SPot.Program ■ SPot.Data ■ SPot.RESet ■ SPot.OFF ■ SPot.Test ■ SPot.ON ▲ ’Spot System’ in ’ICE User’s Guide’ ▲ ’Breakpoint Control’ in ’Training ICE Basics’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 67 SPot SPot.Test Format: Set spot point SPot.Test <address> | <addressrange> This command makes it possible for you to set individual spot breakpoints very quickly and to configure the spot system correctly. The function is as follows: 1. Erase all spot breakpoints. 2. Set the spot system to Data.ON and Program.ON mode. 3. Set spot breakpoints to the specified address. ; Start program and display register contents at a specified point. w.r g spot.test sieve … spot.test sieve2 … spot.off … spot.on ; Open register window ; Start program ; Set spot breakpoint at address 'sieve' ; Convert spot breakpoint ; Switch spot-system off ; Spot breakpoint at 'sieve2' See also ■ SPot.state ▲ ’Spot System’ in ’ICE User’s Guide’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 68 SPot SSE SSE SSE registers (Streaming SIMD Extension) Intel x86 Command group to display and modify SSE (Streaming SIMD Extensions) registers for Intel x86. See also ■ SSE.Init ■ SSE.view ■ SSE.OFF ❏ SSE() ■ SSE.ON SSE.Init ■ SSE.Set Initialize SSE registers Intel x86 Format: SSE.Init Sets the SSE registers to their default values. See also ■ SSE SSE.OFF Inhibit SSE accesses by the debugger Intel x86 Format: SSE.OFF Inhibits accesses to the SSE by the debugger. Usually required until the SSE is on. See also ■ SSE ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 69 SSE SSE.ON Permit SSE accesses by the debugger Intel x86 Format: SSE.ON Permits accesses to the SSE by the debugger (default). See also ■ SSE SSE.Set Modify SSE registers Intel x86 Format: SSE.Set <register> <value> … [/<option>] Modifies the SSE registers. For a description of the <options>, see Register.view. See also ■ SSE SSE.view Display SSE registers Intel x86 Format: SSE.view [/<option>] Displays the SSE registers. For a description of the <options>, see Register.view. See also ■ SSE ▲ ’Release Information’ in ’Release History’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 70 SSE Step Steps through the program in controlled way executing an assembly opcode, a source line or a function at a time. See also ■ ■ ■ ■ Step.Asm Step.BackTill Step.Diverge Step.single ■ ■ ■ ■ ■ Step.BackChange ■ Step.CycleReq ■ Step.Mix Step.Back Step.Change Step.Hll Step.Till Step.Asm Format: ■ Step.BackOver ■ Step.CycleWait ■ Step.Over Assembler single-stepping Step.Asm [<count>] Switches to assembler mode before performing the required single steps via the Step command. The performed steps are assembly steps. See also ■ Step.single ▲ ’Realtime Emulation’ in ’ICE User’s Guide’ Step.Back Format: Step back Step.Back This command can only be used together with the Context Tracking System (CTS). The command steps back one assembler instruction or one HLL line. Under certain conditions, the command automatically activates CTS when it is turned off. See also ■ Step.single ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 71 Step Step.BackChange Format: Step back till expression changes Step.BackChange Steps back till the expression changes. The command will stop also, if the expression cannot be evaluated. s.bc r(a7) ; steps till register A7 changes s.bc d.l(sd:0x100) ; steps till the longword at location 100 ; changes See also ■ Step.single ▲ ’Release Information’ in ’Release History’ Step.BackOver Format: Step back Step.BackOver This command can only be used together with the Context Tracking System (CTS). The command steps back one assembler instruction or one HLL line. Under certain conditions, the command automatically activates CTS when it is turned off. See also ■ Step.single ▲ ’Release Information’ in ’Release History’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 72 Step Step.BackTill Format: Step back till expression true Step.BackTill [<boolean_expression>] Steps back till the boolean expression becomes true. The command will stop also, if the expression cannot be evaluated. sb.t r(a7)>0x1000 ; steps till register A7 is larger than ; 1000 sb.t d.l(sd:0x100)==0x0 ; steps till the longword at location 100 ; gets the value 0 See also ■ Step.single Step.Change Format: Step till expression changes Step.Change [<expression>] Steps till the expression changes. The command will stop also, if the expression cannot be evaluated. s.c r(a7) ; steps till register A7 changes s.c d.l(sd:0x100) ; steps till the longword at location ; 100 changes See also ■ Step.single ▲ ’Realtime Emulation’ in ’ICE User’s Guide’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 73 Step Step.CycleReq Format: Single cycle Step.CycleReq Single cycle execution using BUSREQ. The single cycle function is interrupted by using Break. The break takes place at the end of the next assembler command. Single cycle stepping can be done only, when the dual-port access is in Denied mode. NOTE: Not supported on all emulation probes. See also ■ Step.single ▲ ’Realtime Emulation’ in ’ICE User’s Guide’ Step.CycleWait Format: Single cycle Step.CycleWait Single cycle execution using WAIT. The single cycle function is aborted using Break. The break takes place at the end of the next assembler command. Single cycle stepping can be done only, when the dual-port access is Denied mode. NOTE: Not supported on all emulation probes. See also ■ Step.single ▲ ’Realtime Emulation’ in ’ICE User’s Guide’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 74 Step Step.Diverge Format: Step till next unreached line Step.Diverge The Step.Diverge command can be used to exit loops or to fast forward to not yet reached HLL lines. It performs Step.Over repeatedly until a HLL line is reached which has not been reached in the previous steps. TRACE32 maintains a list of all HLL lines which were already reached. These reached lines are marked with a slim grey line in the List window (see picture below). In ASM/MIX mode, Step.Diverge applies to assembler code lines instead of HLL lines. The reached lines list is cleared when you use the Go.direct command without address or the Break command while the program execution is stopped. The reached lines list is not cleared at the following commands: • Step.single, Step.Over, Step.Change <expression>, Step.Till <condition> • Var.Step.Change <hll-expression>, Var.Step.Till <hll-condition> • Go.Return, Go.Up, Go.direct <address>, • Var.Go.direct <hll-expression> ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 75 Step The debugger did not reach the else branch yet See also ■ Step.single ▲ ’Release Information’ in ’Release History’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 76 Step Step.Hll Format: HLL single-stepping Step.Hll [<count>] Similar to the Step command, except that simultaneous switching into high-level language mode occurs. See also ■ Step.Mix ■ Step.single ▲ ’Realtime Emulation’ in ’ICE User’s Guide’ ▲ ’Release Information’ in ’Release History’ Step.Mix Format: Mixed single-stepping Step.Mix [<count>] Similar to the Step command, except that simultaneous switching into mixed mode takes place. See also ■ Step.Hll ■ Step.single ▲ ’Realtime Emulation’ in ’ICE User’s Guide’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 77 Step Step.Over Format: Step over call Step.Over The command is used to step within a function and runs called functions in real-time. The method for this command is depends, whether the operation-mode is HLL or assembler (ASM/MIX). ASM In assembler mode the emulator reads the instruction at the current PC. On a CALL instruction a Go.Next command is executed. All other instructions will cause a regular single-step command. HLL In HLL mode the system first executes a HLL single-step. After this step it checks, whether the PC is still in the same function. If the PC has left the function it will check the value addressed by the SP. With that value being within the original function, the program is continued to that point. If this address contains no HLL breakpoint the above procedure will be repeated (HLL step …). See also ■ Step.single ▲ ’Realtime Emulation’ in ’ICE User’s Guide’ ▲ ’Release Information’ in ’Release History’ Step.single Format: Single-stepping Step.single [<count>] The command executes one program step until the next assembler instruction or HLL line, depending on the current debug mode, is reached. Count is the number of command executions (default is 1). s ; single step s 10. ; 10 steps See also ■ ■ ■ ■ SETUP.IMASKASM Step.BackChange Step.CycleReq Step.Mix ■ ■ ■ ■ ■ ■ ■ ■ SETUP.IMASKHLL Step.BackOver Step.CycleWait Step.Over Step.Asm Step.BackTill Step.Diverge Step.Till ■ ■ ■ ■ Step.Back Step.Change Step.Hll Var.Step ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 78 Step Step.Till Format: Step till expression true Step.Till [<boolean_expression>] Steps till the boolean expression becomes true. The command will stop also, if the expression cannot be evaluated. s.t r(a7)>0x1000 ; steps till register A7 is larger than 1000 s.t d.l(sd:0x100)==0x0 ; steps till the longword at location 100 ; gets the value 0 See also ■ Step.single ▲ ’Realtime Emulation’ in ’ICE User’s Guide’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 79 Step STOre STOre Create script for TRACE32 settings Format: STOre <filename> [<item> …] <item>: default ALL Win | WinPAGE Symbolic | HEX SYStem … Stores settings in the format of a PRACTICE program. They can be executed by using the DO command. <item> Description no item specified If no item is specified, then the default setting is used; see default below. ALL Store all settings excepting the Break and Flag information. AnalyzerFocus Save the current AUTOFOCUS configuration to a file. ART See ART command. BookMark Store the settings of trace bookmarks and address bookmarks - see BookMark command. To export bookmarks as an XML file, see BookMark.EXPORT. Break Store breakpoints - see Break command. BSDL Store the boundary scan settings. See BSDL command. Count See Count command. default Some settings are stored by default, except for the window setting. eXeption See eXeption command. FDX See FDX command. Flag See Flag command. FLASH (For diagnostic purposes only.) Store the FLASH declaration displayed in the FLASH.List window and the settings made with the FLASH.TARGET command. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 80 STOre <item> Description GLOBAL Stores global PRACTICE macros with the current values - see GLOBAL command. GROUP See GROUP command. HELP Stores help settings and bookmarks - see HELP command HISTory See HISTory command. LA Logic Analyzer - see LA command. LOGGER See LOGGER command. MAP See MAP command. NAME See NAME command. NoDate No date entry at the beginning of the PRACTICE script file (*.cmm). On-chip See Onchip command. PBREAK Stores the breakpoints created for PRACTICE scripts (*.cmm). See PBREAK command group. PERF Performance Analyzer - see PERF command. POD See POD command. PULSE Pulse Generator - see PULSE command. PULSE2 Pulse Generator 2 - see PULSE2 command. PULSEP PulseProbe - see PULSE command. Register, RegSet See Register command. SNOOP See SNOOP command. SPATH Source search path - see sYmbol.SPATH command. SPATHCACHE Stores cached directories from the sYmbol.SPATH command. Symbolic, HEX Addresses (e.g. for the commands MAP or Flag) are stored symbolic or plain hex. With this option breakpoints can be stored and recalled for a newer version of the program with different addresses. The keyword must be entered before the item which shall be stored. The default is to store symbolic. SYnch See SYnch command. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 81 STOre <item> Description SYStem See SYS command. TRANSlation Store all static address TRANSlations as well as all common, transparent and protected address ranges as displayed by command TRANSlation.List. TrOnchip Trigger Onchip - see TrOnchip command. TrPod Trigger Probe - see TP command. VCO See VCO command. Win Store entire window configuration. WinPAGE Store the current window page. See WinPAGE command. The command store test sys for example produces the following file: E:: SYSTEM.ACCESS WAIT SYSTEM.CLOCK VCO SYSTEM.TIMEREQ 100.000us SYSTEM.TIMEOUT 100.000us SYSTEM.LINE BUSREQ OFF SYSTEM.LINE ECS OFF SYSTEM.OPTION CACHE OFF SYSTEM.OPTION FPU OFF SYSTEM.OPTION RAMWAIT OFF SYSTEM.OPTION TRACEWAIT OFF SYSTEM.OPTION BRKVECTOR 0. SYSTEM.LINE FCODE UD: SYSTEM.MODE RESET ENDDO See also ■ AutoSTOre ■ BookMark.List ■ ClipSTOre ▲ ’Store Settings’ in ’EPROM/FLASH Simulator’ ▲ ’Release Information’ in ’Release History’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 82 STOre sYmbol sYmbol Debug symbols Using the sYmbol command group, you can list, browse, or modify existing symbols and create new symbols. Symbolic information is stored in several tables combined with one another. For details about the syntax of symbols, search paths and C++ support, refer to the description of the Var command. Statics Contains all static symbols, i.e. symbols with a fixed address. The symbol may be local related to a function, a module or a program. Functions Contains all function blocks and additional information about functions, i.e. virtual frame pointers, register usage, stack frame layout. Locals All local symbols of a function. The ranges of validity are also contained in this table. Modules A module is one separately compiled program unit, i.e. one source file. Types High level language types and the physical description. Only named types are included in this table. Sources Contains a list of all HLL source files and the path names to the sources. SPATH List of directories of the source search path. Lines High level language source lines, respectively blocks. On one address can be one high level language block only. Sections Logical and physical program address ranges. According to the compiler a differentiation between 'CODE', 'DATA', 'BSS', 'ROMABLE' etc. is made. For each section special access rights are valid. Programs Usually only one program is loaded. If more than one has been loaded, the option NoClear must be used together with the Data.LOAD command. Stacks Contains information about the stack frame. Usually this is the offset between a register in the processor and a “virtual frame pointer”. This information is needed when there is no real frame pointer register used by highly optimizing compilers. Attributes This table is target dependent. It may contain information about different processor executing environments (e.g. ARM/Thumb) or special code constructs (e.g. jump tables or literal data in code). ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 83 sYmbol Macros Contains the contents of preprocessor macros. This information is not available for all compilers. However it may be generated manually with the sYmbol.CREATE.MACRO command. Map Holds a log of all memory operations during download. Only maintained when the option MAP was set with the load command. Compilers This listing contains compiler specific informations. It cannot be displayed and is determined on internal use by the HLL debugger PRACTICE Functions sYmbol.EXIST(<symbol>) Boolean function. Returns true when the symbol exists. sYmbol.RANGE(<symbol>) Returns the address range occupied by symbol. sYmbol.END(<symbol>) Returns the last address occupied by the symbol. sYmbol.SIZEOF(<symbol>) Returns the size occupied by the symbol in memory. sYmbol.SECRANGE(<section>) Return the logical address range occupied by the named section. sYmbol.SECPRANGE(<section>) Return the physical address range occupied by the named section. sYmbol.SIZEOF(<symbol>) Returns the size occupied by the variable in memory. sYmbol.NAME(<address>) Return the name of the closest symbol for the specified address (as a string). sYmbol.FUNCTION(<address>) Return the name of the function for the specified address (as a string). sYmbol.SOURCEFILE(<address>) Return the name of the source file for the specified address (as a string). sYmbol.SOURCELINE(<address>) Return the line number for the specified address (as a integer). ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 84 sYmbol ; command extension to call external editor (~~/demo/practice/edit.cmm) ON CMD EDT GOSUB ( LOCAL &file &line &cmdline ENTRY &file IF "&file"=="" ( &file=sYmbol.SOURCEFILE(p:Register(pc)) &line=sYmbol.SOURCELINE(p:Register(pc)) ) &cmdline="os edit &file "+STRing.CUT("&line",-1) &cmdline RETURN ) See also ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ ❏ sYmbol.BEGIN() sYmbol.END() sYmbol.EXIT() sYmbol.IMPORT() sYmbol.NAME() sYmbol.RANGE() sYmbol.SECADDRESS() sYmbol.SECPRANGE() sYmbol.SIZEOF() sYmbol.SOURCELINE() sYmbol.STATE() sYmbol.VARNAME() sYmbol.COUNT() sYmbol.EXIST() sYmbol.FUNCTION() sYmbol.MATCHES() sYmbol.PRANGE() sYmbol.SEARCHFILE() sYmbol.SECEND() sYmbol.SECRANGE() sYmbol.SOURCEFILE() sYmbol.SOURCEPATH() sYmbol.TYPE() ▲ ’sYmbol Functions’ in ’General Functions’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 85 sYmbol sYmbol.AddInfo Format: Provide additional symbolic information sYmbol.AddInfo The command can provide additional information about structures, pointers or variables. The information can scale the display, make typecasts or provide application specific interpretation of information (e.g. C++ descriptor displays). Here is a list of additional symbolic information types that can be set (not all symbolic information types are available depending on what the information is assigned to): Scaled <multiplier> [<offset <explanation>]] Scales the value of the element: trueValue = (srcValue * multiplier) + offset. RScaled <multiplier> [<offset> [<explanation>]] Scales the value of the element: trueValue = (multiplier / srcValue) + offset <explanation> Any user-defined text, such as class name, meaning, type, unit of measurement, etc. (Example) JSTRING Handles the element as pointer pointing to a string stored in the Java jstring representation. (Example) NSTRING <bitmask> Handles the element as pointer pointing to a structure, where the first element is the string length and the next element is the string. (Example) ZSTRING Handles the element as pointer pointing to a C-like string (string terminated by zero). (Example) MaskedPointer <mask> [<offset>] Modifies the pointer target address: truePointer = (srcPointer & mask) | offset (Example) MostDerived <struct/class-name> Forces data referenced by a pointer to be displayed as data of the declared struct or class (Example) DESCRIPTOR Forces data references by a pointer to be displayed according to a descriptor. (Example, also see demo\arm\kernel\symbian\eka2\epocinfo for an example for EPOC) ENUM <item-value> <item-name> Adds a name for a value inside a variable. Hex Marks the element to be displayed in hexadecimal. Decimal Marks the element to be displayed in decimal. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 86 sYmbol Ascii Marks the element to be displayed as ASCII. sYmbol Marks the element to be displayed as a pointer to a symbol. HIDE Hides the element from watch windows. BigEndian Forces access to element in BigEndian byte order. LittleEndian Forces access to element in LittleEndian byte order. LINK <linkname> Format an element as defined by the sYmbol.AddInfo.LINK command. See also ■ sYmbol.AddInfo.Address ■ sYmbol.AddInfo.Delete ■ sYmbol.AddInfo.LOADASAP2 ■ sYmbol.AddInfo.Member ■ sYmbol.AddInfo.Var ■ sYmbol.AddInfo.LINK ■ sYmbol.AddInfo.RESet ■ sYmbol.AddInfo.List ■ sYmbol.AddInfo.Type ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 87 sYmbol sYmbol.AddInfo.Address Add symbol information to fixed address Format: sYmbol.AddInfo.Address <range> | <address> <info> [<parameters>] <info>: Scaled <multiplier> [<offset> [<explanation>]] RScaled <multiplier> [<offset> [<explanation>]] All symbolic information types are described in sYmbol.AddInfo. Adds scaling information to an address or an address range ; multiply each hll variable that is located in the address range ; 0xA1080000++0xff by 1.34 and add 10. Use mVolt as unit sYmbol.AddInfo.Address 0xA1080000++0xff Scaled 1.34 +10. " mVolt" ; multiply the reciprocal contents of each hll variable that is located ; in the address range 0xA1080000++0xff by 20. and add +3.3. Use mA as ; unit sYmbol.AddInfo.Address 0xA1080000++0xff RScaled 20. +3.3 " mA" See also ■ sYmbol.AddInfo ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 88 sYmbol sYmbol.AddInfo.Delete Format: Delete information sYmbol.AddInfo.Delete <name> Deletes existing information from the given variable or type name. sYmbol.AddInfo.Var cstr1 ZSTRING sYmbol.AddInfo.Delete "cstr1" See also ■ sYmbol.AddInfo ■ sYmbol.AddInfo.RESet ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 89 sYmbol sYmbol.AddInfo.LINK Define information for “sYmbol.AddInfo” commands Format: sYmbol.AddInfo.LINK <linkname> <info> [<parameters>] <info>: NSTRING <bitmask> JSTRING ZSTRING MostDerived <struct | class> DESCRIPTOR <bitmask> <struct | class> All symbolic information types are described in sYmbol.AddInfo. Defines information for other sYmbol.AddInfo commands. sYmbol.AddInfo.List ;1. create description group 'seasons' ;2. link meaningful description to each numerical value sYmbol.AddInfo.LINK seasons enum 0 "spring" sYmbol.AddInfo.LINK seasons enum 1 "summer" sYmbol.AddInfo.LINK seasons enum 2 "fall" sYmbol.AddInfo.LINK seasons enum 3 "winter" ; equivalent to C statement symbols for ; "enum seasons {spring, summer, fall, winter};" ;link the integer variables to the description group 'seasons' sYmbol.AddInfo.Var mcount link seasons sYmbol.AddInfo.Var mstatic1 link seasons Var.Watch Var.AddWatch mcount Var.AddWatch mstatic1 Var.set mcount=0 Var.set mstatic1=1 See also ■ sYmbol.AddInfo ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 90 sYmbol sYmbol.AddInfo.List Format: List additional information sYmbol.AddInfo.List Shows all available additional information which has been declared by sYmbol.AddInfo commands. See also ■ sYmbol.AddInfo sYmbol.AddInfo.LOADASAP2 Format: Load scaling information from ASAP2 file sYmbol.AddInfo.LOADASAP2 <file> Loads the scaling and physical unit information from an ASAP2 file. See also ■ Data.LOAD.ASAP2 ■ sYmbol.AddInfo ▲ ’Release Information’ in ’Release History’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 91 sYmbol sYmbol.AddInfo.Member Add information to member of struct Format: sYmbol.AddInfo.Member <type> <member> <info> [<parameters>] <type> Name of struct | class <member> Name of struct/class element <info> Scaled <multiplier> [<offset> [<explanation>]] RScaled <multiplier> [<offset> [<explanation>]] ZSTRING MaskedPointer <mask> <offset> MostDerived <struct/class-name> ... All symbolic information types are described in sYmbol.AddInfo. Add information to specific member of a specific struct or class. sYmbol.AddInfo.Member neste c SCALED 3.4 sYmbol.AddInfo.Member nesta a SCALED 6.3 Example 1 A masked pointer is a pointer where only a part of the “pointer value” is stored. In the following example, the element ast->right is a value, whose lower 17 bits are the part of an address. The target address is calculated using the lower 17 bits and adding 0x22200000 as base address. The pointer in this example is declared using the command sYmbol.AddInfo.Member strtype1 right MaskedPointer 0x0001FFFF 0x22200000 ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 92 sYmbol Example 2 C Code: struct example{ uint32 mode : 2; } instance; enum values { on = 0, off, flicker }; PRACTICE script example: ; <classname> <member> ENUM <item-value> <item-name> sYmbol.AddInfo.Member example mode ENUM 0 "on" sYmbol.AddInfo.Member example mode ENUM 1 "off" sYmbol.AddInfo.Member example mode ENUM 2 "flicker" sYmbol.CREATE.Macro on sYmbol.CREATE.Macro off sYmbol.CREATE.Macro flicker sYmbol.CREATE.Done 0 1 2 Var.Set instance.mode=flicker See also ■ sYmbol.AddInfo ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 93 sYmbol sYmbol.AddInfo.RESet Format: Remove all additional information sYmbol.AddInfo.RESet Removes all additional information. See also ■ sYmbol.AddInfo ■ sYmbol.AddInfo.Delete ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 94 sYmbol sYmbol.AddInfo.Type Add information for a data type Format: sYmbol.AddInfo.Type <type> <info> [<parameters>] <info>: NSTRING <bitmask> JSTRING ZSTRING MostDerived <struct | class> DESCRIPTOR <bitmask> <struct | class> All symbolic information types are described in sYmbol.AddInfo. Add information to a specific data type. sYmbol.AddInfo.Type tdef2 ZSTRING ; the data type tdef2 is a zero; terminated string The following shows examples to display Symbian OS descriptors and strings correctly in the debugger window. sYmbol.AddInfo.Type "TDesC16" DESCRIPTOR 0x1xxxxxxx "TPtrC16" sYmbol.AddInfo.Type "TPtrC8" NSTRING 0x0xxxxxxx sYmbol.AddInfo.Type nextx MostDerived "TreeMFPtr" See also ■ sYmbol.AddInfo ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 95 sYmbol sYmbol.AddInfo.Var Add information for a variable Format: sYmbol.AddInfo.Var <var> <info> [<parameters>] <info>: Scaled <multiplier> [<offset> [<explanation>]] RScaled <multiplier> [<offset> [<explanation>]] ZSTRING MaskedPointer <mask> <offset> MostDerived <string> All symbolic information types are described in sYmbol.AddInfo. Adds type information to a variable. sYmbol.AddInfo.Var cstr1 ZSTRING ;The contents of cstr1 is a zero;terminated string sYmbol.AddInfo.List ;Display definition list See also ■ sYmbol.AddInfo ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 96 sYmbol sYmbol.AutoLOAD Format: Automated loading of symbols sYmbol.AutoLOAD The command sYmbol.AutoLOAD allows to automate the loading of symbol files. This is helpful if a boot loader or an RTOS downloads code to the target. To debug this downloaded code loading of the appropriate symbol information is required. The sYmbol.AutoLOAD command maintains a list for automatic loading of symbol information. This list contains: • a list of address ranges • for each address range a program name and an appropriate load command Whenever the user wants to display an address within a specified address range and TRACE32 also needs symbol information for the display the appropriate load command is automatically started. See also ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ sYmbol.AutoLOAD.CHECK sYmbol.AutoLOAD.CHECKDLL sYmbol.AutoLOAD.CHECKLINUX sYmbol.AutoLOAD.CLEAR sYmbol.AutoLOAD.List sYmbol.AutoLOAD.RESet sYmbol.AutoLOAD.TOUCH sYmbol.AutoLOAD.CHECKCoMmanD sYmbol.AutoLOAD.CHECKEPOC sYmbol.AutoLOAD.CHECKUEFI sYmbol.AutoLOAD.Create sYmbol.AutoLOAD.LOADEPOC sYmbol.AutoLOAD.SET ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 97 sYmbol sYmbol.AutoLOAD.CHECK Format: Update autoloader table sYmbol.AutoLOAD.CHECK [now | ON | OFF | ONGO] A single sYmbol.AutoLOAD.CHECK command triggers the refresh of the Autoloader table (sYmbol.AutoLOAD.List). now Update the Autoloader table now. ON If set to ON, TRACE32 updates the autoloader table after every single step and whenever the program execution is stopped. This significantly slows down the speed of TRACE32. OFF If set to OFF, no automatic update of the autoloader table is done. ONGO TRACE32 updates the autoloader table whenever the program execution is stopped. See also ■ sYmbol.AutoLOAD ▲ ’Features’ in ’RTOS Debugger for Linux - Stop Mode’ sYmbol.AutoLOAD.CHECKCoMmanD Format: Configure dynamic autoloader sYmbol.AutoLOAD.CHECKCoMmanD <load_command> The dynamic autoloader reads the target’s process table and fills the autoloader list with the modules found on the target. All necessary information, such as load addresses and space ids, are retrieved from kernel internal information. The dynamic autoloader is activated by the command sYmbol.AutoLOAD.CHECK. If an address is accessed, that is covered by the autoloader list, the autoloader calls <load_command> and appends the load addresses and the space id of the module to the action. Usually, <load_command> is a call to a PRACTICE script that handles the parameters and loads the symbols. Please see the example scripts in the demo directory. sYmbol.AutoLOAD.CHECKCoMmanD "DO autoload" sYmbol.AutoLOAD.CHECK sYmbol.AutoLOAD.List ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 98 sYmbol This command needs a kernel awareness configured for the OS running on the target. Please see the RTOS Debugger manuals for further information NOTE: The dynamic autoloader covers only modules, that are already started. Modules that are not in the current process/library table are not covered. See also ■ sYmbol.AutoLOAD sYmbol.AutoLOAD.CHECKDLL Format: Configure automatic DLL file loader sYmbol.AutoLOAD.CHECKDLL [<address>] [<load_command>] This command can only be used with Texas Instruments DSPs. If the symbol __DLModules is not available, please specify the <address> for the automatic DLL file loader. If no <load_command> is specified DO autoload is used. The automatic DLL file loader is activated by the command sYmbol.AutoLOAD.CHECK. Please refer also to the examples in ~~\files\demo\c55x\etc\dll. See also ■ sYmbol.AutoLOAD sYmbol.AutoLOAD.CHECKEPOC Configure dynamic autoloader for Symbian Format: sYmbol.AutoLOAD.CHECKEPOC <load_command> The dynamic autoloader reads the target’s process table and fills the autoloader list with the modules found on the target. All necessary information, such as load addresses and space ids, are retrieved from kernel internal information. The dynamic autoloader also covers dynamically loaded modules. The dynamic autoloader is activated by the command sYmbol.AutoLOAD.CHECK. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 99 sYmbol If an address is accessed, that is covered by the autoloader list, the autoloader calls <load_command> and appends the load addresses and the space id of the module to the action. Usually, <load_command> is a call to a PRACTICE script that handles the parameters and loads the symbols. Please see the example scripts in the demo directory. sYmbol.AutoLOAD.CHECKEPOC "DO autoload" NOTE: • • The dynamic autoloader covers only modules, that are already started. Modules that are not in the current process/library table are not covered. If a process symbol file is loaded, the dynamic autoloader adds the space id, which may be used to load the symbols to the appropriate space. See also ■ sYmbol.AutoLOAD sYmbol.AutoLOAD.CHECKLINUX Format: Configure autoloader for Linux debugging sYmbol.AutoLOAD.CHECKLINUX <action> Specifies the command that is automatically used by the Autoloader to load the symbol information. Usually a script called autoload.cmm provided by Lauterbach is used. See also ■ sYmbol.AutoLOAD ▲ ’Features’ in ’RTOS Debugger for Linux - Stop Mode’ sYmbol.AutoLOAD.CHECKUEFI Format: Configure autoloader for UEFI debugging sYmbol.AutoLOAD.CHECKUEFI <load_command> The UEFI code is provided by the boot FLASH, but debugging becomes more comfortable when debug symbols are available. TRACE32 uses the so-called Autoloader to realize the automatic loading of debug symbols whenever they are required. The command sYmbol.AutoLOAD.CHECKUEFI specifies the command that is automatically used by the Autoloader to load the symbol information. Usually a script called autoload.cmm provided by Lauterbach is used. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 100 sYmbol The command sYmbol.AutoLOAD.CHECKUEFI implicitly also defines the parameters that TRACE32 uses internally for the Autoloader. When the Autoloader is configured, the command sYmbol.AutoLoad.CHECK can be used to scan the UEFI module table and to activate the Autoloader. The command sYmbol.AutoLOAD.List allows to inspect the scanned module information. Since the UEFI module table is updated by UEFI, a re-scan might be necessary. sYmbol.AutoLOAD.CHECKUEFI "DO demo/~~/x86/uefi/h2o/autoload.cmm" sYmbol.AutoLOAD.CHECK sYmbol.AutoLOAD.List See also ■ sYmbol.AutoLOAD ▲ ’Features’ in ’UEFI BLDK Debugger’ ▲ ’Features’ in ’UEFI H2O Debugger’ ▲ ’Features’ in ’UEFI TianoCore Debugger’ sYmbol.AutoLOAD.CLEAR Format: Remove symbol information sYmbol.AutoLOAD.CLEAR <address> | <file> Remove symbol information for the specified <address> or <file>. sYmbol.AutoLOAD.CLEAR C:0x5009B420 sYmbol.AutoLOAD.CLEAR "*trkengine*" See also ■ sYmbol.AutoLOAD ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 101 sYmbol sYmbol.AutoLOAD.Create Format: Create entry for autoloader table sYmbol.AutoLOAD.Create <range> <program_name> <load_command> Specify an entry for the Autoloader table. The complete Autoloader table can be displayed with the sYmbol.AutoLOAD.List command. <program_name> Is the TRACE32 internal name for the symbol file. Please use the command sYmbol.List.Program to get this name. <load_command> Can be either a command of the Data.LOAD command group or a PRACTICE script. sYmbol.AutoLOAD.Create 0x1000--0x2fff "thumble" \ "Data.LOAD.Elf thumble.axf /NoClear /NoCODE" sYmbol.AutoLOAD.Create 0x10000--0x1ffff "can" "DO Load_CAN" See also ■ sYmbol.AutoLOAD sYmbol.AutoLOAD.List List autoloader table + Format: sYmbol.AutoLOAD.List List the Autoloader table. See also ■ sYmbol.AutoLOAD ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 102 sYmbol sYmbol.AutoLOAD.LOADEPOC Definition for static autoloader for Symbian Format: sYmbol.AutoLOAD.LOADEPOC <logfile> <load_command> [/<option>] <option>: StripPATH | CutPATH | LowerPATH StripPART <number> | <string> When generating a Symbian OS ROM image (e.g. with “buildrom”), the builder generates a log file as well (usually “rombuild.log”). This log file contains the section addresses of all modules included in the image. The static autoloader reads this log file and fills the autoloader list with the modules found in the log file with it’s appropriate load addresses. If an address is accessed, that is covered by the autoloader list, the autoloader calls <load_command> and appends the load addresses of the module to the action. Usually, <load_command> is a call to a PRACTICE script that handles the parameters and loads the symbols. Please see the example scripts in the demo directory. NOTE: • • The static autoloader addresses only modules, that are linked into the ROM image. Modules loaded to the target dynamically are not covered. The log file does not include the process id, that a process will get when started. Thus, the static autoloader loads the symbols of a process to space id zero. sYmbol.AutoLOAD.LOADEPOC "G:KERNELS\\symbian\eka1\la_001.techview.log" "DO autoload" sYmbol.AutoLOAD.LOADEPOC "G:KERNELS\\symbian\eka1\la_001.techview.log" "DO autoload" /STRIPPART "\bin" See also ■ sYmbol.AutoLOAD ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 103 sYmbol sYmbol.AutoLOAD.RESet Format: Reset autoloader sYmbol.AutoLOAD.RESet Clears the autoloader table. See also ■ sYmbol.AutoLOAD sYmbol.AutoLOAD.SET Format: Mark symbol information manually as loaded sYmbol.AutoLOAD.SET <string> | <address> The command sYmbol.AutoLOAD.Set allows to manually mark symbol information as loaded. This is helpful to suppress an error message when no symbol information was generated for a specified address range. sYmbol.AutoLOAD.Set 0x5015E030 sYmbol.AutoLOAD.Set "*efsrv*" See also ■ sYmbol.AutoLOAD ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 104 sYmbol sYmbol.AutoLOAD.TOUCH Format: Initiate automatic loading by command sYmbol.AutoLOAD.TOUCH <string> | <address> Initiate the loading of symbol information via the command line or within a script. <string> Module name, wildcards possible. <address> Any address within the address range used by a module. sYmbol.AutoLOAD.TOUCH "*efsrv*" sYmbol.AutoLOAD.TOUCH 0x50011f9c See also ■ sYmbol.AutoLOAD ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 105 sYmbol sYmbol.Browse Browse symbols See sYmbol.Browse.sYmbol See also ■ sYmbol.Browse.Class ■ sYmbol.Browse.SFunction ■ sYmbol.Browse.sYmbol ■ sYmbol.Browse.Enum ■ sYmbol.Browse.SModule ■ sYmbol.Browse.Type ■ sYmbol.Browse.Function ■ sYmbol.Browse.SOURCE ■ sYmbol.Browse.Var ■ sYmbol.Browse.Module ■ sYmbol.Browse.Struct ■ sYmbol.INFO ▲ ’Release Information’ in ’Release History’ ▲ ’The Symbol Database’ in ’Training HLL Debugging’ sYmbol.Browse.Class Format: Browse classes sYmbol.Browse.Class [<name>] Lets you browse through the list of classes that have been loaded to the internal TRACE32 symbol database with Data.LOAD. See also ■ sYmbol.Browse sYmbol.Browse.Enum Format: Browse enumeration types sYmbol.Browse.Enum [<name>] Lets you browse through the list of enumeration types that have been loaded to the internal TRACE32 symbol database with Data.LOAD. See also ■ sYmbol.Browse ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 106 sYmbol sYmbol.Browse.Function Browse functions Format: sYmbol.Browse.Function [<name_pattern> [<type_pattern>] [/<option>] <option>: Click <cmd> Delete Lets you browse through the list of functions that have been loaded to the internal TRACE32 symbol database with Data.LOAD. Alternatively, you can browse through the function list by selecting Functions from the drop-down list in the sYmbol.Browse.sYmbol window. For a description of the command line arguments, see sYmbol.Browse.sYmbol. In addition, the browser command is automatically executed when: • A symbol is entered that ends with a wildcard or • The symbol is not unique and the sYmbol.MATCH command is set to Choose. List.auto func* ;First, the symbol browser opens, where you can select ;the desired function with a double-click. ;Then the selected function is displayed in the ;List.auto window. See also ■ sYmbol.Browse ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 107 sYmbol sYmbol.Browse.Module Browse modules Format: sYmbol.Browse.Module [<name_pattern> [<type_pattern>] [/<option>] <option>: Click <cmd> Delete Lets you browse through the list of modules that have been loaded to the internal TRACE32 symbol database with Data.LOAD. Alternatively, you can browse through the module list by selecting Modules from the drop-down list in the sYmbol.Browse.sYmbol window. For a description of the command line arguments, see sYmbol.Browse.sYmbol. See also ■ sYmbol.Browse ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 108 sYmbol sYmbol.Browse.SFunction Browse functions Format: sYmbol.Browse.SFunction [<name_pattern> [<type_pattern>] [/<option>] <option>: Click <cmd> Delete Lets you browse through the list of functions that have been loaded to the internal TRACE32 symbol database with the Data.LOAD command. The S in SFunction selects the Source check box. With the Source check box selected, the names of the source files are displayed instead of the module names. Alternatively, you can browse through the function list by selecting Functions from the drop-down list in the sYmbol.Browse.sYmbol window. For a description of the command line arguments, see sYmbol.Browse.sYmbol. See also ■ sYmbol.Browse ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 109 sYmbol sYmbol.Browse.SModule Browse modules Format: sYmbol.Browse.SModule [<name_pattern> [<type_pattern>] [/<option>] <option>: Click <cmd> Delete Lets you browse through the modules that have been loaded to the internal TRACE32 symbol database with Data.LOAD. The S in SModule selects the Source check box. With the Source check box selected, the names of the source files are displayed instead of the module names. Alternatively, you can browse through the module list by selecting Modules from the drop-down list in the sYmbol.Browse.sYmbol window. For a description of the command line arguments, see sYmbol.Browse.sYmbol. See also ■ sYmbol.Browse ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 110 sYmbol sYmbol.Browse.SOURCE Browse source Format: sYmbol.Browse.SOURCE [<name_pattern> [<type_pattern>] [/<option>] <option>: Click <cmd> Delete Lets you browse through the list of source files that have been loaded to the internal TRACE32 symbol database with the Data.LOAD command. For a description of the command line arguments, see sYmbol.Browse.sYmbol. See also ■ sYmbol.Browse sYmbol.Browse.Struct Format: Browse containers for different variable types sYmbol.Browse.Struct [<name>] Lets you browse through the containers for different variable types that have been loaded to the internal TRACE32 symbol database with the Data.LOAD command. <name>: You can use the wildcards ? and * to filter the list. See also ■ sYmbol.Browse ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 111 sYmbol sYmbol.Browse.sYmbol Browse symbols Format: sYmbol.Browse.sYmbol [<name_pattern> [<type_pattern>] [/<option>] <option>: Click <cmd> Delete Lets you browse through the symbol and debug information that has been loaded to the internal TRACE32 symbol database with the Data.LOAD command. Entering an ASCII string searches for symbols beginning with this string. The Up and Down buttons can be used to navigate up and down in the symbol tree. Double-clicking a symbol in a sYmbol.Browse.sYmbol window opens the symbol in its default window. Alternatively, you can customize TRACE32’s response to the double-click by using the Click <cmd> option. An example is shown in the screenshots below. <name_pattern> Path and symbol name, or just the symbol name. <type_pattern> HLL types. The patterns support the wildcards ? and * for filtering the display in the sYmbol.Browse.* windows. Click <cmd> Command <cmd> will be executed after you double-click a symbol entry. Without the Click option, the double-clicked symbol opens in its default window. Delete Dialog will be closed after you double-click a symbol entry. See also ■ sYmbol.Browse ■ sYmbol.STATE ▲ ’The Symbol Database’ in ’Training HLL Debugging’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 112 sYmbol sYmbol.Browse.Type Format: Browse HLL types sYmbol.Browse.Type [<name>] Lets you browse through the list of HLL types that have been loaded to the internal TRACE32 symbol database with the Data.LOAD command. <name>: You can use the wildcards ? and * to filter the list. HLL types include int, char, unsigned int, int*, struct <name>, enum <name>, etc. See also ■ sYmbol.Browse ▲ ’Release Information’ in ’Release History’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 113 sYmbol sYmbol.Browse.Var Browse variables Format: sYmbol.Browse.Var[<name_pattern> [<type_pattern>] [/<option>] <option>: Click <cmd> Delete Lets you browse through the list of variables that have been loaded to the internal TRACE32 symbol database. Alternatively, you can browse through the variables list by selecting Variables from the drop-down list in the sYmbol.Browse.sYmbol window. Double-clicking a symbol in a sYmbol.Browse.sYmbol window opens the symbol in its default window. Alternatively, you can customize TRACE32’s response to the double-click by using the Click <cmd> option. An example is shown in the figure below. Double-clicking displays the selected variable in a Data.View window. For a description of the command line arguments and another example for the Click <cmd> option, see sYmbol.Browse.sYmbol. In addition, the browser command is automatically executed when: • A symbol that ends with a wildcard is entered at the TRACE32 command line or • The symbol is not unique and the sYmbol.MATCH command is set to Choose. Var.Watch vd* ;First, the symbol browser opens, where you can select ;the desired variable with a double-click. ;Then the selected variable is displayed in the ;Var.Watch window. See also ■ sYmbol.Browse ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 114 sYmbol sYmbol.CASE Format: Set symbol search mode sYmbol.CASE [ON | OFF] If the option will be set (default), there is a differentiation between small and capital letters. sYmbol.CHECK Format: Check database sYmbol.CHECK Checks the internal symbol database for errors. Can be used when the compiler output format is questionable. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 115 sYmbol sYmbol.Class Format: View class hierarchy sYmbol.Class <class> [/Nested] Displays the base classes inherited by the class as a tree. As a default the inherited classes for C++ are displayed. With the Nested option regular included structures and pointers to structures are displayed also. This allows the usage of this command for non C++ applications. E::w.y.class fstream fstream fstreambase ios iostream istream ios ostream ios display C++ classes baseclass virtual baseclass View the hierarchy of a specific class. E::w.y.class fstream /n fstream fstreambase ios union ios_user_union streambed struct __mptr ostream ios union ios_user_union streambuf ... ostream ... struct __mptr struct __mptr ios ... ios ... struct __mptr filebuf streambuf baseclass regular 'C' pointer regular 'C' member ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 116 sYmbol sYmbol.CLEANUP Format: Remove redundant symbol information sYmbol.CLEANUP Remove all double symbols, all double type information, empty type information and redundant symbols for the common bank address range. sYmbol.CLEANUP.DOUBLES Format: Make ambiguous symbols unique sYmbol.CLEANUP.DOUBLES Makes symbols loaded to the TRACE32 symbol database unique by appending two underscores and a serial number to ambiguous symbols: <ambiguous_symbol>__<serial_number> Ambiguous symbols Unique symbols after using sYmbol.CLEANUP.DOUBLES sYmbol.ColorCode Format: Enable color coding sYmbol.ColorCode [ON | OFF] Enables the source text color coding. Source color coding improves the readability of source files by using multiple colors. Enabled by default. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 117 sYmbol sYmbol.ColorDef Format: Specify color display for keywords sYmbol.ColorDef <name> <value> Specify a color used for the display of keywords in your hll code. sYmbol.ColorDef "printf" 2 ; display all printf in green All color definitions can be listed with the command sYmbol.List.ColorDef. See also ■ SETUP.COLOR ■ sYmbol.List.ColorDef ▲ ’Screen Display’ in ’IDE User’s Guide’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 118 sYmbol sYmbol.CREATE Create and modify user-defined symbols The sYmbol.CREATE command group allows to create new symbols or modify existing used defined symbols. The created symbols will be made available to the debugger with the command sYmbol.CREATE.DONE. See also ■ sYmbol.CREATE.Done ■ sYmbol.CREATE.Module ■ sYmbol.CREATE.Function ■ sYmbol.CREATE.RESet ■ sYmbol.CREATE.Label ■ sYmbol.CREATE.Var ■ sYmbol.CREATE.MACRO ■ sYmbol.NEW ▲ ’Release Information’ in ’Release History’ sYmbol.CREATE.Done Format: Finish symbol creation sYmbol.CREATE.Done Finishes the creation of new symbols and makes them available to the debugger. This command is only required for sYmbol.CREATE commands. sYmbol.NEW commands already contain this functionality, but will execute slower. sYmbol.CREATE.Label mylab1 0x1000 sYmbol.CREATE.Label mylab2 0x1010 sYmbol.CREATE.Done ; creates “mylab1” at 1000 ; creates “mylab2” at 1010 ; make labels available to program See also ■ sYmbol.CREATE sYmbol.CREATE.Function Format: Create user-defined function sYmbol.CREATE.Function <name> <addressrange> Creates symbol information for a new function. The function has no parameters or local variables. It can only be used to define a range for a piece of code (e.g. for performance analysis). Note that functions created with sYmbol.CREATE.Function will only become visible (e.g. in the sYmbol.List window) after calling sYmbol.CREATE.Done. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 119 sYmbol This is not required for sYmbol.NEW.Function which immediately commits all changes to the symbol table and thus executes slower. ; function ends before mylabel2 sYmbol.NEW.Function myfunc mylabel1--(mylabel2-1) See also ■ sYmbol.CREATE ■ sYmbol.NEW.Function sYmbol.CREATE.Label Format: Create user-defined symbol sYmbol.CREATE.Label <name> <address> Creates a new label. A label is a symbol without type information that refers to a single memory location. sYmbol.CREATE.Label mylab1 0x1000 sYmbol.CREATE.Label mylab2 0x1010 sYmbol.CREATE.Done ; creates “mylab1” at 1000 ; creates “mylab2” at 1010 ; make labels available to program sYmbol.NEW.Label mylab3 0x1020 ; ”mylab3” is available immediately See also ■ sYmbol.CREATE ■ sYmbol.NEW.Label sYmbol.CREATE.MACRO Format: Create user-defined macro sYmbol.CREATE.MACRO <name> <contents> Creates a new macro. The macro can be used like a C-preprocessor macro. Parameters can be supplied in the same way. y.new.macro MY_NEXT(p) ((p)->next) v.v MY_NEXT(myvar) ; macro is available immediately ; expands to ((myvar)->next) See also ■ sYmbol.CREATE ■ sYmbol.NEW.MACRO ▲ ’Release Information’ in ’Release History’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 120 sYmbol sYmbol.CREATE.Module Format: Create user-defined module sYmbol.CREATE.Module <name> <range> Create a user-defined module. sYmbol.CREATE.Module test 50000--5ffff sYmbol.CREATE.Done sYmbol.Browse.Module See also ■ sYmbol.CREATE ■ sYmbol.NEW.Module sYmbol.CREATE.RESet Format: Erase all user-defined symbols sYmbol.CREATE.RESet Removes all symbols defined by sYmbol.CREATE or sYmbol.NEW commands. See also ■ sYmbol.CREATE ■ sYmbol.NEW ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 121 sYmbol sYmbol.CREATE.Var Format: Create user-defined variable sYmbol.CREATE.Var <var_name> <address | range> <type> Create a user-defined variable. sYmbol.List.Type /Unnamed ; list all types sYmbol.Create.Var my_char 0x1000 char ; create variable sYmbol.Create.Done ; finish creation sYmbol.INFO my_char ; display all information ; about the created variable sYmbol.List.Type /Unnamed sYmbol.Create.Var my_abc D:0xa000 struct abc sYmbol.Create.Done sYmbol.INFO my_abc See also ■ sYmbol.CREATE ■ sYmbol.NEW.Var sYmbol.CUTLINE Format: Limit size of text blocks sYmbol.CUTLINE [<length>] The number of source lines, displayed for one high-level line is limited. This prevents the display of large parts of source text in analyzer or data windows, if the source contains many definitions. The last lines are always displayed. Without arguments function is turned off, i.e. all lines are displayed again. sYmbol.CUTLINE 3. ; display max. 3 lines for each HLL line ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 122 sYmbol sYmbol.Delete Format: Delete symbols of one program sYmbol.Delete [<program>] Deletes all symbols of one program. sYmbol.Delete \\mccp ; delete only symbols of program "mccp" sYmbol.DEMangle Format: C++ demangler sYmbol.DEMangle [OFF | ON] The first argument activates the demangler, the second enables the demangling of function arguments. y.dem off y.dem on off y.dem on -> -> -> -> get_branches__6ForestFP4Tree (ANSI) @Forest@get_branches$qp4Tree (TURBO-C++) Forest::get_branches Forest::get_branches(Tree *) sYmbol.ForEach Format: Symbol wildcard command sYmbol.ForEach “<cmd>” [<name_pattern> [<type_pattern>]] The command sYmbol.ForEach executes a PRACTICE command for each symbol matching the specified name and type patterns. The command to be executed <cmd> has to be specified with quotation marks. It may contain the characters '*' or '?' as placeholders that are replaced by the complete name of a matching symbol. The patterns are case-insensitive. Therefore lower and upper case characters are not distinguished. The following wildcards can be used in patterns expressions: '*' Matches any string, including empty strings. For the type_pattern, only symbols with HLL type information match. '?' Matches one (non-empty) character. '"' Can be used to input special characters like '*' or '?' ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 123 sYmbol Examples: sYmbol.ForEach "b.s" *func* ; will execute the command B.S <symbol> ; for all symbols containing 'func' y.fe "b.s v.end(""*"") /c" ** ; ; ; ; ; ; ; execute the command B.S v.end(<symbol>) /C which sets a “C breakpoint” to the last address of each HLL function or variable (See command sYmbol.name for more examples on wildcards) sYmbol.INFO Format: View information about symbol or address sYmbol.INFO <symbol | address> | , [/Track] Displays all information available for a symbol or an address. The physical layout of HLL variables is displayed, too. WinExt.sYmbol.INFO , /Track List.auto /Track ;display all information about the address ;currently selected in the List.auto window sYmbol.INFO D:0x2E001418 ;display all information about this address See also ■ Data.dump ■ Var.INFO ■ MMU.INFO ■ sYmbol.Browse ■ sYmbol.STATE ▲ ’Symbol Management’ in ’ICE User’s Guide’ ▲ ’The Symbol Database’ in ’Training HLL Debugging’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 124 sYmbol sYmbol.LANGUAGE Format: Select language sYmbol.LANGUAGE [<language>] Selects the language and style, that is used for HLL expressions. sYmbol.LANGUAGE MCC68K ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 125 sYmbol sYmbol.List Format: Display list of all symbols sYmbol.List [<address>] Displays a window with a list of all symbols. The list is ordered by the symbols’ addresses and scrolled so that <address> is shown at the top of the window. The <address> can be entered as a literal (e.g. P:0xFC004AB) or using a symbol path (e.g. \\sieve\page1\main). When using wildcards, the symbol path needs to evaluate to a single symbol. See also ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ sYmbol.List.ATTRibute sYmbol.List.IMPORT sYmbol.List.MAP sYmbol.List.SOURCE sYmbol.List.Type ■ ■ ■ ■ sYmbol.List.BUILTIN sYmbol.List.LINE sYmbol.List.Module sYmbol.List.STACK sYmbol.STATE sYmbol.List.ColorDef sYmbol.List.Local sYmbol.List.Program sYmbol.List.Static sYmbol.List.ATTRibute Format: ■ ■ ■ ■ sYmbol.List.Function sYmbol.List.MACRO sYmbol.List.SECtion sYmbol.List.TREE Display memory attributes sYmbol.List.ATTRibute [<address>] Displays memory attributes. Memory attributes can classify the code or execution model at a specific address. This information is highly compiler dependent. See also ■ sYmbol.List sYmbol.List.BUILTIN Format: List built-in data types sYmbol.List.BUILTIN List all built-in data types of the used programming language. See also ■ sYmbol.List ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 126 sYmbol sYmbol.List.ColorDef Format: List the keyword color definitions sYmbol.List.ColorDef Lists the color definition for the keywords of the HLL code displayed in the Data.List window (if, else, while, etc.). The class column in the sYmbol.ListColorDef window shows the currently assigned formatting class (= style in a word processing application such as OpenOffice.Org Writer). By default, the keywords are assigned to the formatting class 1, and its default color is blue. By assigning keywords to class 2 or 3, you can format keywords green or purple. If you want to pick another color for the classes 2 and 3, then click the change button in the SETUP.COLOR window. Change keyword color. This example shows how to change the color of the for keyword. To try out this script, copy it to a test.cmm file, and then step through it in TRACE32 (See “How to...”). sYmbol.List.ColorDef ;Display the keywords, their colors, and ;the classes to which the keywords are assigned SETUP.COLOR ;Display the current color settings sYmbol.ColorDef "for" 2. ;Assign the keyword 'for' to class 2 => ;'for' turns green sYmbol.ColorDef "for" 3. ;Assign the keyword 'for' to class 3 => ;'for' turns purple SETUP.COLOR 39. 255. 128. 0. ;Change the color of class 3 to orange SETUP.COLOR 39. ;Restore the default color of class 3 again sYmbol.ColorDef "for" 1. ;Apply class 1 to the 'for' keyword again A PRACTICE script that adds more keywords to the sYmbol.List.ColorDef window is included in your TRACE32 installation. To access the script, run this command: B::CD.PSTEP ~~\demo\practice\colors\syntaxcolor.cmm See also ■ SETUP.COLOR ■ sYmbol.ColorDef ■ sYmbol.List ▲ ’Screen Display’ in ’IDE User’s Guide’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 127 sYmbol sYmbol.List.Function Format: Display functions sYmbol.List.Function [<address>] The location and further related information about the loaded functions are displayed. See also ■ sYmbol.List ▲ ’Symbol Management’ in ’ICE User’s Guide’ sYmbol.List.IMPORT Format: List imported symbols sYmbol.List.IMPORT List the symbols that are loaded by imported DLLs (required e.g. for Symbian or Windows CE). See also ■ sYmbol.List ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 128 sYmbol sYmbol.List.LINE Format: Display source lines sYmbol.List.LINE [<address>] The location and further related information about the loaded lines are displayed. See also ■ sYmbol.List ▲ ’Symbol Management’ in ’ICE User’s Guide’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 129 sYmbol sYmbol.List.Local Format: Display local symbols sYmbol.List.Local [<address>] Displays all symbols local to functions and blocks. See also ■ sYmbol.List ▲ ’Symbol Management’ in ’ICE User’s Guide’ sYmbol.List.MACRO Format: List all C macros sYmbol.List.MACRO List all C macros. C macros can either be loaded with Data.LOAD <file> /MACRO or they can be created with the command sYmbol.Create.MACRO. See also ■ sYmbol.List ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 130 sYmbol sYmbol.List.MAP Format: Display memory load map sYmbol.List.MAP [<address>] Displays address ranges where code was saved during download and the order in which the code was saved. Can be used to find out "where the code has gone". See also ■ sYmbol.List sYmbol.List.Module Format: Display modules sYmbol.List.Module [<address>] Information about the loaded models are displayed, e.g. the location or the loaded source file. See also ■ sYmbol.List ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 131 sYmbol sYmbol.List.Program Format: Display programs sYmbol.List.Program The location and further related information about the loaded programs are displayed. See also ■ sYmbol.List ▲ ’Symbol Management’ in ’ICE User’s Guide’ sYmbol.List.SECtion Format: Display physical sections sYmbol.List.SECtions [<address>] The logical address range, physical address range and access rights for the sections are displayed. See also ■ sYmbol.List ▲ ’Flag Memory’ in ’Training ICE Basics’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 132 sYmbol sYmbol.List.SOURCE Format: Display source file names sYmbol.List.SOURCE [/ERRORS] If a files with debug information is loaded (Data.LOAD.<subcommand>), this file also provides the paths for the hll (C/C++/JAVA etc.) source files. The command sYmbol.List.SOURCE lists the file names and paths in the source column. module Path of the compiled file as it is maintained by TRACE32. source Source path for C/C++/JAVA source file after the completion of the Data.LOAD.<subcommand> command. file Source path from which the C/C++/JAVA source file was actually loaded. Required adjustments of the source path can be performed with the help of the sYmbol.SourcePATH command group. size Size information as provided by the loaded file. time Time information as provided by the loaded file. state The state loaded indicates that the C/C++/JAVA source file was loaded successfully. The state error indicates that the C/C++/JAVA source file could not be loaded. Modules tagged with error are printed in red. sYmbol.List.SOURCE /ERRORS // Advise TRACE32 PowerView to display // only modules tagged with error. Resolve Path in the Source context menu opens a dialog to choose the correct path for the selected module/source. TRACE32 uses the selection to fix all source paths. The result can be inspected via the sYmbol.SourcePATH.List command. The procedure is as follows: • Absolute paths are fixed with the help of the command sYmbol.SourcePATH.Translate. • Relative paths are fixed with the help of the command sYmbol.SourcePATH.SetBaseDir. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 133 sYmbol See also ■ sYmbol.List ▲ ’Symbol Management’ in ’ICE User’s Guide’ ▲ ’Release Information’ in ’Release History’ sYmbol.List.STACK Format: Display virtual stack sYmbol.List.STACK [<address>] Displays information about virtual stack pointers. This information is highly compiler dependent. See also ■ sYmbol.List sYmbol.List.Static Format: Display static symbols sYmbol.List.Static [<address>] Displays all symbols with a fixed address. See also ■ sYmbol.List ▲ ’Symbol Management’ in ’ICE User’s Guide’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 134 sYmbol sYmbol.List.TREE Format: Display symbols in tree form sYmbol.List.TREE Displays modules, symbols and variables in tree from. See also ■ sYmbol.List sYmbol.List.Type Format: Display data types sYmbol.List.Type [/Unnamed] All data types used by the compiler are displayed. The Unnamed option displays also unnamed types, e.g. "char *". See also ■ sYmbol.List ▲ ’Symbol Management’ in ’ICE User’s Guide’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 135 sYmbol sYmbol.LSTLOAD Load assembler source file Using the sYmbol.LSTLOAD command group, you can load various formats of assembler list files for source text debugging on assembler level. See also ■ sYmbol.LSTLOAD.GHILLS ■ sYmbol.LSTLOAD.INTEL ■ sYmbol.LSTLOAD.OAK ■ sYmbol.LSTLOAD.HPASM ■ sYmbol.LSTLOAD.KEIL sYmbol.LSTLOAD.GHILLS Format: ■ sYmbol.LSTLOAD.IAR ■ sYmbol.LSTLOAD.INT68K ■ sYmbol.LSTLOAD.MicroWare ■ sYmbol.LSTLOAD.MRI68K Load GHILLS assembler source file sYmbol.LSTLOAD.GHILLS <module>|<program> <filename> [<baseaddr>] Loading of a GHILLS assembler list file for source text debugging on assembler level. If the base address of the module doesn’t fit, the base address will be given as an argument. See also ■ sYmbol.LSTLOAD sYmbol.LSTLOAD.HPASM Load HP assembler source file Format: sYmbol.LSTLOAD.HPASM <module>|<program> <filename> [<base>] Format: sYmbol.LSTLOAD.HPASM2 <module>|<program> <filename> [<base>] Loading of an HP assembler list file for source text debugging on assembler level. If the base address of the module doesn't fit, the base address will be given as an argument. If a program name is given, the module entry will be generated from the file name of the list file. The different commands load different HP assembler list file formats. The debugging can be controlled by the following assembler comments: ; T32-ORG To mark lines including ORG statements. ; T32-OFF ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 136 sYmbol To switch of the source text debugging. The debugging must be switched of for lines containing data statements or definitions (i.e. lines which address column not containing a program address). Include files, which shall not be displayed, must be switched off also. NOTE: The source line numbers will not match in this case, as the relation to the original source is lost. ;T32-ON Reactivation of the debugging function. d.load.hp sps y.lstload.hpasm \SPS1 sps1.lst y.lstload.hpasm \SPS2 sps2.lst ; load the module and symbols ; load the source lines for module 1 ; load the source lines for module 2 See also ■ sYmbol.LSTLOAD ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 137 sYmbol sYmbol.LSTLOAD.IAR Format: Load IAR assembler source file sYmbol.LSTLOAD.IAR <module>|<program> <filename> [<baseaddr>] Loading of a IAR assembler list file for source text debugging on assembler level. If the base address of the module doesn't fit, the base address will be given as an argument. The first comment line of the file (beginning with '*') must start in the first column of the source text! The debugging can be controlled by the following assembler comments: *T32-ORG To mark lines including ORG statements. *T32-OFF To switch of the source text debugging. The debugging must be switched of for lines containing data statements or definitions (i.e. lines which address column not containing a program address). Include files, which shall not be displayed, must be switched off also. NOTE: The source line numbers will not match in this case, as the relation to the original source is lost. *T32-ON Reactivation of the debugging function. See also ■ sYmbol.LSTLOAD ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 138 sYmbol sYmbol.LSTLOAD.INT68K Format: Load Intermetrics assembler source file sYmbol.LSTLOAD.INT68K <module>|<program> <filename> [<baseaddr>] Loading of a Intermetrics assembler list file for source text debugging on assembler level. If the base address of the module doesn't fit, the base address will be given as an argument. The debugging can be controlled by the following assembler comments: *T32-ORG To mark lines including ORG statements. *T32-OFF To switch of the source text debugging. The debugging must be switched of for lines containing data statements or definitions (i.e. lines which address column not containing a program address). *T32-ON Reactivation of the debugging function. See also ■ sYmbol.LSTLOAD sYmbol.LSTLOAD.INTEL Format: Load INTEL assembler source file sYmbol.LSTLOAD.INTEL <module>|<program> <filename> [<baseaddr>] Loading of a INTEL assembler list file for source text debugging on assembler level. If the base address of the module doesn't fit, the base address will be given as an argument. See also ■ sYmbol.LSTLOAD ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 139 sYmbol sYmbol.LSTLOAD.KEIL Format: Load Keil assembler source file sYmbol.LSTLOAD.KEIL <module> <filename> [<base>] Loading of an KEIL (8051) assembler list file for source text debugging on assembler level. The base address is optional, it is used when the address sections are unknown. See also ■ sYmbol.LSTLOAD sYmbol.LSTLOAD.MicroWare Format: Load MICROWARE assembler source file sYmbol.LSTLOAD.MicroWare <module>|<program> <filename> [<base>] Loading of a MICROWARE assembler list file for source text debugging on assembler level. If the base address of the module doesn't fit, the base address will be given as an argument. If a program name is given, the module entry will be generated from the file name of the list file. d.load.rof sps /map y.LSTload.mw \\SPS sps1.lst 0x1000 y.LSTload.mw \\SPS sps2.lst 0x1200 ; ; ; ; ; load the module and symbols load the source lines for module 1 load the source lines for module 2 See also ■ sYmbol.LSTLOAD sYmbol.LSTLOAD.MRI68K Format: Load MICROTEC assembler source file sYmbol.LSTLOAD.MRI68K <module>|<program> <filename> [<baseaddr>] Loading of a MICROTEC assembler list file for source text debugging on assembler level. If the base address of the module doesn't fit, the base address will be given as an argument. The first comment line of the file (beginning with '*') must start in the first column of the source text! The debugging can be controlled by the following assembler comments: *T32-ORG ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 140 sYmbol To mark lines including ORG statements. *T32-OFF To switch of the source text debugging. The debugging must be switched of for lines containing data statements or definitions (i.e. lines which address column not containing a program address). *T32-ON Reactivation of the debugging function. See also ■ sYmbol.LSTLOAD sYmbol.LSTLOAD.OAK Format: Load OAK assembler source file sYmbol.LSTLOAD.OAK <module>|<program> <filename> [<base>] Loading of a OAK assembler list file for source text debugging on assembler level. See also ■ sYmbol.LSTLOAD ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 141 sYmbol sYmbol.MARKER Fine-tune the nested function run-time analysis The sYmbol.MARKER commands are intended for very advanced users only. The commands are used for fine-tuning the nesting function run-time analysis, typically in conjunction with the Trace.STATistic.Func command. Markers can be used to handle special cases for nesting trace statistics. Please contact Lauterbach support before using the sYmbol.MARKER commands. The sYmbol.MARKER commands let you create markers for symbols, display them in a list window, delete individual markers, and reset all markers. The following example is just intended to illustrate these actions: ;Display the marker list window sYmbol.MARKER.List ;Create function entry markers for the functions func1, main sYmbol.MARKER.Create FENTRY func1 sYmbol.MARKER.Create FENTRY main ;Create function exit markers sYmbol.MARKER.Create FEXIT sYmbol.EXIT(func1) sYmbol.MARKER.Create FEXIT sYmbol.EXIT(main) ;Delete an individual function entry marker sYmbol.MARKER.Delete func1 ;Delete an individual function exit marker sYmbol.MARKER.Delete sYmbol.EXIT(main) ;Delete all markers sYmbol.MARKER.RESet See also ■ sYmbol.MARKER.Create ■ sYmbol.MARKER.Delete ■ sYmbol.MARKER.List ■ sYmbol.MARKER.RESet ▲ ’Release Information’ in ’Release History’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 142 sYmbol sYmbol.MARKER.Create Create marker for nesting function run-time analysis Format: sYmbol.MARKER.Create <type> <instruction_address> sYmbol.CREATE.MARKER (deprecated) sYmbol.NEW.MARKER (deprecated) <type>: KENTRY | KEXIT | KBACKDOOR | KBEGIN | KEND | KFROM | KTO | KLEAVE | FENTRY | KFENTRY | IFENTRY | ILEAVE | FEXIT | FEXITINIT | FEXITCLEANUP | FBACKDOOR | KFBACKDOOR | CLEANUP | CLEANUP2 | IGNORE | IGNOREFROM | IGNORETO | CALL | JUMP | BYJUMP | TASKSWITCH | CORRELATE Nesting function run-time analysis commands likeTrace.STATistic.Func process the trace information to reconstruct the function call hierarchy. The focus is put on the transitions between functions. The following events are of interest: • Function entries/exits • Task switches • Entries/exits of interrupt service routines • Entries/exits of TRAP handlers Optimization of the OS and the compiler as well as the technology used for the trace generation may disturb the reconstruction of the call hierarchy. As a result nesting function run-time analysis fails. Markers are a mean to feed TRACE32 with additional information that help to pass blocking points in the analysis. sYmbol.MARKER.Create KENTRY os_prologue ; mark the address os_prologue ; as kernel entry point sYmbol.MARKER.Create KEXIT os_epilogue ; mark the address os_epilogue ; as kernel exit point sYmbol.MARKER.List ; list all markers The command sYmbol.MARKER.List provides a list of all created markers. KENTRY/KEXIT/KBACKDOOR Marker A detailed description of the usage of the markers is given at the command description of Trace.STATistic.TASKKernel and Trace.STATistic.TASKFunc. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 143 sYmbol sYmbol.MARKER.Create KENTRY os_prologue ; mark the address ; os_prologue ; as kernel entry point sYmbol.MARKER.Create KEXIT os_epilogue ; mark the address ; os_epilogue ; as kernel exit point sYmbol.MARKER.List ; list all markers FENTRY/FEXIT/FBACKDOOR Marker FENTRY <address> Mark <address> as function entry. FEXIT <address> Mark <address> as function exit. FBACKDOOR <address> Mark <address> as function entry. TRACE32 ignores this function entry in the trace evaluation if a prior function entry was detected. A detailed description of the usage of the markers is given at the command description of Trace.STATistic.Func. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 144 sYmbol CORRELATE Marker Purpose: Solve issues of trace export technology. CORRELATE markers allows to assign read/write accesses to instructions. If trace information is exported for all executed instructions but only for selected read/write accesses, an exact assignment of an read/write access to the load/store operation is not possible in most cases. The read/write access is displayed in the Trace Listing in red before the next exported instruction information (ptrace). This behavior may disturb the reconstruction of the call hierarchy in the following case: A task switch occurs (write access to variable holding the task ID) and then a function is called, but in the Trace Listing the task switch is displayed after the function call. As a result the function is hooked into the wrong call tree. More the one CORRELATE marker is possible as long as its address is unique between two ptrace packets. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 145 sYmbol In the example below, the write access to the task identifier (TASK.CONFIG(magic)) and all instructions are exported via a Nexus port (MPC5646). … NEXUS.BTM ON NEXUS.HTM ON Break.Set TASK.CONFIG(magic) /Write /TraceData … ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 146 sYmbol For the reconstruction of the call hierarchy and an accurate timing the write access of the task ID has to be assigned exactly to the corresponding instruction. For this purpose a CORRELATE marker can be used. sYmbol.MARKER.Create CORRELATE V:4000105C See also ■ sYmbol.MARKER ▲ ’Release Information’ in ’Release History’ sYmbol.MARKER.Delete Format: Delete a marker sYmbol.MARKER.Delete <address> Deletes the specified marker. To delete all markers, use sYmbol.MARKER.RESet. See also ■ sYmbol.MARKER ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 147 sYmbol sYmbol.MARKER.List Format: Displays the marker list sYmbol.MARKER.List [<address>] sYmbol.List.MARKER [<address>] (deprecated) Opens the sYmbol.MARKER.List window, displaying the list of markers created with sYmbol.MARKER.Create. A detailed description of the usage of the markers is given at the command description of Trace.STATistic.TASKKernel and Trace.STATistic.TASKFunc. See also ■ sYmbol.MARKER sYmbol.MARKER.RESet Format: Erase all markers sYmbol.MARKER.RESet Removes all markers created with sYmbol.MARKER.Create. See also ■ sYmbol.MARKER ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 148 sYmbol sYmbol.MATCH Format: Symbol search mode sYmbol.MATCH [Exact | Best | Choose] Defines the behavior when a symbol is not unique. Exact Refuses any symbols that are not unique. This adjustment is useful for regression test and automatic batch scripts. Best Takes the best matching symbol. This is the default. Choose Opens a symbol browser to choose from one of the symbols. This is useful for choosing between different overloaded methods in C++. See also ■ Data.Find sYmbol.MEMory Format: Display memory usage sYmbol.MEMory Displays a summary of memory used by the different components of the symbol table. The results are written to area 0 (display with AREA command). ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 149 sYmbol sYmbol.Modify Format: Modify symbols sYmbol.Modify This command group allows to modify the symbol table or add additional information to existing symbols and types. See also sYmbol.RELOCate. See also ■ sYmbol.Modify.Access ■ sYmbol.Modify.SOURCE ■ sYmbol.Modify.ADDRess ■ sYmbol.Modify.CutFunction ■ sYmbol.Modify.NAME ▲ ’Release Information’ in ’Release History’ sYmbol.Modify.Access Format: Modify access of symbols sYmbol.Modify.Access <class:> [<symbolpath>|<range>] Modifies the memory access class of symbols. The symbol path limits the modification to special symbols of a module or a program. If an address range is given, only the symbols in this range will be modified. The command is useful in combination with the automatic symbol relocation feature, when constants are placed in ROM. y.m.a d:0x1000--0x1fff ; all symbols in the range get the memory ; access class d: y.m.a p: y.secrange(const) ; all symbols in the 'const' section get ; the memory access class p: See also ■ sYmbol.Modify ■ sYmbol.Modify.SOURCE ■ sYmbol.Modify.ADDRess ■ sYmbol.Modify.CutFunction ■ sYmbol.Modify.NAME ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 150 sYmbol sYmbol.Modify.ADDRess Format: Modify address of symbols sYmbol.Modify.ADDRess <symbol> <address>|<range> Modifies the start address or address range of a symbol, module, program or function. y.m.addr \mymodule 0x1000--0x1fff ; assign new range to module See also ■ sYmbol.Modify ■ sYmbol.Modify.SOURCE ■ sYmbol.Modify.Access ■ sYmbol.Modify.CutFunction sYmbol.Modify.CutFunction Format: ■ sYmbol.Modify.NAME Reduce function address information sYmbol.Modify.CutFunction <range> | <address> Reduce the address range information for the defined functions to a single address. This command is used only in very special cases. sYmbol.List.Function sYmbol.Modify.CutFunction 0x104c++0xff See also ■ sYmbol.Modify ■ sYmbol.Modify.Access ■ sYmbol.Modify.ADDRess ■ sYmbol.Modify.SOURCE ▲ ’Release Information’ in ’Release History’ sYmbol.Modify.NAME Format: Rename symbols sYmbol.Modify.NAME <symbolname> | <newname> Renames symbols y.m.name vtripplearray tt ; renames vtriplearray to tt See also ■ sYmbol.Modify ■ sYmbol.Modify.Access ■ sYmbol.Modify.ADDRess ■ sYmbol.Modify.SOURCE ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 151 sYmbol sYmbol.Modify.SOURCE Define source file + Format: sYmbol.Modify.SOURCE <module> <filename> Defines the source file name for a given module. The command can be used, when the names or directories of source files have been changed after compilation. y.m.source \mod1 ..\src\mod2.c ; use source file mod2.c for module ; 'mod1' See also ■ sYmbol.Modify ■ sYmbol.Modify.NAME ■ sYmbol.Modify.Access ■ sYmbol.Modify.ADDRess ■ sYmbol.Modify.CutFunction ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 152 sYmbol sYmbol.name Display symbols Format: sYmbol.name [<name_pattern> [<type_pattern>] [/<option>] <option>: Click <cmd> Delete Displays symbols sorted alphabetically. Lower and upper case characters are not distinguished. For mangled C++ symbols the search order is based on the function signatures. A complex search function is implemented to find symbol name very fast, if the complete name will be not known. The search patterns are: '*' Matches any string, empty strings too. '?' Matches any character, but not an empty character. '"' Can be used to input special characters like '*' or '?' If the wildcard '*' is defined for the type_pattern, only symbols with HLL type information are extracted. The C++ demangler for the symbols is used, if the pattern contains the characters '(' or ':'. Examples: y ; displays all symbols y *\* ; displays all local symbols y \*\* ; displays all local symbols of global ; functions and module local symbols y \mcc\* ; displays all symbols local to module 'mcc' y func9\* ; displays all symbols local to function 'func9' y i ; displays all symbols with the name 'i' y \mcc\*\i ; displays all local symbols in module 'mcc' with ; the name 'i' y \m*\f*\i* ; ; ; ; y * * ; displays all symbols with HLL type information y * *ptr ; displays all symbols, which have an HLL type ; that ends with 'ptr', e.g. 'intptr' displays all local symbols with the symbol name beginning with 'i' in all functions with function names beginning with 'f' in all modules beginning with 'm' ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 153 sYmbol y * char * ; displays all symbols, which have an HLL type ; that begins with the text 'char ', ; e.g. 'char *', 'char [10]', 'char &' y * char "*" ; displays all symbols with HLL type of 'char *' y * *"*"* ; displays all symbols with type names, that ; contain a '*' y ops::operator* ; displays all operators defined for the ; C++ class 'ops' y operator* ; ; ; ; y *::operator*(int) ; display all operator of all classes, that ; have only one argument of type 'int' will search for all symbols, beginning with the string 'operator' NOTE: the demangler is not active, so no operators of C++ classes are listed! The Click option can define a command, that can be executed by a short click with the left mouse button. The characters '*' or '?' can be used as placeholder for the complete name of the symbol. Using the '*' will force the command to be executed without further interaction and without leaving the window. The character '?' will cause the cursor to leave the window and build a command line, that can be modified before entering. The option Delete deletes the window after the selection has been made. Examples (see also sYmbol.ForEach): y * /c "b.s" ; will execute the command B.S <symbol> y * /c "b.s * /a" ; will execute the command B.S <symbol> /A y * /c "v.v ?" ; will build a command line V.V <symbol> and ; leave the symbol window ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 154 sYmbol The address based softkeys are available by pressing the left mouse button. Short clicking the left button can execute the command defined by the option Click. The default is the command Data.List. Pressing one of the softkeys leaves the window, and builds a command line according to the softkey and symbol. E::w.y path C\_func13a\ CC\_func13\ \\MCC\ \\MCC\ \\MCC\ \\MCC\ MCC\_sieve\ background\ background\ \\MCC\ \\MCC\ \\MCC\ C\_func13a\ CC\_func13\ \\MCC\ symbol c c _chkstk_ close _close close_ count count1 count2 crt0 _crt0 crt0_ d d daddsub type (auto short) (auto short) MODULE (auto short) (auto long) (auto long) MODULE (auto short) (auto short) MODULE sYmbol.NAMESPACES Format: Search symbol in C++ namespace sYmbol.NAMESPACES [<namespace>] This command configures the debugger to search in the specified C++ namespaces for a debug symbol. If the debug symbol cannot be found in the global namespace and the debug symbol is referred without scope operator (e.g. inside a namespace {} section or after a using <namespace> declaration, the debugger will search in the namespaces specified by this command. sYmbol.NAMESPACES std ;search debug symbols in namespace std if debug symbol not found in current context ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 155 sYmbol sYmbol.NEW Format: Create new symbol sYmbol.NEW <name> <address> | <range> The sYmbol.NEW command group allows to create new symbols or modify existing user-defined symbols. The command sYmbol.CREATE has the same functionality, but executes faster when multiple symbols are created. See also ■ sYmbol.CREATE ■ sYmbol.NEW.Label ■ sYmbol.CREATE.RESet ■ sYmbol.NEW.MACRO ■ sYmbol.NEW.ATTRibute ■ sYmbol.NEW.Module ■ sYmbol.NEW.Function ■ sYmbol.NEW.Var ▲ ’Release Information’ in ’Release History’ sYmbol.NEW.ATTRibute Create user-defined memory attribute Format: sYmbol.NEW.ATTRibute <attribute> <start_address | addressrange> <attribute>: DEFault <architecture_specific_attributes> Creates a user-defined memory attribute, e.g. for program code, data code, access width, etc. Memory attributes tell TRACE32 how to interpret memory content. If attributes are missing in the debug information of your symbol file, e.g. an ELF file, you can create the attributes with sYmbol.NEW.ATTRibute. DEFault Memory content is interpreted based on the current processor state. <architecture_ specific_attributes> The softkeys below the TRACE32 command line display the available memory attributes. • For a selection of memory attributes for various architectures, see below. • For more information about available memory attributes, refer to the design manual of the respective architecture. ;open window, displaying the memory attributes per address range sYmbol.List.ATTRibute ;create an attribute for a data address range without DATA attribute sYmbol.NEW.ATTRibute DATA D:10004138--10004193 ;display all available information about an address including its attr. sYmbol.INFO D:10004138 ;this code is now interpreted as data List.Mix D:10004138 ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 156 sYmbol Selection of Memory Attributes for Various Architectures Memory attributes for the ARM architecture: ARM Code of A32, ARM 32-bit instruction set THUMB Code of T32, Thumb/Thumb-2/ThumbEE instruction set AARCH64 Code of A64, ARM 64-bit instruction set DATA Data Memory attributes for the ARC architecture: CODE Program code DATA.Byte 8-bit data DATA.Word 16-bit data DATA.Long 32-bit data Memory attributes for the PowerPC architecture: FLE Code of standard PowerPC instruction set VLE Code of Variable Length Encoding DATA Data Memory attributes for the TI-TMS320C55x architecture: BYTE Tells TRACE32 to interpret code in byte-pointer mode. Corresponds to SYStem.Option ByteMode BYTE for the specified <address_range>. WORD Tells TRACE32 to interpret code in word-pointer mode. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 157 sYmbol Memory attributes for the Intel x86 architecture: USE16 16-bit mode USE32 32-bit mode USE64 64-bit mode NOTE: The Intel Processor Trace does not include any information whether it is in 16, 32, or 64 bit mode. Using the above memory attributes, you can tell TRACE32 how to disassemble correctly. See also ■ sYmbol.NEW ▲ ’Release Information’ in ’Release History’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 158 sYmbol sYmbol.NEW.Function Format: Create user-defined function sYmbol.NEW.Function <name> <addressrange> Creates a new function. The function has no parameters or local variables. It can only be used to define a range for a piece of code (e.g. for performance analysis). y.new.f myfunc mylabel1--(mylabel2-1) ; function ends before mylabel2 See also ■ sYmbol.CREATE.Function ■ sYmbol.NEW sYmbol.NEW.Label Format: Create user-defined symbol sYmbol.NEW.Label <name> <address> Creates a new label. A label is a symbol without type information that refers to a single memory location. sYmbol.CREATE.Label mylab1 0x1000 sYmbol.CREATE.Label mylab2 0x1010 sYmbol.CREATE.Done ; creates “mylab1” at 1000 ; creates “mylab2” at 1010 ; make labels available to program sYmbol.NEW.Label mylab3 0x1020 ; ”mylab3” is available immediately See also ■ sYmbol.CREATE.Label ■ sYmbol.NEW ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 159 sYmbol sYmbol.NEW.MACRO Format: Create user-defined macro sYmbol.NEW.MACRO <name> <contents> Creates a new macro. The macro can be used like a C-preprocessor macro. Parameters can be supplied in the same way. y.new.macro MY_NEXT(p) ((p)->next) ; macro is available immediately v.v MY_NEXT(myvar) ; expands to ((myvar)->next) See also ■ sYmbol.CREATE.MACRO ■ sYmbol.NEW ▲ ’Release Information’ in ’Release History’ sYmbol.NEW.Module Format: Create user-defined module sYmbol.NEW.Module <name> <contents> Define a new module. sYmbol.NEW.Module \\new 0x2000--0x2fff sYmbol.Browse.Module See also ■ sYmbol.CREATE.Module ■ sYmbol.NEW ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 160 sYmbol sYmbol.NEW.Var Format: Create user-defined variable sYmbol.NEW.Var <var_name> <address | range> <type> Create a user-defined variable. sYmbol.List.Type /Unnamed ; list all types sYmbol.NEW.Var my_char 0x1000 char ; create variable sYmbol.INFO ; display all information ; about the created variable my_char sYmbol.List.Type /Unnamed sYmbol.NEW.Var my_abc D:0xa000 sYmbol.INFO // structure my_abc of type abc my_abc struct abc sYmbol.NEW.Var MyCharArray D:0x1200 sYmbol.INFO // character array with 50 elements MyCharArray char[50] sYmbol.NEW.Var MyPtrArray D:0x1400 sYmbol.INFO // unsigned short pointer array with 25 el. MyPtrArray unsigned short *[25] See also ■ sYmbol.CREATE.Var ■ sYmbol.NEW ▲ ’Release Information’ in ’Release History’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 161 sYmbol sYmbol.OVERLAY Code overlay Using the sYmbol.OVERLAY command group, TRACE32 can be configured to debug targets that execute and switch between code overlays. To enable overlay support, use SYStem.Option.OVERLAY. Code overlays are characterized by utilizing the same address range in the target for executing different code at different times. This requires switching between different code segments in physical memory at runtime. As a result, multiple program symbols can refer to the same address range and may refer to program code that currently is not present in physical memory. This requires configuration of TRACE32. See also ■ sYmbol.OVERLAY.AutoID ■ sYmbol.OVERLAY.List ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ■ sYmbol.OVERLAY.Create ■ sYmbol.OVERLAY.RESet ■ sYmbol.OVERLAY.DETECT ■ sYmbol.OVERLAY.FRIEND ’CPU specific SYStem Commands’ in ’ARC Debugger’ ’ARM specific SYStem Commands’ in ’ARM Debugger’ ’ARM specific SYStem Commands’ in ’ARMv8-A Debugger’ ’DSP specific SYStem Commands’ in ’TMS320C5X Debugger’ ’Cortex-M specific SYStem Commands’ in ’Cortex-M Debugger’ ’Command Reference: SYStem.Option Commands’ in ’Qorivva MPC5xxx/SPC5xx Debugger and NEXUS Trace’ ’CPU specific SYStem Commands’ in ’PPC400/PPC440 Debugger and Trace’ ’CPU specific System Commands’ in ’PPC600 Family Debugger’ ’CPU specific SYStem Commands’ in ’MPC5xx/8xx Debugger and Trace’ ’CPU specific SYStem Commands’ in ’PQIII Debugger’ ’CPU specific SYStem Commands’ in ’QorIQ Debugger and NEXUS Trace’ ’CPU specific SYStem Commands’ in ’MPC56x NEXUS Debugger and Trace’ ’ARM specific SYStem Commands’ in ’Simulator for ARM and XSCALE’ ’General SYStem Commands’ in ’Simulator for PowerPC’ sYmbol.OVERLAY.AutoID Format: Automatically determine overlay IDs sYmbol.OVERLAY.AutoID [OVS: | VM:] Calculates a unique identifier for each overlay currently present in the system. OVS: (default) Read the overlay code from the overlay storage area (OVS). VM: To increase detection speed, TRACE32 can read the overlay code from the debugger VM:. This requires that the code was loaded to the execution area (/codesec) inside the segmented (/overlay) debugger virtual memory (/vm) with a command like Data.LOAD.Elf <filename> /overlay /codesec /nosymbol /vm ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 162 sYmbol To detect which overlay is currently active (i.e. present in the execution area), the debugger uses unique identifiers based on the overlays’ contents. The method sYmbol.OVERLAY.AutoID calculates these identifiers for all currently declared overlay section. Therefore before using it, all code overlay sections have to be known to TRACE32 (through debug information or by explicit declaration) and the application code has to be present in memory. The unique identifier is often called “magic ID” (making reference to the arbitrary value) and is comprised of a “magic” ID value present on a corresponding ID address. It is found by comparing the contents of the overlay sections and searching for a pair that uniquely identifies each of them. By default the algorithm reads the overlays from the storage areas. To speed up the process, copy the program to the debugger VM: and use the option VM: (see there for details). There are two ways for TRACE32 to know about the target program’s overlays: • In case of “Relocation-based Code Overlay Support”, TRACE32 reads information about overlay sections from the ELF file. This requires special build settings and using the option /overlay with Data.LOAD.Elf <filename> /overlay • When using “File-based Code Overlay Support”, you have to manually declare all sections and source files (more generally: all DWARF-modules) before loading your ELF file. The declaration is done with the command sYmbol.OVERLAY.Create. NOTE: To avoid problems with software breakpoints, sYmbol.OVERLAY.AutoID only uses ID addresses that do not correspond to HLL lines in the segment. NOTE: OVS stands for “OVerlay Storage area”. Besides being a parameter, OVS: is also a memory class specifier for accessing the overlay sections at their so-called storage area: the address it is stored at before being copied to an execution area (the address at which the overlay is executed). See also ■ sYmbol.OVERLAY sYmbol.OVERLAY.Create Format: Declare code overlay section sYmbol.OVERLAY.Create <execution addr.range | overlay segment ID>, [<ID address>], [<ID value>], <ELF-section-name>, [<DWARF-module>], [<storage address>] Declares a code overlay section and its corresponding modules. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 163 sYmbol Typically this command is only used for “File-based Code Overlay Support” i.e. when the overlays are contained in different executable files (e.g. ELF files). In this case you have to declare all sections and source files (more generally: all DWARF-modules) before loading the executable files so that the load command (e.g. via Data.LOAD.Elf <filename> /overlay) can copy the object code to the corresponding OVS: memory. In case of “Relocation-based Code Overlay Support”, manual declaration of the sections is not required, because they are declared automatically based on information contained in the ELF file when it is loaded using the option /overlay (Data.LOAD.Elf <filename> /overlay). Despite this sYmbol.OVERLAY.Create can be useful e.g. in order to define an overlay segment ID for all code sections. For details regarding the parameters see the following table: execution addr.range or overlay segment ID Address range where the code overlay section gets executed. You have to specifies also one unique segment ID for all sections which belong to one overlay page (overlay pages overlap each other). e.g. P:0x42:0x1000-1fff In most cases it is enough just to specify the segment ID (here 0x42), since the debugger can normally find the execution addresses in the ELF section table by using the ELF-section-name. ID address, ID value The (ID address x ID value) pair specifies a “magic” ID that uniquely identifies the overlay section when it is present at its execution address. For details regarding the ID see sYmbol.OVERLAY.AutoID which allows autodetecting the ID. ELF-section-name Unique name for the overlay code section as used in your ELF file. e.g. ".page1" The section names are normally defined in your linker script used for building your ELF file. In TRACE32 you can view the sections of a loaded ELF with command sYmbol.List.SECtion. From a system shell (cmd.exe / bshell) you can view the available section names e.g. with the GNU command readelf -S <ElfFile> When using overlay sections from different ELF files you can prefix the section name with the ELF file name e.g. "//myprog/.page1" DWARF-module (source file) Required only for “File-based Code Overlay Support” to tell the debugger which source files belong to which overlay section (this can only be detected from the ELF when it contains relocation information). DWARF-module is usually the name of a source file (e.g. a C-/C++ file). You can omit this parameter, if your ELF file was linked with compiler support for code overlays e.g. “-Wl,--emit-relocs” (GCC) or “--emit-debug-overlay-section” (ARM RealView). storage address Specifies the start of the address range where the code section is stored before it gets copied to its execution memory space. You can usually omit this parameter, as the storage address is normally auto-detected when loading you ELF file. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 164 sYmbol Example “File-based Code Overlay Support (Single-ELF)”: sYmbol.RESet SYStem.Option OVERLAY ON sYmbol.OVERLAY.Create 1,,,".page1","task.c" sYmbol.OVERLAY.Create 1,,,".page1","funcasm.c" sYmbol.OVERLAY.Create 1,,,".page1","sieve.c" sYmbol.OVERLAY.Create 2,,,".page2","blubber.c" Data.LOAD.Elf myexample.elf /OVERLAY /NoClear /Include /NOFRAME sYmbol.OVERLAY.AutoID sYmbol.OVERLAY.List /STorage /Modules Example “Relocation-based Code Overlay Support (Single-ELF)”: sYmbol.RESet SYStem.Option OVERLAY ON Data.LOAD.Elf myexample.elf /OVERLAY /Include sYmbol.OVERLAY.AutoID sYmbol.OVERLAY.List /STorage Example “Relocation-based Multi-ELF Overlay Overlay Support” sYmbol.RESet SYStem.Option OVERLAY ON sYmbol.OVERLAY.Create 1,,,"\\page1\.text" sYmbol.OVERLAY.Create 2,,,"\\page2\.text" Data.LOAD.Elf page1.elf /NoClear /NoRegister /OVERLAY Data.LOAD.Elf page2.elf /NoClear /NoRegister /OVERLAY sYmbol.OVERLAY.List /STorage See also ■ sYmbol.OVERLAY ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 165 sYmbol sYmbol.OVERLAY.DETECT Format: Detect the current overlay status symbol.OVERLAY.DETECT [ON | OFF] Executing sYmbol.OVERLAY.DETECT ON performs an immediate update of the status (active vs. not active) of all registered code overlays. The detection mechanism uses the ID address and ID value shown in sYmbol.OVERLAY.List. The optional parameter controls the automatic update of the status of overlay pages when the target executes code that may have changed it. The default value is ON. To use the command, first enable overlays via SYStem.Option.OVERLAY. See also ■ sYmbol.OVERLAY sYmbol.OVERLAY.FRIEND Declare a friend overlay segment [build no. 46380 - DVD 08/2013] Format: sYmbol.OVERLAY.FRIEND <original overlay id> <friend overlay id> Only relevant for decoding ARM ETM trace data in the context of overlays The command is relevant for tracing the switches between overlays using ARM ETM. For an original overlay segment, the command declares (or deletes) the so-called “friend” overlay segment. The friend overlay segment (a better term would be subsequent overlay) is a segment that usually is executed after the original segment. Declaring a friend overlay gives the debugger a hint which allows to improve the accuracy of decoding trace data corresponding to the switch between the segments. See the box “background” on the following page for more information. For each overlay one friend overlay can be declared. For deleting the friend overlay use the command with a friend ID of 0. In addition to “normal” overlay segments, friend overlays can also be declared for the “common area” of all (“permanent”) non-overlay code by using the segment id 0. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 166 sYmbol The configuration of overlays segments and their respective friend overlays is displayed by sYmbol.OVERLAY.List /FRiend.. original overlay id ID of the original overlay segment (16-bit integer) If segment is zero, a friend segment will be assigned for the global memory space. friend overlay id ID of the friend overlay segment i.e. typically the subsequent overlay segment (16-bit integer) If friend is zero, the friend will deleted. NOTE: To have an effect, the command needs to be executed before activating RTS via RTS.ON. Background Information If the trace decoder encounters an opcode on an address not contained in the current overlay segment this causes a problem. Therefore - when a friend overlay is declared - the trace decoder also checks the friend overlay for this address. If the address is found, the opcode is considered to be part of the friend overlay otherwise as part of the “common area” and thus as not belonging to an overlay. The previous case can occur when the target switches to a new overlay segment. Switches between overlays are typically reported by an ownership trace message which is created by a special opcode writing to a dedicated register (ownership register). If additional opcodes are executed in the context of the old overlay segment (e.g. opcodes residing on an address of the old overlay segment) the ownership message appears “too early” causing problems decoding the trace data of subsequent opcodes (e.g. RTS return-from-subroutine). If the opcode is executed in the context of the new overlay segment, the message is sent “too late” because the opcode was executed before the ownership trace message was created. The special case where the subsequent overlay does include the address in question but contains a different opcode on the address cannot be handled correctly. It may cause a flow error which however in practice is rather infrequent. See also ■ sYmbol.OVERLAY ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 167 sYmbol sYmbol.OVERLAY.List Format: Show declared code overlay sections sYmbol.OVERLAY.List [/Modules | /STorage | /FRriend] Shows the declared code overlays and the corresponding symbol information set with sYmbol.OVERLAY.Create and/or sYmbol.OVERLAY.AutoID. The code overlays currently present in memory (“active code overlays”) are highlighted. Modules Show also the DWARF modules related to the overlay section. This is only useful in case of “File-based Code Overlay Support “, since the column is empty in case of “Relocation-based Code Overlay Support”. STorage Shows also the memory region from where the code overlays should be loaded. FRiend Show also the friends of each memory segment. See sYmbol.OVERLAY.FRIEND See also ■ sYmbol.OVERLAY sYmbol.OVERLAY.RESet Format: Reset overlay declarations sYmbol.OVERLAY.RESet Clears the complete table of declared overlay sections. The table of declared overlay sections can be shown with sYmbol.OVERLAY.List. Entries can be added with sYmbol.OVERLAY.Create. See also ■ sYmbol.OVERLAY ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 168 sYmbol sYmbol.POINTER Format: Define special register sYmbol.POINTER [<framepointer>] [<staticpointer>] Determination of frame pointer and static pointer registers. The frame pointer addresses the variables located on the stack, the static pointer addresses the static variables with position independent data only. During loading a HLL program the registers are automatically preset with the values according to the compilers. sYmbol.POSTFIX Format: Set symbol postfix sYmbol.POSTFIX [<character>] Allows to define a postfix character. If for a symbol name used in a PRACTICE command no applicable symbol is found in the debug information, the postfix character is appended to the symbol name and the search is repeated. The use of a postfix makes sense when using a compiler, which appends a special sign behind every symbol (for example MarkWilliams C). See also ■ sYmbol.PREFIX ▲ ’Symbol Management’ in ’ICE User’s Guide’ sYmbol.PREFIX Format: Set symbol prefix sYmbol.PREFIX [<character>] A sign may be defined as a prefix. If during entry of a symbol no applicable drag-in can be found, the prefix will be appended in front of the symbol and the search will begin once more. The use of a prefix makes useful when using a compiler, which adds a special sign in front of every symbol (for example Microtec Pascal/C). See also ■ sYmbol.POSTFIX ▲ ’Symbol Management’ in ’ICE User’s Guide’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 169 sYmbol sYmbol.RELOCate Format: Relocate symbols sYmbol.RELOCate <class:offset>] [<symbolpath>|<range>] The command group sYmbol.RELOCate is outdated (excluding the command sYmbol.RELOCate.shift) and is nowadays only used for OS9-aware debugging (”RTOS Debugger for OS-9” (rtos_os9.pdf)). The command Data.LOAD.Elf <file> /RELOC … provides greater flexibility when symbols need to be relocated. See also ■ sYmbol.RELOCate.Auto ■ sYmbol.RELOCate.Passive ■ sYmbol.RELOCate.Base ■ sYmbol.RELOCate.shift ■ sYmbol.RELOCate.List ■ sYmbol.RELOCate.Magic ▲ ’Symbol Management’ in ’ICE User’s Guide’ ▲ ’Release Information’ in ’Release History’ sYmbol.RELOCate.Auto Format: Control automatic relocation sYmbol.RELOCate.Auto [ON | OFF] The command sYmbol.RELOCate.Auto is outdated and is nowadays only used for OS9-aware debugging. Please refer to ”RTOS Debugger for OS-9” (rtos_os9.pdf) for more information on this command. See also ■ sYmbol.RELOCate ■ sYmbol.RELOCate.Passive ■ sYmbol.RELOCate.Base ■ sYmbol.RELOCate.shift ■ sYmbol.RELOCate.List sYmbol.RELOCate.Base Format: ■ sYmbol.RELOCate.Magic Define base address sYmbol.RELOCate.Base <class:base>] [<symbolpath>|<range>] The command sYmbol.RELOCate.Base is outdated and is nowadays only used for OS9-aware debugging. Please refer to ”RTOS Debugger for OS-9” (rtos_os9.pdf) for more information on this command. See also ■ sYmbol.RELOCate ■ sYmbol.RELOCate.Passive ■ sYmbol.RELOCate.Auto ■ sYmbol.RELOCate.shift ■ sYmbol.RELOCate.List ■ sYmbol.RELOCate.Magic ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 170 sYmbol sYmbol.RELOCate.List Format: List relocation info sYmbol.RELOCate.List The command sYmbol.RELOCate.List is outdated and is nowadays only used for OS9-aware debugging. Please refer to ”RTOS Debugger for OS-9” (rtos_os9.pdf) for more information on this command. See also ■ sYmbol.RELOCate ■ sYmbol.RELOCate.Passive ■ sYmbol.RELOCate.Auto ■ sYmbol.RELOCate.shift ■ sYmbol.RELOCate.Base sYmbol.RELOCate.Magic Format: ■ sYmbol.RELOCate.Magic Define program magic sYmbol.RELOCate.Magic <magic>] [<symbolpath>|<range>] The command sYmbol.RELOCate.Magic is outdated and is nowadays only used for OS9-aware debugging. Please refer to ”RTOS Debugger for OS-9” (rtos_os9.pdf) for more information on this command. See also ■ sYmbol.RELOCate ■ sYmbol.RELOCate.Passive ■ sYmbol.RELOCate.Auto ■ sYmbol.RELOCate.shift ■ sYmbol.RELOCate.Base sYmbol.RELOCate.Passive Format: ■ sYmbol.RELOCate.List Define passive base address sYmbol.RELOCate.Passive <class:base>] The command sYmbol.RELOCate.Passive is outdated and nowadays only used for OS9-aware debugging. Please refer to ”RTOS Debugger for OS-9” (rtos_os9.pdf) for more information on this command. See also ■ sYmbol.RELOCate ■ sYmbol.RELOCate.Magic ■ sYmbol.RELOCate.Auto ■ sYmbol.RELOCate.shift ■ sYmbol.RELOCate.Base ■ sYmbol.RELOCate.List ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 171 sYmbol sYmbol.RELOCate.shift Format: Relocate symbols sYmbol.RELOCate.shift <class:offset>] [<symbolpath>|<range>] Manually relocates symbols. The symbol path limits the relocation to special symbols of a module or a program. If an address range is given, only the symbols in this range will be relocated. Relocation is always relative to the current address of the symbol. When the memory access classes of some symbols are wrong, they can be changed by the sYmbol.Modify.Access command. ; relocate all program symbols by 12240H sYmbol.RELOCate.shift P:0x12240 ; relocate all data symbols of module 'main' sYmbol.RELOCate.shift D:0x1000 \main ; relocate all data symbols in the given range sYmbol.RELOCate.shift D:0x1000 0x40000--0x4ffff See also ■ sYmbol.RELOCate ■ sYmbol.RELOCate.Magic ■ sYmbol.RELOCate.Auto ■ sYmbol.RELOCate.Passive ■ sYmbol.RELOCate.Base ■ sYmbol.RELOCate.List ▲ ’Release Information’ in ’Release History’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 172 sYmbol sYmbol.RESet Format: Clear symbol table sYmbol.RESet All symbols and search paths for source files are cleared. sYmbol.SourceCONVert Conversion for Japanese font Format: sYmbol.SourceCONVert <mode> <mode>: OFF EUC-JP Converts the hll source information from EUC (Extended UNIX Code) to JP for Windows. sYmbol.SourceLOAD Format: Initiate the loading of an hll source file sYmbol.SourceLOAD [<module> [<filename>]] By default a hll source file is only loaded by TRACE32 when the contents of the hll source file is required during debugging. The command sYmbol.SourceLOAD loads the hll source file for the defined module on user request. The hll source line information from the absolute object file must be loaded before using this command. If the command sYmbol.SourceLOAD is used without any parameter, all hll source files are loaded. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 173 sYmbol The command sYmbol.SourceLOAD allows also the specification of a new hll source file instead of the one listed in sYmbol.List.SOURCE. This can be useful, if the name or directory of the source file has been changed after compilation. ; load all source files Data.LOAD.COFF arm.abs sYmbol.SourceLOAD ; load the source file for the module \\thumble\arm Data.LOAD.COFF arm.abs sYmbol.List.SOURCE sYmbol.SourceLOAD \\thumble\arm ; load the source file NewArm.C for the module \\thumble\arm Data.LOAD.COFF arm.abs sYmbol.SourceLoad \\thumble\arm G:\ARM\etc\Test\NewArm.C ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 174 sYmbol sYmbol.SourcePATH Format: Source search path sYmbol.SourcePATH [+ | - | -- | <directory>] … (deprecated) Adds or removes directories to the path used for searching the source files accessed by TRACE32. Use the '+' to add a directory to the path. Use the '-' sign to remove a path from the list. Two minus signs ’--’ clear the whole list like sYmbol.RESet. The current search order can be displayed by the command sYmbol.SourcePATH.List. The list can be saved with the STOre command and the SPATH item. sYmbol.SourcePATH + c:\source\proj_1 sYmbol.SourcePATH + c:\mike\source\proj_1 … sYmbol.SourcePATH - c:\source\proj_1 ; add search directories ; remove search directory See also ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ sYmbol.SourcePATH.Delete sYmbol.SourcePATH.List sYmbol.SourcePATH.Set sYmbol.SourcePATH.SetCache sYmbol.SourcePATH.SetCachedDirCache sYmbol.SourcePATH.SetDynamicDir sYmbol.SourcePATH.SetRecurseDir sYmbol.SourcePATH.Translate sYmbol.SourcePATH.Verbose sYmbol.SourcePATH.DOWN sYmbol.SourcePATH.RESet sYmbol.SourcePATH.SetBaseDir sYmbol.SourcePATH.SetCachedDir sYmbol.SourcePATH.SetDir sYmbol.SourcePATH.SetMasterDir sYmbol.SourcePATH.SetRecurseDirCache sYmbol.SourcePATH.UP ▲ ’Symbol Management’ in ’ICE User’s Guide’ sYmbol.SourcePATH.Delete Format: Delete path from search list sYmbol.SourcePATH.Delete <directory> Removes the specified directory from the search path. See also ■ sYmbol.SourcePATH ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 175 sYmbol sYmbol.SourcePATH.DOWN Format: Make directory last in search order sYmbol.SourcePATH.DOWN <directory> Internal TRACE32 command. The specified directory becomes the last in the defined search order. See also ■ sYmbol.SourcePATH sYmbol.SourcePATH.List Format: List source search paths sYmbol.SourcePATH.List sYmbol.List.SPATH (deprecated) Lists defined search paths and their attributes. Local buttons Delete All Reset all source path settings. (command sYmbol.SourcePATH.RESet) Reload Reload all loaded source files. (command sYmbol.SourceRELOAD) Verbose Enable/disable search details in the TRACE32 Message Area. (command sYmbol.SourcePATH.Verbose ON | OFF) Store… Save source path search setting to <file>. (command STOre <file> SPATH) Cache… Save source path search setting plus list of all cached files to <file>. (Command STOre <file> SPATHCACHE) ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 176 sYmbol Load… Load source path settings from <file>. (command DO <file>) AddDir Add directory as base directory and as direct directory to search path list. (command sYmbol.SourcePATH <dir>) Example for a base directory ; Define directory as base for relative paths sYmbol.SourcePATH.SetBaseDir C:\T32_ARM\demo\sources Example for direct directories ; directory is direct search path sYmbol.SourcePATH.SetDir C:\T32_ARM\demo\arm\hardware\imx53\quickstartboard\demo_drivers ; directory is direct search path, all source files found in the defined ; directory are cached by TRACE32 sYmbol.SourcePATH.SetCachedDir C:\T32_ARM\demo\arm\hardware\imx53\quickstartboard\demo_net ; directory is direct search path, the directory and all its ; sub-directories are used as search path sYmbol.SourcePATH.SetRecurseDir C:\T32_ARM\demo\arm\hardware\imx53\quickstartboard\demo_ext ; directory is a direct search path, if the source file was found in ; this directory, this directory will become the first to be searched ; in sYmbol.SourcePATH.SetDynamicDir C:\T32_ARM\demo\arm\hardware\imx53\quickstartboard\demo_int ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 177 sYmbol Example for translated paths sYmbol.SourcePATH.Translate "Z:/Projects/own/trunk/V850/src/sieve" "C:/T32_V850/demo/20131129trainings_demo/demo/v850/compiler/iar" sYmbol.SourcePATH.Translate "C:/Programme/IAR Systems" "C:/T32_V850/demo" sYmbol.List.SourcePATH See also ■ sYmbol.SourcePATH ▲ ’Release Information’ in ’Release History’ sYmbol.SourcePATH.RESet Format: Reset search path configuration sYmbol.SourcePATH.RESet Resets the search path configuration. See also ■ sYmbol.SourcePATH ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 178 sYmbol sYmbol.SourcePATH.Set Format: Define search path sYmbol.SourcePATH.Set <directory> This command combines the commands: • sYmbol.SourcePATH.SetDir • sYmbol.SourcePATH.SetBaseDir See also ■ sYmbol.SourcePATH ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 179 sYmbol sYmbol.SourcePATH.SetBaseDir Format: Define directory as base for relative paths sYmbol.SourcePATH.SetBaseDir <directory> Defines directory as base for relative paths. ; load object file vmlinux and cut the following from the source paths: ; start of source path til end of "kernels-arm" Data.LOAD.Elf ~~~~/vmlinux /StripPART "kernels-arm" sYmbol.SourcePATH.SetBaseDir J:\AND\omap\sources sYmbol.SourcePATH.List sYmbol.List.SOURCE source Source path provided by executable. file Source path as modified by Data.LOAD command or source path from which the file was loaded. See also ■ sYmbol.SourcePATH ▲ ’Release Information’ in ’Release History’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 180 sYmbol sYmbol.SourcePATH.SetCache Format: Internal use only sYmbol.SourcePATH.SetCache <file> Internal TRACE32 software command, not of interest for TRACE32 users. See also ■ sYmbol.SourcePATH sYmbol.SourcePATH.SetCachedDir Format: Cache direct search path directory sYmbol.SourcePATH.SetCachedDir {<directory>} All source files found in the defined directory are cached by TRACE32. sYmbol.SourcePATH.SetCachedDir C:\T32_ARM\demo\arm\hardware\imx53\quickstartboard\demo_net STOre CacheCon SPATHCACHE ; generate a script for fast recaching See also ■ sYmbol.SourcePATH ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 181 sYmbol sYmbol.SourcePATH.SetCachedDirCache Format: Internal use only sYmbol.SourcePATH.SetCachedDirCache <directory> … Internal TRACE32 software command, not of interest for TRACE32 users. See also ■ sYmbol.SourcePATH sYmbol.SourcePATH.SetDir Format: Define directory as direct search path sYmbol.SourcePATH.SetDir <directory> The source files are directly searched in the defined directories. Example: Data.LOAD.Elf armle.axf ; load elf file sYmbol.List.SOURCE ; display path information for ; source files Source path provided by Elf file error indicates that the source file was not found under the provided path ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 182 sYmbol ; define directory as direct search path sYmbol.SourcePATH.SetDir C:\T32_ARM\demo\arm\compiler\arm sYmbol.SourcePATH.List ; display search path defined by ; user sYmbol.List.SOURCE ; display path information for ; source files Source path from which the file was loaded See also ■ sYmbol.SourcePATH ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 183 sYmbol sYmbol.SourcePATH.SetDynamicDir Format: Adjust search order at hit sYmbol.SourcePATH.SetDynamicDir {<directory>} The search order defined by this command is dynamically changed. The directory in which the last searched source file was found becomes the first directory the debugger searches for the next source file. sYmbol.SourcePATH.SetDynamicDir C:\T32_ARM\demo\arm\hardware\imx53\quickstartboard\demo_net sYmbol.SourcePATH.SetDynamicDir C:\T32_ARM\demo\arm\hardware\imx53\quickstartboard\demo_drivers sYmbol.SourcePATH.SetDynamicDir C:\T32_ARM\demo\arm\hardware\imx53\quickstartboard\demo_ext sYmbol.SourcePATH.SetDynamicDir C:\T32_ARM\demo\arm\hardware\imx53\quickstartboard\demo_int List See also ■ sYmbol.SourcePATH ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 184 sYmbol sYmbol.SourcePATH.SetMasterDir Format: Store cached files only relative sYmbol.SourcePATH.SetMasterDir <directory> If the command STOre <file> SPATHCACHE is used, all file names are only saved relative to the defined directory. Data.LOAD G:\AND\compiler\xc\bt800ip.iee sYmbol.SourcePATH.SetCachedDir G:\AND\compiler\xc\System sYmbol.SourcePATH.SetMasterDir G:\AND\compiler STOre cache.cmm SPATHCACHE // And Thu May 27 16:40:51 2004 B:: SYMBOL.SPATH.SETCACHEDDIRCACHE "xc\System" Y.SPATH.SETCACHE "xc\System" ( "ad_cond.c" "adsubs.c" "bt_27.c" "bt_27.h" "bt_28.c" "bt_flsh.c" ) ENDDO See also ■ sYmbol.SourcePATH ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 185 sYmbol sYmbol.SourcePATH.SetRecurseDir Format: Define recursive direct search path sYmbol.SourcePATH.SetRecurseDir {<directory>} Use the defined directory and all subdirectories as search path. sYmbol.SourcePATH.SetRecurseDir C:\T32_ARM\demo\arm\hardware\imx53\quickstartboard See also ■ sYmbol.SourcePATH sYmbol.SourcePATH.SetRecurseDirCache Format: Internal use only sYmbol.SourcePATH.SetRecurseDirCache <directory>… Internal TRACE32 software command, not of interest for TRACE32 users. See also ■ sYmbol.SourcePATH ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 186 sYmbol sYmbol.SourcePATH.Translate Format: Replace part of the source path sYmbol.SourcePATH.Translate <original_string> <new_string> Replace <original_string> in source path by <new_string>. Data.LOAD.Elf sieve.elf sYmbol.List.SOURCE sYmbol.SourcePATH.Translate "Z:/Projects/own/trunk/V850/src/sieve" "C:/T32_V850/demo/20131129trainings_demo/demo/v850/compiler/iar" sYmbol.SourcePATH.Translate "C:/Programme/IAR Systems" "C:/T32_V850/demo" sYmbol.List.SourcePATH Please note the following: If <original_string> ends with a directory separator <new_string> has also to end with a directory separator. If <original_string> does not end with a directory separator <new_string> has also not to end with a directory separator. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 187 sYmbol It is also possible to replace just a part of the source path. sYmbol.SourcePATH.Translate "P5" "K8" See also ■ sYmbol.SourcePATH ▲ ’Release Information’ in ’Release History’ sYmbol.SourcePATH.UP Format: Move path up in the search order sYmbol.SourcePATH.UP <directory> Internal TRACE32 command. The defined directory becomes the first in the search path order. See also ■ sYmbol.SourcePATH ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 188 sYmbol sYmbol.SourcePATH.Verbose Format: Display search details in message AREA sYmbol.SourcePATH.Verbose ON | OFF OFF (default) No details about the source file search are given. ON Details about the source file search are displayed in the TRACE32 message AREA.view window, if a source file is loaded by TRACE32. AREA.view ; open TRACE32 message AREA window ; to display source file search ; details sYmbol.SourcePATH.Verbose ON List ; display source listing Verbose ON is indicated in the sYmbol.SourcePATH.List window See also ■ sYmbol.SourcePATH ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 189 sYmbol sYmbol.SourceRELOAD Format: Reload source files sYmbol.SourceRELOAD Invalidates all loaded source files and marks them for reload. This can be useful when the source search path has been changed to reload the source modules that came from the old source path. sYmbol.STATE Format: Display statistic sYmbol.STATE The size of the symbol tables and the global settings are displayed. See also the sYmbol.MEMory command. See also ■ sYmbol.Browse.sYmbol ■ sYmbol.INFO ■ sYmbol.List ❏ sYmbol.STATE() ▲ ’The Symbol Database’ in ’Training HLL Debugging’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 190 sYmbol sYmbol.STRIP Format: Set max. symbol length sYmbol.STRIP [<length>] Cuts symbols to the specified length. This option is useful, when the compiler has a limited symbol length. sYmbol.STRIP 8. Data.List Main_Function ; will display 'Main_Fun' sYmbol.View Format: Show symbol info sYmbol.View <name> [/Track] Same as command sYmbol.Info. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 191 sYmbol SYnch Function TRACE32 realizes AMP multi-core debugging and multi-processor debugging by starting two or more TRACE32 instances. The command group SYnch allow to establish a connection between different TRACE32 instances for the following purposes: • To establish a start/stop synchronization between the cores/processors controlled by different TRACE32 instances. • To allow concurrent assembler single steps between the cores/processors controlled by different TRACE32 instances. • To allow synchronous system mode changes between the cores/processors controlled by different TRACE32 instances. • To get a time synchronization between trace information in different TRACE32 instances. This requires that the trace information uses a common time base e.g. global TRACE32 timestamp or global chip timestamps. For configuration, use the TRACE32 command line or the SYnch.state window. See also ■ ■ ■ ■ SYnch.Connect SYnch.MasterSystemMode SYnch.SlaveBrk SYnch.state ■ ■ ■ ■ ■ SYnch.MasterGo ■ SYnch.ON ■ SYnch.SlaveStep SYnch.MasterBrk SYnch.OFF SYnch.SlaveGo SYnch.XTrack ■ SYnch.MasterStep ■ SYnch.RESet ■ SYnch.SlaveSystemMode ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 192 SYnch SYnch.Connect Format: Connect to other TRACE32 instances SYnch.Connect [<intercom_name> …] Establishes connections to other TRACE32 instances by using the InterCom system. SYnch.Connect localhost:20001 localhost:20002 SYnch.ON is automatically set, when the command SYnch.Connect establish the connections. If the command SYnch.Connect is used without parameters it disconnects the TRACE32 instances. SYnch.Connect See also ■ SYnch.state SYnch.MasterBrk Format: Invite other TRACE32 to stop synchronously SYnch.MasterBrk [ON | OFF] OFF No invitation for a synchronous stop is broadcast to other TRACE32 instances (default). ON Invite other TRACE32 instances to stop synchronously. Cores in a multicore chip can be stopped instruction-accurate if the chip provides a break switch/cross trigger unit. Otherwise software-controlled stop synchronization is used. Softwarecontrolled synchronization stop the cores/processors one by one with a minimum delay of 1.ms. SYnch.MasterBreak and SYnch.SlaveBreak can be freely programmed for the connected TRACE32 instances. But the break switch/cross trigger unit in the multicore chip might not provide resources to program all links. TRACE32 adjust the programming of the links to the available resources in this case. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 193 SYnch On TRACE32-ICE stop synchronization is software-controlled by default. To use the hardware-based start/ stop synchronization between two SCU units (connect the two SYNCH sockets of the SCU with synch cable) the connect command must be left empty. See also ■ SYnch.state ▲ ’Master-Slave Synchronisation’ in ’ICE User’s Guide’ SYnch.MasterGo Format: Invite other TRACE32 to start synchronously SYnch.MasterGo [ON | OFF] OFF No invitation for a synchronous start is broadcast to other TRACE32 instances (default). ON Invite other TRACE32 instances to start synchronously. Cores in a multicore chip can start synchronously if this is supported by the chip. Otherwise software-controlled start synchronization is used. softwarecontrolled synchronization starts the cores/processors one by one with a minimum delay of 1.ms. On TRACE32-ICE start synchronization is software-controlled by default. To use the hardware-based start/ stop synchronization between two SCU units (connect the two SYNCH sockets of the SCU with synch cable) the connect command must be left empty. See also ■ SYnch.state ■ TargetSystem.state ▲ ’Master-Slave Synchronisation’ in ’ICE User’s Guide’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 194 SYnch SYnch.MasterStep Format: Invite other TRACE32 to asm step synchronously SYnch.MasterStep [ON | OFF] OFF No invitation for concurrent assembler single stepping is broadcast to other TRACE32 instances (default). ON Invite other TRACE32 instances to perform concurrent assembler single stepping. Hll single stepping is regarded as a synchronous start. See also ■ SYnch.state ■ TargetSystem.state SYnch.MasterSystemMode Format: Invite other TRACE32 to follow mode change SYnch.MasterSystemMode [ON | OFF] OFF No invitation for synchronous mode changing is broadcast to other TRACE32 instances (default). ON Invite other TRACE32 instances to perform system mode changes synchronously. System mode changes are typically performed by one of the following commands: SYStem.Up, SYStem.Mode <mode> commands and SYStem.RESetTarget. See also ■ SYnch.state ■ TargetSystem.state ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 195 SYnch SYnch.OFF Format: Disable connection mechanism SYnch.OFF Disable the software component that allows a TRACE32 instance to connect to other instances. See also ■ SYnch.state ▲ ’Master-Slave Synchronisation’ in ’ICE User’s Guide’ SYnch.ON Format: Disable connection mechanism SYnch.ON Enable the software component that allows a TRACE32 instance to connect to other instances. See also ■ SYnch.state ▲ ’Master-Slave Synchronisation’ in ’ICE User’s Guide’ SYnch.RESet Format: Reset SYnch mechanism SYnch.RESet Resets the SYnch mechanism to its default settings. See also ■ SYnch.state ▲ ’Master-Slave Synchronisation’ in ’ICE User’s Guide’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 196 SYnch SYnch.SlaveBrk Format: Synchronize with stop in connected TRACE32 SYnch.SlaveBrk [ON | OFF] OFF Don't synchronize with the stop of the program execution in a connected TRACE32 instance. ON Synchronize with the stop of the program execution in a connected TRACE32 instance. Cores in a multicore chip can be stopped instruction-accurate if the chip provides a break switch/cross trigger unit. Otherwise software-controlled stop synchronization is used. Softwarecontrolled synchronization stop the cores/processors one by one with a minimum delay of 1.ms. See also ■ SYnch.state ■ TargetSystem.state ▲ ’Master-Slave Synchronisation’ in ’ICE User’s Guide’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 197 SYnch SYnch.SlaveGo Format: Synchronize with start in connected TRACE32 SYnch.SlaveGo [ON | OFF] OFF Don't synchronize with the start of the program execution in a connected TRACE32 instance. ON Synchronize with the start of the program execution in a connected TRACE32 instance. Cores in a multicore chip can start synchronously if this is supported by the chip. Otherwise software-controlled start synchronization is used. softwarecontrolled synchronization starts the cores/processors one by one with a minimum delay of 1.ms. See also ■ SYnch.state ■ TargetSystem.state ▲ ’Master-Slave Synchronisation’ in ’ICE User’s Guide’ SYnch.SlaveStep Format: Synchronize with asm step in connected TRACE32 SYnch.SlaveStep [ON | OFF] OFF Don't synchronize with assembler single steps in a connected TRACE32 instance. ON Synchronize with assembler single steps in a connected TRACE32 instance. See also ■ SYnch.state ■ TargetSystem.state ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 198 SYnch SYnch.SlaveSystemMode Format: Synch. with mode changes in other TRACE32 SYnch.SlaveSystemMode [ON | OFF] OFF Don’t synchronize with system mode changes in connected TRACE32 instances. ON Synchronize with system mode changes in connected TRACE32 instances. See also ■ SYnch.state ■ TargetSystem.state SYnch.state Format: Display current SYnch settings SYnch.state Displays the current setup of the SYnch mechanism. See also ■ ■ ■ ■ SYnch.Connect SYnch.MasterSystemMode SYnch.SlaveBrk SYnch.XTrack ■ ■ ■ ■ ■ SYnch.MasterGo ■ SYnch.ON ■ SYnch.SlaveStep SYnch.MasterBrk SYnch.OFF SYnch.SlaveGo TargetSystem.state ■ SYnch.MasterStep ■ SYnch.RESet ■ SYnch.SlaveSystemMode ▲ ’Master-Slave Synchronisation’ in ’ICE User’s Guide’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 199 SYnch SYnch.XTrack Format: Establish time synchronization to another TRACE32 instance SYnch.XTrack [<intercom_name> …] Get a time synchronization between trace information in different TRACE32 instances. This requires that the trace information uses a common time base e.g. global TRACE32 time tamp or global chip timestamps. SYnch.XTrack localhost:20001 localhost:20002 ; trace commands in one TRACE32 instance Trace.List /Track Trace.Chart.sYmbol /ZoomTrack See also ■ SYnch.state ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 200 SYnch SYStem System commands are used for setting the operating modes of the system. In addition, they are used to define all those parameters which remain valid after stopping the emulation. The various subcommands of this command group are highly target-dependent, for details check the emulation probe manual for your target system too. In general, the configuration commands (e.g. SYStem.Option) should be used before the emulation system is activated by the SYStem.Mode or SYStem.Up command. Changing configuration options while the system is up may cause unpredictable behavior. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 201 SYStem SYStem.Access Dual-port access mode ICE only Format 1: SYStem.Access <mode> (ICE) Format 2: SYStem.ACCESS (deprecated for TRACE32 debuggers, use SYStem.MemAccess instead) <mode>: Denied Nodelay Request Wait Prefetch DUMMY REFresh Refer to emulation probe description for details of the access modes implemented within the specific emulation probe: Denied In this mode dual-port access cannot occur during real-time emulation. Execution times are not affected by dual-port accesses. However, all commands are blocked requiring access to emulation memory, breakpoints or memory flags during real-time emulation. Nodelay Normal condition. Dual-port access does not alter real-time characteristics. This operating mode is possible in the case of slow CPUs or low clock frequency only. The critical frequency of the emulation system is reached at a cycle time of 200 ns typically (70 ns RAM speed). Dual-port emulation memory is accessed in time-multiplex. In the case of slow CPUs and fast memory, enough time to “hide” the dual-port access between the emulation CPU's memory accesses is available. In the case of fast CPUs and high speed emulation there is no time available between cycles. Request The CPU is stopped via the DMA request line prior to dual-port access (as long as a DMA access has not already occurred). This mode is not functional with the emulation CPU in constant reset or DMA mode. The advantage of this condition is that access cycles are not increased as a result of dual-port accesses. Wait Additional wait cycles are inserted. System performance deteriorates by less than one percent. However, some cycles are increased by additional wait cycles. This type of access is always possible, even with the emulation CPU in reset or DMA mode. Prefetch, DUMMY, REFresh This access modes are possible on special CPU types only which support some cycles to install a hidden dual-port mode. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 202 SYStem See also ■ SYStem.state ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ’CPU Type and Mode’ in ’FIRE Emulator for HC12/MCS12’ ’Basics’ in ’FIRE Emulator for C166S V2 Family’ ’Basics’ in ’ICE Emulator for 8051’ ’Basics’ in ’ICE Emulator for MC68020/30’ ’General SYStem Settings and Restrictions’ in ’ICE Emulator for MC6833X’ ’Basics’ in ’ICE Emulator for Motorola 68360/349’ ’Basics’ in ’ICE Emulator for C166/ST10’ ’Basics’ in ’ICE Emulator for Hitachi H8/300 and H8/500’ ’Basics’ in ’ICE Emulator for 68HC05 and 68HC08’ ’Basics’ in ’ICE Emulator for 68HC11’ ’Basics’ in ’ICE Emulator for MELPS 7700’ ’Emulation System’ in ’ICE User’s Guide’ ’Basics’ in ’ICE Emulator for Z80 and Z180’ SYStem.BankFile Format: Define the bank switch program SYStem.BankFile <filename> Load an extension for bank switched targets to the emulator control program. For details check the emulation probe manual for your processor. The bank definition file must be a pure binary file (can be generated by the Data.SAVE.Binary command). See also ■ SYStem.state ▲ ’Banking’ in ’ICE Emulator for C166/ST10’ ▲ ’Emulation System’ in ’ICE User’s Guide’ ▲ ’Using the MMU for Banked Target Systems’ in ’ICE Emulator for Z80 and Z180’ SYStem.BankMode Format: Define the bank switch mode SYStem.BankMode [OFF | INTern | EXTern] Define the operation mode of bank switched targets. For details check the emulation probe manual for your processor. See also ■ SYStem.state ▲ ’Banking’ in ’ICE Emulator for C166/ST10’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 203 SYStem SYStem.BdmClock Select BDM clock Format: SYStem.BdmClock <rate> <rate>: 2 | 4 | 8 | 16 | <fixed> <fixed>: 1000. … 5000000. Either the divided CPU frequency is used as the BDM clock or a fixed clock rate. The fixed clock rate must be used if the operation frequency is very slow or if the clock line is not available. The default is a fixed rate of 1 MHz. See also ■ SYStem.state ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ’CPU specific SYStem Commands’ in ’XC2000/XC16x/C166CBC Debugger’ ’CPU specific SYStem Commands’ in ’CPU32 and ColdFire Debugger and Trace’ ’CPU specific SYStem Commands’ in ’ARC Debugger’ ’DSP specific SYStem Commands’ in ’TMS320C2X Debugger’ ’DSP specific SYStem Commands’ in ’TMS320C5X Debugger’ ’DSP specific SYStem Commands’ in ’TMS320C6X Debugger’ ’Cortex-M specific SYStem Commands’ in ’Cortex-M Debugger’ ’General SYStem Settings and Restrictions’ in ’MCS08 Debugger’ ’General SYStem Settings and Restrictions’ in ’MCS12 Debugger’ ’General SYStem Settings and Restrictions’ in ’M32R Debugger and Trace’ ’General SYStem Settings and Restrictions’ in ’M8051EW Debugger’ ’General SYStem Settings for the Debugger’ in ’M-Core Debugger’ ’MIPS specific SYStem Commands’ in ’MIPS Debugger and Trace’ ’General SYStem Commands’ in ’MMDSP Debugger’ ’Command Reference: SYStem Commands’ in ’Qorivva MPC5xxx/SPC5xx Debugger and NEXUS Trace’ ’General SYStem Commands’ in ’MSP430 Debugger’ ’Commands’ in ’PCP Debugger Reference’ ’General SYStem Commands’ in ’PPC400/PPC440 Debugger and Trace’ ’General System Commands’ in ’PPC600 Family Debugger’ ’General SYStem Commands’ in ’MPC5xx/8xx Debugger and Trace’ ’General SYStem Commands’ in ’PQIII Debugger’ ’General SYStem Commands’ in ’QorIQ Debugger and NEXUS Trace’ ’General SYStem Commands’ in ’PWRficient Debugger’ ’General SYStem Settings and Restrictions’ in ’ICE Emulator for MC6833X’ ’General SYStem Settings and Restrictions’ in ’ICE Emulator for Motorola 68360/349’ ’ARM specific SYStem Commands’ in ’MAC71xx/72xx NEXUS Debugger and Trace’ ’General SYStem Commands’ in ’MMDSP NEXUS Debugger and Trace’ ’CPU specific SYStem Commands’ in ’Simulator for TriCore’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 204 SYStem SYStem.BOOTLDR Format: Define the boot loader program SYStem.BOOTLDR <filename> Load an extension for bank switched targets to the emulator control program. See also ■ SYStem.state SYStem.BOOTLDR3 Format: Define the boot loader program SYStem.BOOTLDR3 <filename> Load an extension for bank switched targets to the emulator control program. For details check the emulation probe manual for your processor. See also ■ SYStem.state ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 205 SYStem SYStem.CADIconfig tbd. Virtual targets only: CADI tbd. See also ■ SYStem.CADIconfig.Traceconfig ■ SYStem.state ■ SYStem.CADIconfig.TraceCore SYStem.CADIconfig.Traceconfig tbd. Virtual targets only: CADI Format: SYStem.CADIconfig.Traceconfig <ip> <port> tbd. <ip> tbd. <port> tbd. See also ■ SYStem.CADIconfig SYStem.CADIconfig.TraceCore tbd. Virtual targets only: CADI Format: SYStem.CADIconfig.TraceCore <core_number> tbd. <core_number> tbd. See also ■ SYStem.CADIconfig ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 206 SYStem SYStem.Clock Select clock Format: SYStem.Clock <source> <source>: VCO Low Mid High Internal clock selection. In the case of NoProbe, AloneInt and EmulInt the internal clock generator is used. Three dedicated frequencies and VCO are available. These dedicated frequencies produce CPU clock rates of 2.5 … 10 MHz. Frequencies of up to 25 MHz can be achieved using the VCO (voltage controlled oscillation). The clock rate is the same as of the internal CPU clock. With CPUs having clock divider (e.g. when using integrated oscillators) the input frequencies are many times higher than that of the internal clock frequencies. In the case of fully static CPUs, clock rates can be switched during operation (not ECC8). Otherwise, the emulation CPU should be reinitialized by choosing a system operating mode after switching over. VCO Select VCO. Clock frequencies are set using the VCO.Clock command. Low 2.5 MHz clock frequency. Mid 5 MHz clock frequency. High 10 MHz clock frequency. vco.c 0x12000000. sys.c vco ; System frequency 12 MHz See also ■ SYStem.state ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ’General SYStem Settings and Restrictions’ in ’StarCore Debugger and Trace’ ’General SYStem Settings and Restrictions’ in ’XC800 Debugger’ ’Basics’ in ’ICE Emulator for INTEL 196K Family’ ’Basics’ in ’ICE Emulator for 8051’ ’General Settings and Restrictions’ in ’ICE Emulator for 68000’ ’Basics’ in ’ICE Emulator for MC68020/30’ ’Basics’ in ’ICE Emulator for MC68040/60’ ’Basics’ in ’ICE Emulator for MC68000 and MC6830X’ ’General SYStem Settings and Restrictions’ in ’ICE Emulator for MC6833X’ ’General SYStem Settings and Restrictions’ in ’ICE Emulator for Motorola 68360/349’ ’General SYStem Settings and Restrictions’ in ’ICE Emulator for C166/ST10’ ’Basics’ in ’ICE Emulator for Hitachi H8/300 and H8/500’ ’Basics’ in ’ICE Emulator for 68HC05 and 68HC08’ ’Basics’ in ’ICE Emulator for 68HC11’ ’Basics’ in ’ICE Emulator for 386/486’ ’Basics’ in ’ICE Emulator for MELPS 7700’ ’Basics’ in ’ICE Emulator for PowerPC’ ’Emulation System’ in ’ICE User’s Guide’ ’Basics’ in ’ICE Emulator for the 80186 and 80196’ ’Basics’ in ’ICE Emulator for Z80 and Z180’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 207 SYStem SYStem.CONFIG The SYStem.CONFIG commands describe the target configuration to the debugger. SYStem.CONFIG Configure debugger according to target topology Format: SYStem.CONFIG <parameter> SYStem.MultiCore (deprecated) <parameter> (JTAG): CORE DRPRE <bits> DRPOST <bits> IRPRE <bits> IRPOST <bits> TAPState <state> TCKLevel <level> TriState [ON | OFF] Slave [ON | OFF] state <parameter> (core sight): COREBASE COREJTAGPORT DAPIRPRE DAPIRPOST DAPDRPRE DAPDRPOST DEBUGACCESSPORT DEBUGBASE ETBBASE ETBDRPRE ETBDRPOST ETBIRPRE ETBIRPOST ETMBASE ETMFUNNELPORT FUNNELBASE HTMBASE HTMFUNNELPORT ITMBASE ITMFUNNELPORT ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 208 SYStem <parameter> (core sight) cont’d: JTAGACCESSPORT MEMORYACCESSPORT TPIUBASE TRACEBASE TRACEFUNNELPORT SWDP <parameter> (MultiTap): DAPTAP DEBUGTAP ETBTAP MULTITAP SLAVETAP <parameter> (BugFix): BYPASS <pattern> FILLDRZERO Commonly one TRACE32 instance is used to debug one core (core view). If the target provides a joint debug interface for several cores/chips it is necessary to inform the TRACE32 instance which core/chip it controls for debugging. The four parameter IRPRE, IRPOST, DRPRE, DRPOST are required to inform the debugger about the ARM TAP controller position in the JTAG chain, if there is more than one core in the JTAG chain (e.g. ARM + DSP). The information is required before the debugger can be activated e.g. by a SYStem.Up. See example below. In case there is additionally an DAP (Debug Access Port) TAP controller or in case the core will be debugged through this DAP, then you need to set the four parameter DAPIRPRE, DAPIRPOST, DAPDRPRE, DAPDRPOST to inform the debugger about the DAP TAP controller position in the JTAG scan chain. In case there is an ETB (Embedded Trace Buffer) available on the chip and in case it should be used, the settings ETBIRPRE, ETBIRPOST, ETBDRPRE, ETBDRPOST are additionally required. The ETB has its own TAP controller in the JTAG scan chain. On some CPU selections (SYStem.CPU) with known system configuration the above setting might be set automatically. TriState has to be used if more than one debugger are connected to the common JTAG port at the same time. TAPState and TCKLevel define the TAP state and TCK level which is selected when the debugger switches to tristate mode. Please note: nTRST must have a pull-up resistor on the target, EDBGRQ must have a pull-down resistor. Multicore debugging is not supported for the DEBUG INTERFACE (LA7701). ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 209 SYStem CORE For multicore debugging one TRACE32 GUI has to be started per core. To bundle several cores in one processor as required by the system this command has to be used to define core and processor coordinates within the system topology. Further information can be found in SYStem.CONFIG.CORE. DRPRE (default: 0) <number> of TAPs in the JTAG chain between the core of interest and the TDO signal of the debugger. If each core in the system contributes only one TAP to the JTAG chain, DRPRE is the number of cores between the core of interest and the TDO signal of the debugger. DRPOST (default: 0) <number> of TAPs in the JTAG chain between the TDI signal of the debugger and the core of interest. If each core in the system contributes only one TAP to the JTAG chain, DRPOST is the number of cores between the TDI signal of the debugger and the core of interest. IRPRE (default: 0) <number> of instruction register bits in the JTAG chain between the core of interest and the TDO signal of the debugger. This is the sum of the instruction register length of all TAPs between the core of interest and the TDO signal of the debugger. IRPOST (default: 0) <number> of instruction register bits in the JTAG chain between the TDI signal and the core of interest. This is the sum of the instruction register lengths of all TAPs between the TDI signal of the debugger and the core of interest. See also Daisy-Chain Example. TAPState (default: 7 = Select-DR-Scan) This is the state of the TAP controller when the debugger switches to tristate mode. All states of the JTAG TAP controller are selectable. TCKLevel (default: 0) Level of TCK signal when all debuggers are tristated. TriState (default: OFF) If more than one debugger share the same JTAG port, this option is required. The debugger switches to tristate mode after each JTAG access. Then other debuggers can access the port. Slave (default: OFF) If more than one debugger share the same JTAG port, all except one must have this option active. Only one debugger - the “master” - is allowed to control the signals nTRST and nSRST (nRESET). DAPDRPRE (default: 0) <number> of cores in the JTAG chain between the DAP and the TDO signal (one data register bit per core which is in BYPASS mode). DAPDRPOST (default: 0) <number> of cores in the JTAG chain between the TDI signal and the DAP (one data register bit per core which is in BYPASS mode). ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 210 SYStem DAPIRPRE (default: 0) <number> of instruction register bits of all cores in the JTAG chain between the DAP and the TDO signal. DAPIRPOST (default: 0) <number> of instruction register bits of all cores in the JTAG chain between TDI signal and the DAP. DEBUGACCESSPORT With a Debug Access Port (DAP) as debug interface (Cortex, CoreSight) you need to inform the debugger about the access port number in the DAP. The debugger needs the access port number to get access to the debug bus (APB, debug register). ETBDRPOST (default: 0) <number> of cores in the JTAG chain between the TDI signal and the ETB (one data register bit per core which is in BYPASS mode). ETBDRPRE (default: 0) <number> of cores in the JTAG chain between the ETB and the TDO signal (one data register bit per core which is in BYPASS mode). ETBIRPOST (default: 0) <number> of instruction register bits of all cores in the JTAG chain between TDI signal and ETB. ETBIRPRE (default: 0) <number> of instruction register bits of all cores in the JTAG chain between the ETB and the TDO signal. MEMORYACCESSPORT With a Debug Access Port (DAP) as debug interface (Cortex, CoreSight) you need to inform the debugger about the access port number in the DAP. The debugger needs the access port number to get access to the system bus (AHB, memory). JTAGACCESSPORT COREJTAGPORT With a Debug Access Port (DAP) as debug interface (Cortex, CoreSight) you need to inform the debugger about the access port number in the DAP. The debugger needs the access port number to get access to the JTAG access port of the core it shall debug. This is normally used if cores like ARM7, ARM9, ARM11, which are not intended for DAP debugging, are included in a DAP based system. COREJTAGPORT specifies to which of the 8 possible ports the core is connected to. ETMBASE COREBASE DEBUGBASE HTMBASE ETBBASE TPIUBASE ITMBASE TRACEBASE FUNNELBASE ETMFUNNELPORT HTMFUNNELPORT ITMFUNNELPORT TRACEFUNNELPORT The debugger needs the base address of the register block of the CoreSight module you intend to use. It is only valid with a Debug Access Port (DAP) as debug interface. TRACEBASE is the register block of nonETM trace register e.g. of a DSP. In case of ETM or HTM or ITM or non-ETM TRACE you additionally need to specify the port number of the funnel this trace facility is connected to. DEBUGBASE is an obsolete synonym for COREBASE. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 211 SYStem SWDP With this option you can change from the normal JTAG interface to the serial wire debug mode (SWDP = Serial Wire Debug Port). SWDP uses just two signals instead of five. It is required that the target and the debugger hardware and software supports this interface. DAPTAP DEBUGTAP ETBTAP MULTITAP SLAVETAP Type of the control mechanism and number of TAPs should be known in MULTITAP type. It is used in case the system-on-chip provides a dynamic changing JTAG scan chain. In case of a subsystem SLAVETAP denotes the number of the control TAP for the subsystem. BYPASS <pattern> With this option it is possible to change the bypass instruction pattern for other cores in a multicore environment. It only works for the IRPOST pattern and is limited to 64 Bit. The specified pattern (hexadecimal) will be shifted least significant bit first. If no BYPASS option is used, the default value is “1” for all bits. This is a workaround for a certain chip problem available on ARM9 debugger only. FILLDRZERO With this option it is possible to change the bypass data pattern for other cores in a multicore environment. It changes the pattern from all “1” to all “0”. This is a workaround for a certain chip problem available on ARM9 debugger only. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 212 SYStem Daisy-Chain Example IRPOST TAP1 TDI IRPRE TAP2 TAP3 IR 4 IR 3 IR 5 DR 1 DR 1 DR 1 TAP4 Core DRPOST IR: Instruction register length IR 6 DR 1 TDO DRPRE DR: Data register Core: The core you want to debug Daisy chains can be configured using a PRACTICE script (*.cmm) or the SYStem.CONFIG.state window. The PRACTICE code example below explains how to obtain the individual IR and DR values for the above daisy chain. PRACTICE code example: SYStem.CONFIG.state /Jtag ; optional: open the window SYStem.CONFIG IRPRE 6. ; IRPRE: There is only one TAP. ; So type just the IR bits of TAP4, i.e. 6 SYStem.CONFIG IRPOST 12. ; IRPOST: Add up the IR bits of TAP1, TAP2 ; and TAP3, i.e. 4 + 3 + 5 = 12 SYStem.CONFIG DRPRE 1. ; DRPRE: There is only one TAP which is ; in BYPASS mode. ; So type just the DR of TAP4, i.e. 1 SYStem.CONFIG DRPOST 3. ; DRPOST: Add up one DR bit per TAP which ; is in BYPASS mode, i.e. 1 + 1 + 1 = 3 ; This completes the configuration. NOTE: In many cases, the number of TAPs equals the number of cores. But in many other cases, additional TAPs have to be taken into account; for example, the TAP of an FPGA or the TAP for boundary scan. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 213 SYStem TapStates 0 Exit2-DR 1 Exit1-DR 2 Shift-DR 3 Pause-DR 4 Select-IR-Scan 5 Update-DR 6 Capture-DR 7 Select-DR-Scan 8 Exit2-IR 9 Exit1-IR 10 Shift-IR 11 Pause-IR 12 Run-Test/Idle 13 Update-IR 14 Capture-IR 15 Test-Logic-Reset See also ■ SYStem.state ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ’General SYStem Commands’ in ’78K0R/RL78 Debugger’ ’AndesCore specific SYStem Commands’ in ’Andes Debugger’ ’General SYStem Settings’ in ’APS Debugger’ ’CPU specific SYStem Commands’ in ’ARC Debugger’ ’ARM specific SYStem Commands’ in ’ARM Debugger’ ’ARM specific SYStem Commands’ in ’ARMv8-A Debugger’ ’DSP specific SYStem Commands’ in ’TMS320C2X Debugger’ ’DSP specific SYStem Commands’ in ’TMS320C5X Debugger’ ’DSP specific SYStem Commands’ in ’TMS320C6X Debugger’ ’General SYStem Settings’ in ’CEVA-X Debugger’ ’Cortex-M specific SYStem Commands’ in ’Cortex-M Debugger’ ’General SYStem Commands’ in ’eTPU Debugger and Trace’ ’General SYStem Commands’ in ’GTM Debugger and Trace’ ’General SYStem Settings’ in ’Hexagon Debugger’ ’General SYStem Settings and Restrictions’ in ’M32R Debugger and Trace’ ’MIPS specific SYStem Commands’ in ’MIPS Debugger and Trace’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 214 SYStem ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ’Command Reference: SYStem Commands’ in ’Qorivva MPC5xxx/SPC5xx Debugger and NEXUS Trace’ ’General SYStem Commands’ in ’MSP430 Debugger’ ’General SYStem Settings and Restrictions’ in ’NIOS II Debugger and Trace’ ’General SYStem Settings’ in ’CEVA-Oak/Teak/TeakLite Debugger’ ’General SYStem Commands’ in ’MPC5xx/8xx Debugger and Trace’ ’General SYStem Commands’ in ’PQIII Debugger’ ’General SYStem Commands’ in ’QorIQ Debugger and NEXUS Trace’ ’General SYStem Commands’ in ’PWRficient Debugger’ ’CPU specific SYStem Commands’ in ’XTENSA Debugger’ ’General System Settings’ in ’ZSP Debugger’ ’General SYStem Commands’ in ’MPC56x NEXUS Debugger and Trace’ ’Release Information’ in ’Release History’ ’CPU specific SYStem Commands’ in ’Simulator for TriCore’ ’JTAG Implementation’ in ’Training JTAG Interface’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 215 SYStem SYStem.CONFIG.CORE Assign core to TRACE32 instance Format 1: SYStem.CONFIG.CORE <core | thread> <chip> SYStem.MultiCore.CORE (deprecated) Format 2: SYStem.CONFIG.CORE <string> | <value> Virtual targets only If the target provides a joint debug interface for several cores/chips it is necessary to inform the TRACE32 instance which core/chip it controls for debugging. This means, SYStem.CONFIG.CORE tells TRACE32 to which specified <core> and <chip> it has to connect when the SYStem.Up command is executed. Most architectures have 1 <chip> with several <cores>. Architectures with 2 or more <chips> are relatively rare. Next: • Description of Format 1 for Physical Targets including example. • Description of Format 2 for Virtual Targets including examples. Format 1 for Physical Targets <core> Specify the core within the chip that is controlled by the TRACE32 instance. The command SYStem.CONFIG.CORE <core> is mainly used, if the cores within a chip are not daisy-chained, or daisy-chained and interrelated. The <core> index is also used by the command CORE.NUMber as start value to set up an SMP system. <chip> Specify which cores belong to the same chip if several chips are daisychained. This allows the debugger to coordinate chip-wide resources e.g. chip reset, cross trigger matrix, shared trace port etc. Key for this coordination is that TRACE32 is aware of the chip. Next: • Example for <core> and <chip> ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 216 SYStem Example for <core> and <chip> - Format 1 of SYStem.CONFIG.CORE Example for the MPC5517 (one chip with 2 cores) e200z1 Core TRACE32 Instance for e200z1 Core CORE 2. e200z0 Core MPC5517 CORE 1. Joint JTAG Interface TRACE32 Instance for e200z0 Core HOST USB Interface TARGET Start-up commands for the e200z1 core: SYStem.RESet ; reset all SYStem settings SYStem.CPU MPC5517 ; select MPC5517 as target ; processor ; SYStem.CONFIG.CORE <core> 1. <chip> 1. SYStem.Up ; assign the TRACE32 instance to ; core 1 (e200z1), chip 1 ; establish the communication ; between the debugger and the ; e200z1 core Start-up commands for the e200z0 core: SYStem.RESet ; reset all SYStem settings SYStem.CPU MPC5517 ; select MPC5517 as target ; processor ; SYStem.CONFIG.CORE <core> 2. <chip> 1. SYStem.Mode.Attach ; assign the TRACE32 instance to ; core 2 (e200z0), chip 1 ; establish the communication ; between the debugger and the ; e200z1 core ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 217 SYStem Format 2 for Virtual Targets <string> Unique string identifying the core to which TRACE32 connects in a virtual target. <value> Core number identifying the core to which TRACE32 connects in a virtual target. Note that the same <value> is displayed in the core # column of the SYStem.CONFIG.ListCORE window. Next: • The example for <value> applies to the MCD and the CADI interface. • The syntax rules for <string> differ for the MCD and the CADI interface: • - For the MCD interface - For the CADI interface Example for <string> in an SMP system. This simple example applies to the MCD and the CADI interface. MCD and CADI Interface - Example for <value> - Format 2 of SYStem.CONFIG.CORE SYStem.DOWN SYStem.CONFIG.ListCORE ;list the cores of a virtual target in the ;SYStem.CONFIG.ListCORE window ;the core <values> are displayed in the ;'core #' column. TRACE32 connects to the core ;having the specified <value> ; SYStem.CONFIG.CORE <value> 2. SYStem.Up ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 218 SYStem MCD Interface - Syntax Rules for <string> - Format 2 of SYStem.CONFIG.CORE To specify unique strings identifying cores, observe the following rules for <string> and take the screenshot below into account for a better understanding of these rules: • The <string> is case-sensitive. • The <string> starts at the first column to the left of the core # column: 4 3 2 1 ; col.1 col.2 col.3 col.4 SYStem.CONFIG.CORE "<core>|<device>|<system_instance>|<system>" • In the <string>, each column of the SYStem.CONFIG.ListCORE window is represented by a | character (vertical line). To ignore one or more columns, type one | per column to be ignored: SYStem.CONFIG.CORE "||4:1" ;ignore columns 1 and 2, and connect ;to the core having this unique ;sub-string ‘4:1’ in column 3 • You can specify (a) an entire row or (b) the contents of one or more cells (cell = intersection of column and row) or (c) just a sub-string of a cell: ;(a) entire row - the ellipsis ... is used for space economy SYStem.CONFIG.CORE "HARDWARE.ARM0.cpu3|HARDWARE.ARM0|...|..." ;(b) content of one cell SYStem.CONFIG.CORE "HARDWARE.ARM0.cpu3" ;(c) sub-string from cell SYStem.CONFIG.CORE "cpu3" • Wildcards like ‘*’ and ‘?’ are not supported. • For SMP systems: To connect to two or more cores, separate their unique strings or sub-strings with a comma: ;connect to cpu1 and cpu2 SYStem.CONFIG.CORE "cpu1,cpu2" ;let’s take the sub-strings ‘4:0’ and 4:1’ from column 3 into ;account SYStem.CONFIG.CORE "cpu0||4:0,cpu3||4:1" ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 219 SYStem CADI Interface - Syntax Rules for <string> - Format 2 of SYStem.CONFIG.CORE To specify unique strings identifying cores, observe the following rules for <string> and take the screenshot below into account for a better understanding of these rules: • The <string> is case-sensitive. • The <string> always contains the instance or a part of it, and may contain the Simulation ID: ;connect to a core by just specifying the instance SYStem.CONFIG.CORE "cluster.cpu0" ;connect to a core by specifying the Simulation ID and the instance SYStem.CONFIG.CORE "7000|cluster.cpu0" • Information from columns other than Simulation ID and instance cannot be used to define a connection to a core. • Wildcards like ‘*’ and ‘?’ are not supported. • For SMP systems: To connect to two or more cores, separate their unique strings or sub-strings with a comma: ;connect to cpu0 and cpu3, see instance column SYStem.CONFIG.CORE "cpu0,cpu3" ;let’s take the Simulation ID into account SYStem.CONFIG.CORE "7000|cpu0,7000|cpu3" ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 220 SYStem Example for <string> in an SMP System - Format 2 of SYStem.CONFIG.CORE This simple example applies to the MCD and the CADI interface. Steps that are specific to SMP systems are flagged with ‘(SMP system)’ in the comments: SYStem.DOWN SYStem.CONFIG.ListCORE ;list the cores of a virtual target in ;the SYStem.CONFIG.ListCORE window. SYStem.CPU CortexA9MPCore ;select a multicore CPU (SMP system) SYStem.CONFIG.CoreNumber 2 CORE.NUMber 2 ;set up the number of cores you want ;TRACE32 to connect to (SMP system) SYStem.CONFIG.CORE "cpu1,cpu2" ;connect to cpu1 and cpu2 (SMP system) ;NOTE: In the ‘Cores’ pull-down list, ;cpu1 becomes core 0 and ;cpu2 becomes core 1. ;The ‘Cores’ pull-down list is accessible ;via the TRACE32 status line. SYStem.Up See also ■ CORE.ASSIGN ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ■ SYStem.CONFIG.ListCORE ■ TargetSystem.state ’CPU specific SYStem Commands’ in ’XC2000/XC16x/C166CBC Debugger’ ’General SYStem Settings and Restrictions’ in ’DSP56K Debugger’ ’CPU specific SYStem Commands’ in ’CPU32 and ColdFire Debugger and Trace’ ’General System Settings’ in ’Blackfin Debugger’ ’General SYStem Commands’ in ’eTPU Debugger and Trace’ ’General SYStem Commands’ in ’GTM Debugger and Trace’ ’Multicore Debugging’ in ’H8S/23x9 Debugger’ ’General SYStem Settings and Restrictions’ in ’M8051EW Debugger’ ’General SYStem Settings for the Debugger’ in ’M-Core Debugger’ ’General SYStem Commands’ in ’MicroBlaze Debugger and Trace’ ’General SYStem Commands’ in ’MMDSP Debugger’ ’Commands’ in ’PCP Debugger Reference’ ’General SYStem Commands’ in ’PPC400/PPC440 Debugger and Trace’ ’General System Commands’ in ’PPC600 Family Debugger’ ’General SYStem Settings and Restrictions’ in ’R8051XC Debugger’ ’General System Settings’ in ’RX Debugger’ ’General System Settings’ in ’SH2, SH3 and SH4 Debugger’ ’General SYStem Settings and Restrictions’ in ’StarCore Debugger and Trace’ ’Command Reference’ in ’TriCore Debugger and Trace’ ’General System Settings’ in ’V850 Debugger and Trace’ ’General SYStem Commands’ in ’MMDSP NEXUS Debugger and Trace’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 221 SYStem SYStem.CONFIG.CoreNumber Format: Set up number of hardware threads SYStem.CONFIG.CoreNumber <number> Sets up the number of hardware threads that are available inside the chip. The access to the particular hardware threads can be configured by architecture specific SYStem.CONFIG commands described in your Processor Architecture Manual. The defined hardware threads can be used by the CORE commands to set up an SMP system. An error message is displayed below the command line if the command is used for single-core CPUs. SYStem.CONFIG.DEBUGTIMESCALE Format: Extend debug driver timeouts SYStem.CONFIG.DEBUGTIMESCALE <multiplier> Extends any timing behavior of the debug driver by the passed multiplier. The <multiplier> can take only values out of the power-of-two series e.g. 1, 2, 4, 8, 16 etc. The timing behavior should be adapted in case the debugger is connected to an emulator that runs with a much smaller clock compared to a silicon target. The original timeout settings may cause timeouts or bus errors in this scenario. A high multiplier can cause the software to hang for an extended period of time in case the debug driver waits for a certain condition. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 222 SYStem SYStem.CONFIG.ListCORE Display the cores of a virtual target Virtual targets only Format: SYStem.CONFIG.ListCORE Retrieves the list of cores from a virtual target and displays the result as a snapshot in the SYStem.CONFIG.ListCORE window. To re-read the list from the virtual target, re-open the window. The following screenshot shows an example of a core list provided by a virtual target that is connected to TRACE32 via the CADI interface: A B The following screenshot shows an example of a core list provided by a virtual target that is connected to TRACE32 via the MCD interface: B A A Column headers in the SYStem.CONFIG.ListCORE window correspond to the column headers of the used interface. B The core # column displays the sequence of cores provided by the interface. See also ■ SYStem.CONFIG.CORE ❏ SYStem.CONFIG.ListCORE() ■ SYStem.CONFIG.ListSIMulation ❏ SYStem.CONFIG.ListSIM() ▲ ’Connecting to Virtual Targets’ in ’Virtual Targets User’s Guide’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 223 SYStem SYStem.CONFIG.ListSIMulation Display the simulations of a virtual target Virtual targets only: CADI Format: SYStem.CONFIG.ListSIMulation Retrieves the list of simulations from a virtual target and displays the result as a snapshot in the SYStem.CONFIG.ListSIMulation window. To re-read the list from the virtual target, re-open the window. The sim # column displays the sequence of simulations provided by the interface. See also ■ SYStem.CONFIG.ListCORE ❏ SYStem.CONFIG.ListSIM() ❏ SYStem.CONFIG.ListCORE() ▲ ’Connecting to Virtual Targets’ in ’Virtual Targets User’s Guide’ SYStem.CONFIG.state Format: Display target configuration SYStem.CONFIG.state SYStem.MultiCore.view (deprecated) Display the target configuration as known to the debugger. See also ❏ ❏ ❏ ❏ ❏ SYStem.CONFIG.DEBUGPORTTYPE() ❏ SYStem.CONFIG.DRPRE() ❏ SYStem.CONFIG.IRPRE() SYStem.CONFIG.DEBUGPORT() SYStem.CONFIG.DRPOST() SYStem.CONFIG.IRPOST() SYStem.CONFIG.Slave() ▲ ’General SYStem Settings and Restrictions’ in ’NIOS II Debugger and Trace’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 224 SYStem SYStem.CONFIG.TRANSACTORPIPENAME Format: Set up pipe name SYStem.CONFIG.TRANSACTORPIPENAME <filename> This command defines the pipe name used to communicate with the Verilog Transactor in the RTL Simulation. Enter the transactor pipe name in TRACE32 PowerView. SYStem.CONFIG.DEBUGPORT VerilogTransactor0 SYStem.CONFIG.TRANSACTORPIPENAME "/tmp/t32verilog_actuator_user" Linux: Define environment variable in the context of the RTL simulation and Verilog Transactor in the shell. > export T32VERILOGTRANSACTORPIPE=/tmp/t32verilog_actuator_user ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 225 SYStem SYStem.CPU Format: Select CPU SYStem.CPU <cpu> Specify the exact CPU type used on your target. This is required to get the matching PER file and other CPU specific settings (e.g. predefined settings for on-chip FLASH). See also ■ PER.view ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ■ SYStem.state ❏ SYStem.CPU() ’CPU specific SYStem Commands’ in ’XC2000/XC16x/C166CBC Debugger’ ’General SYStem Settings and Restrictions’ in ’DSP56K Debugger’ ’CPU specific SYStem Commands’ in ’CPU32 and ColdFire Debugger and Trace’ ’General SYStem Commands’ in ’78K0R/RL78 Debugger’ ’AndesCore specific SYStem Commands’ in ’Andes Debugger’ ’General SYStem Settings’ in ’APS Debugger’ ’CPU specific SYStem Commands’ in ’ARC Debugger’ ’ARM specific SYStem Commands’ in ’ARM Debugger’ ’ARM specific SYStem Commands’ in ’ARMv8-A Debugger’ ’General SYStem Settings’ in ’AVR32 Debugger and NEXUS Trace’ ’Beyond specific SYStem Commands’ in ’Beyond Debugger and Trace’ ’General System Settings’ in ’Blackfin Debugger’ ’DSP specific SYStem Commands’ in ’TMS320C2X Debugger’ ’DSP specific SYStem Commands’ in ’TMS320C5X Debugger’ ’DSP specific SYStem Commands’ in ’TMS320C6X Debugger’ ’General SYStem Settings’ in ’CEVA-X Debugger’ ’Cortex-M specific SYStem Commands’ in ’Cortex-M Debugger’ ’General SYStem Commands’ in ’eTPU Debugger and Trace’ ’General SYStem Commands’ in ’GTM Debugger and Trace’ ’System Commands’ in ’H8S/23x9 Debugger’ ’General SYStem Settings and Restrictions’ in ’MCS08 Debugger’ ’General SYStem Settings and Restrictions’ in ’MCS12 Debugger’ ’General SYStem Settings’ in ’Hexagon Debugger’ ’General SYStem Settings and Restrictions’ in ’M32R Debugger and Trace’ ’General SYStem Settings and Restrictions’ in ’M8051EW Debugger’ ’General SYStem Settings for the Debugger’ in ’M-Core Debugger’ ’General SYStem Commands’ in ’MicroBlaze Debugger and Trace’ ’MIPS specific SYStem Commands’ in ’MIPS Debugger and Trace’ ’General SYStem Commands’ in ’MMDSP Debugger’ ’Command Reference: SYStem Commands’ in ’Qorivva MPC5xxx/SPC5xx Debugger and NEXUS Trace’ ’General SYStem Commands’ in ’MSP430 Debugger’ ’General SYStem Settings and Restrictions’ in ’NIOS II Debugger and Trace’ ’General SYStem Settings’ in ’CEVA-Oak/Teak/TeakLite Debugger’ ’Commands’ in ’PCP Debugger Reference’ ’General SYStem Commands’ in ’PPC400/PPC440 Debugger and Trace’ ’General System Commands’ in ’PPC600 Family Debugger’ ’General SYStem Commands’ in ’MPC5xx/8xx Debugger and Trace’ ’General SYStem Commands’ in ’PQIII Debugger’ ’General SYStem Commands’ in ’QorIQ Debugger and NEXUS Trace’ ’General SYStem Commands’ in ’PWRficient Debugger’ ’General SYStem Settings and Restrictions’ in ’R8051XC Debugger’ ’Command Reference: SYStem Commands’ in ’RH850 Debugger and Trace’ ’General System Settings’ in ’SH2, SH3 and SH4 Debugger’ ’General SYStem Settings and Restrictions’ in ’StarCore Debugger and Trace’ ’Command Reference’ in ’TriCore Debugger and Trace’ ’General System Settings’ in ’V850 Debugger and Trace’ ’General SYStem Settings’ in ’Intel x86/x64 Debugger’ ’General System Settings’ in ’ZSP Debugger’ ’General SYStem Settings and Restrictions’ in ’FIRE Emulator for C166 Cell-Based-Core’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 226 SYStem ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ’General SYStem Settings and Restrictions’ in ’FIRE Emulator for C166 Family’ ’Special Settings and Restrictions H8S/224x/23xx/265x’ in ’FIRE Emulator for H8S and H8/300H’ ’Special Settings and Restrictions H8S/222x/223x/262x/263x’ in ’FIRE Emulator for H8S and H8/300H’ ’Special Settings and Restrictions H8S/21xx’ in ’FIRE Emulator for H8S and H8/300H’ ’Special Settings and Restrictions H8S/222x/223x/262x/263x’ in ’FIRE Emulator for H8S and H8/300H’ ’Special Settings and Restrictions H8S/224x/23xx/265x’ in ’FIRE Emulator for H8S and H8/300H’ ’Special Settings and Restrictions H8S/222x/223x/262x/263x’ in ’FIRE Emulator for H8S and H8/300H’ ’Special Settings and Restrictions H8S/21xx’ in ’FIRE Emulator for H8S and H8/300H’ ’CPU Type and Mode’ in ’FIRE Emulator for HC12/MCS12’ ’General SYStem Settings and Restrictions’ in ’FIRE Emulator for SH2’ ’General SYStem Settings and Restrictions’ in ’FIRE Emulator for SH2’ ’General SYStem Settings and Restrictions’ in ’FIRE Emulator for SH2’ ’General SYStem Settings and Restrictions’ in ’FIRE Emulator for C166S V2 Family’ ’Basics’ in ’ICE Emulator for 8051’ ’Special Settings 68331/332/334/335/336/339/376’ in ’ICE Emulator for MC6833X’ ’General SYStem Settings and Restrictions’ in ’ICE Emulator for MC6833X’ ’General SYStem Settings and Restrictions’ in ’ICE Emulator for C166/ST10’ ’Basics’ in ’ICE Emulator for Hitachi H8/300 and H8/500’ ’Basics’ in ’ICE Emulator for Hitachi H8/300 and H8/500’ ’Basics’ in ’ICE Emulator for MELPS 7700’ ’Special Settings 186ER/188ER and Restrictions’ in ’ICE Emulator for the 80186 and 80196’ ’Special Settings 186ES, 188ES, 186ED and Restrictions’ in ’ICE Emulator for the 80186 and 80196’ ’Basics’ in ’ICE Emulator for Z80 and Z180’ ’Basics’ in ’x196 Monitor’ ’General SYStem Commands’ in ’ARM and XSCALE Monitor’ ’General SYStem Settings and Restrictions’ in ’C166 Monitor’ ’Specific SYStem Commands’ in ’EPOC Target Server’ ’Specific SYStem Commands’ in ’H8S and H8/300H Monitor’ ’Specific System Commands’ in ’OSE Target Server’ ’Pdebug Front-end Specific Commands’ in ’TRACE32 pdebug Target Server for ARM’ ’Specific System Commands’ in ’SH2 Monitor’ ’General SYStem Settings and Restrictions’ in ’TriCore Monitor’ ’Emulation Modes’ in ’x186 Monitor’ ’General SYStem Commands’ in ’x386 and x486 Monitor’ ’General SYStem Settings and Restrictions’ in ’XA51 Monitor’ ’Emulation Modes’ in ’Z80 Monitor’ ’ARM specific SYStem Commands’ in ’MAC71xx/72xx NEXUS Debugger and Trace’ ’General SYStem Commands’ in ’MMDSP NEXUS Debugger and Trace’ ’General SYStem Commands’ in ’MPC56x NEXUS Debugger and Trace’ ’Release Information’ in ’Release History’ ’68K and HC16 specific SYStem Commands’ in ’Simulator for 68K/ColdFire’ ’ARM specific SYStem Commands’ in ’Simulator for ARM and XSCALE’ ’General SYStem Settings and Restrictions’ in ’Simulator for C166/ST10’ ’Specific SYStem Commands’ in ’Simulator for H8/300, H8/300H and H8S’ ’General SYStem Settings and Restrictions’ in ’Simulator for HC08/MSC08’ ’General SYStem Settings and Restrictions’ in ’Simulator for HC12/MCS12’ ’MIPS specific SYStem Commands’ in ’Simulator for MIPS’ ’General System Commands’ in ’Simulator for NIOS-II’ ’General SYStem Commands’ in ’Simulator for PowerPC’ ’CPU specific SYStem Commands’ in ’Simulator for SuperH’ ’CPU specific SYStem Commands’ in ’Simulator for TriCore’ ’Emulation Modes’ in ’Simulator for Intel x86/x64’ ’Emulation Modes’ in ’Simulator for Z80+’ ’Starting-up the TRACE32-FIRE’ in ’Training FIRE Basics’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 227 SYStem SYStem.CpuAccess Format: Run-time memory access (intrusive) SYStem.CpuAccess Enable | Denied | Nonstop Default: Denied. Enable Allow intrusive run-time memory access. In order to perform a memory read or write while the CPU is executing the program the debugger stops the program execution about 10 times/s. Each short stop takes 1 … 100 ms depending on the speed of the debug interface and on the number of the read/write accesses required. A red S in the state line of the TRACE32 screen indicates this intrusive behavior of the debugger. Denied Lock intrusive run-time memory access. Nonstop Nonstop only makes sense if the CPU supports memory read and write while the CPU is executing the program (See the command SYStem.MemAccess) Lock all features of the debugger, that affect the run-time behavior. Nonstop reduces the functionality of the debugger to: • run-time access to memory and variables • trace display The debugger inhibits the following: • to stop the program execution • all features of the debugger that are intrusive (e.g. action Spot for breakpoints, performance analysis via StopAndGo mode, conditional breakpoints etc.) See also ■ SYStem.state ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ’CPU specific SYStem Commands’ in ’XC2000/XC16x/C166CBC Debugger’ ’General SYStem Settings and Restrictions’ in ’DSP56K Debugger’ ’CPU specific SYStem Commands’ in ’CPU32 and ColdFire Debugger and Trace’ ’General SYStem Commands’ in ’78K0R/RL78 Debugger’ ’AndesCore specific SYStem Commands’ in ’Andes Debugger’ ’General SYStem Settings’ in ’APS Debugger’ ’CPU specific SYStem Commands’ in ’ARC Debugger’ ’ARM specific SYStem Commands’ in ’ARM Debugger’ ’ARM specific SYStem Commands’ in ’ARMv8-A Debugger’ ’General SYStem Settings’ in ’AVR32 Debugger and NEXUS Trace’ ’Beyond specific SYStem Commands’ in ’Beyond Debugger and Trace’ ’General System Settings’ in ’Blackfin Debugger’ ’DSP specific SYStem Commands’ in ’TMS320C2X Debugger’ ’DSP specific SYStem Commands’ in ’TMS320C5X Debugger’ ’DSP specific SYStem Commands’ in ’TMS320C6X Debugger’ ’General SYStem Settings’ in ’CEVA-X Debugger’ ’Cortex-M specific SYStem Commands’ in ’Cortex-M Debugger’ ’General SYStem Commands’ in ’eTPU Debugger and Trace’ ’General SYStem Commands’ in ’GTM Debugger and Trace’ ’System Commands’ in ’H8S/23x9 Debugger’ ’General SYStem Settings and Restrictions’ in ’MCS08 Debugger’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 228 SYStem ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ’General SYStem Settings and Restrictions’ in ’MCS12 Debugger’ ’General SYStem Settings’ in ’Hexagon Debugger’ ’General SYStem Settings and Restrictions’ in ’M32R Debugger and Trace’ ’General SYStem Settings and Restrictions’ in ’M8051EW Debugger’ ’General SYStem Settings for the Debugger’ in ’M-Core Debugger’ ’General SYStem Commands’ in ’MicroBlaze Debugger and Trace’ ’MIPS specific SYStem Commands’ in ’MIPS Debugger and Trace’ ’General SYStem Commands’ in ’MMDSP Debugger’ ’Command Reference: SYStem Commands’ in ’Qorivva MPC5xxx/SPC5xx Debugger and NEXUS Trace’ ’General SYStem Commands’ in ’MSP430 Debugger’ ’General SYStem Settings and Restrictions’ in ’NIOS II Debugger and Trace’ ’General SYStem Settings’ in ’CEVA-Oak/Teak/TeakLite Debugger’ ’Commands’ in ’PCP Debugger Reference’ ’General SYStem Commands’ in ’PPC400/PPC440 Debugger and Trace’ ’General System Commands’ in ’PPC600 Family Debugger’ ’General SYStem Commands’ in ’MPC5xx/8xx Debugger and Trace’ ’General SYStem Commands’ in ’PQIII Debugger’ ’General SYStem Commands’ in ’QorIQ Debugger and NEXUS Trace’ ’General SYStem Commands’ in ’PWRficient Debugger’ ’General SYStem Settings and Restrictions’ in ’R8051XC Debugger’ ’Command Reference: SYStem Commands’ in ’RH850 Debugger and Trace’ ’General System Settings’ in ’RX Debugger’ ’General System Settings’ in ’SH2, SH3 and SH4 Debugger’ ’General SYStem Settings and Restrictions’ in ’StarCore Debugger and Trace’ ’Command Reference’ in ’TriCore Debugger and Trace’ ’General System Settings’ in ’V850 Debugger and Trace’ ’General SYStem Settings’ in ’Intel x86/x64 Debugger’ ’General SYStem Settings and Restrictions’ in ’XC800 Debugger’ ’General System Settings’ in ’ZSP Debugger’ ’Basics’ in ’FIRE Emulator for C166 Cell-Based-Core’ ’Basics’ in ’FIRE Emulator for C166 Family’ ’Basics’ in ’FIRE Emulator for C166S V2 Family’ ’GDB Front-end Commands’ in ’TRACE32 as GDB Front-End’ ’General SYStem Settings and Restrictions’ in ’C166 Monitor’ ’Specific SYStem Commands’ in ’H8S and H8/300H Monitor’ ’Pdebug Front-end Specific Commands’ in ’TRACE32 pdebug Target Server for ARM’ ’Specific System Commands’ in ’SH2 Monitor’ ’General SYStem Settings and Restrictions’ in ’TriCore Monitor’ ’Emulation Modes’ in ’x186 Monitor’ ’General SYStem Commands’ in ’x386 and x486 Monitor’ ’ARM specific SYStem Commands’ in ’MAC71xx/72xx NEXUS Debugger and Trace’ ’General SYStem Commands’ in ’MMDSP NEXUS Debugger and Trace’ ’General SYStem Commands’ in ’MPC56x NEXUS Debugger and Trace’ ’68K and HC16 specific SYStem Commands’ in ’Simulator for 68K/ColdFire’ ’General SYStem Settings and Restrictions’ in ’Simulator for C166/ST10’ ’Specific SYStem Commands’ in ’Simulator for H8/300, H8/300H and H8S’ ’General SYStem Settings and Restrictions’ in ’Simulator for HC12/MCS12’ ’MIPS specific SYStem Commands’ in ’Simulator for MIPS’ ’General System Commands’ in ’Simulator for NIOS-II’ ’General SYStem Commands’ in ’Simulator for PowerPC’ ’CPU specific SYStem Commands’ in ’Simulator for SuperH’ ’CPU specific SYStem Commands’ in ’Simulator for TriCore’ ’Emulation Modes’ in ’Simulator for Intel x86/x64’ ’Starting-up the TRACE32-FIRE’ in ’Training FIRE Basics’ ’Specific Commands’ in ’Native Process Debugger’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 229 SYStem SYStem.DETECT Detect target system resources Format: SYStem.DETECT <type> <type>: state BASECPU CPU DaisyChain DAP IDCode JtagClock PortSHaRing state Opens the System Detection Wizard which allows a step-by-step investigation of the entire JTAG chain. It displays all found devices and suggests a CPU and the corresponding multi-core settings for each found device. The user can choose the desired core, any valid multi-core configuration will be applied. BASECPU Detects and selects the appropriate CPU and multi-core configuration for the first device in the JTAG chain. CPU detection is only based on the JTAG ID code, no further ID registers are read from the device. CPU Detects and selects the appropriate CPU and multi-core configuration for the first device in the JTAG chain. The command will investigate the entire device for an exact detection. If supported for your architecture, you can use SYStem.CPU AUTO instead. DaisyChain Scans your JTAG chain and prints details to the AREA window. See example. DAP Identifies the types of access ports of the DAP. In addition, the SYStem.DETECT.DAP command inspects the ROM tables, if available, to discover any CoreSight components and their access addresses. The result is displayed in the form of a list in the SYStem.DETECT.DAP window. tbd. SHOWChain Scans the JTAG chain and show details in a separate window. In this window (SYStem.DETECT SHOWChain) you can double-click on a CPU core to set the values IRPOST, IRPRE, DRPOST and DRPRE in window SYSTEM.CONFIG state /Jtag accordingly. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 230 SYStem IDCode Detects the ID codes of all JTAG-TAP controllers in the JTAG chain and stores them internally. In order to access the result use the following functions: • IDCODENUMBER() returns the number of detected TAP controllers. • IDCODE(<n>)returns the IDCODE of the n-th TAP controller Example: PRINT IDCODE(0) prints 0x100034B1, if the first core in the JTAG chain is an ARC700. JtagClock Determines the maximum JTAG Frequency by polling the BYPASS register. This only reflects the quality of the electrical connection and the speed the BYPASS register path. The function EVAL() retrieves the result of the command in Hertz. This command may heavily confuse all devices attached to the JTAG chain. PortSHaRing Determines if the debug port is shared with a 3rd party tool. In a PRACTICE script, the result can be obtained by the PORTSHARING() function. NOTE: The availability of the SYStem.DETECT types are dependent on the architecture and the debug port protocol, so they may not be available for all architectures and configurations. NOTE: SYStem.DETECT may apply a Power-on Reset to your system and always switches the debug system to Down-State (see SYStem.Mode Down). ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 231 SYStem The System Detection Wizard The System Detection Wizard is still under construction. It currently supports only the following architectures: ARM/Cortex, MIPS, TriCore. Example for the ARM architecture: SYStem.DETECT.state ; open a System Detection Wizard Before TRACE32 can check your target configuration it needs to know how the TRACE32 debugger is connected to the target (here for example via JTAG). Push Continue to confirm that the connection details are valid. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 232 SYStem TRACE32 runs the system detection and display the results. If several cores are detected, you can choose which core should be controlled by the current TRACE32 instance be pushing the Set <core> button. Here for example “Device 1: Set ARM9EJ”. The Save Configuration button allows you to store the chosen settings to a file. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 233 SYStem Daisy-Chain Detection via the TRACE32 AREA Window AREA.view ; open a TRACE32 AREA window SYStem.DETECT.DaisyChain ; run TRACE32 daisy-chain detection The result of the daisy-chain detection is displayed in the AREA window. TRACE32 also displays the commands that are required for a correct daisy-chain set-up (see blue bar). Just copy these commands to your script, separate them by space and your are done. Please be aware that TRACE32 can only generate the commands for the daisy-chain set-up if it knows the ID codes for the cores on your target (see picture below). See also ■ SYStem.state ❏ IDCODE() SYStem.DLLCommand Custom DLL connection to target Debugger MIPS, V24 monitor with DLL Format: SYStem.DLLCommand See also ■ SYStem.state ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 234 SYStem SYStem.Down Format: Standby mode SYStem.Down (E) The system is switched into standby mode. Normally this should be done before the target system is powered down. RESet (E) Probe is passive and connected, the system goes into tri-state mode. ResetDown (E) Probe is active, target system is not powered up, system goes into tristate. ResetUp (E) Probe is active, target system is powered up, all lines are inactive, but not in tri-state. (B) For the BDM debugger and the ROM monitor this command is highly target-dependent. Please refer to the Debugger/ROM Monitor manual for your CPU type - The corresponding command is SYStem.Mode Down. See also ■ SYStem.state ▲ ▲ ▲ ▲ ▲ ’SYStem Commands’ in ’EPROM/FLASH Simulator’ ’Emulation System’ in ’ICE User’s Guide’ ’General SYStem Settings and Restrictions’ in ’C166 Monitor’ ’General SYStem Settings and Restrictions’ in ’TriCore Monitor’ ’General SYStem Settings and Restrictions’ in ’Simulator for C166/ST10’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 235 SYStem SYStem.GTL Configure GTL debug port Using the SYStem.GTL command group, you can configure debug port GTL0 (GTL, Generic Transactor Library). The command group is active after GTL0 has been selected. It allows to define and configure the used transactors and GTL 3rd-party library. The settings are shared among the TRACE32 instances connected to a certain MCI Server. ;optional step: open the SYStem.CONFIG dialog showing the DebugPort tab SYStem.CONFIG.state /DebugPort ;selecting the GTL back-end activates the SYStem.GTL commands SYStem.CONFIG.DEBUGPORT GTL0 See also ■ ■ ■ ■ ■ ❏ ❏ ■ ■ ■ ■ ■ ❏ ❏ SYStem.GTL.CONNECT SYStem.GTL.DMANAME SYStem.GTL.LIBname SYStem.GTL.MODELCONFIG SYStem.GTL.SERVERCONFIG SYStem.GTL.LIBname() SYStem.GTL.VENDORID() SYStem.GTL.DISCONNECT SYStem.GTL.JTAGPROBENAME SYStem.GTL.MODELCOMMAND SYStem.GTL.MODELNAME SYStem.state SYStem.GTL.PLUGINVERSION() SYStem.GTL.VERSION() ▲ ’Introduction’ in ’GTL Debug Back-End’ SYStem.GTL.CONNECT Format: Connect to emulation or simulation SYStem.GTL.CONNECT /TRY Uses the settings previously configured with the SYStem.GTL commands to load the GTL library and connect to the emulation or simulation. TRY The parameter forces the command to continue quietly when the connection could not be established. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 236 SYStem ;selecting the GTL back-end activates the SYStem.GTL commands SYStem.CONFIG.DEBUGPORT GTL0 ;disable periodic re-connection tries SYStem.GTL.DISCONNECT ;configure GTL SYStem.GTL.JTAGPROBENAME "PROBE1" SYStem.GTL.LIBname "gtllib.so" ;connect to the emulation or simulation SYStem.GTL.CONNECT See also ■ SYStem.GTL SYStem.GTL.DISCONNECT Format: Disconnect from emulation or simulation SYStem.GTL.DISCONNECT Disconnects from existing connection to the emulation or simulation and disables the periodic re-connection tries. See also ■ SYStem.GTL SYStem.GTL.DMANAME Format: Name of DMA transactor SYStem.GTL.DMANAME <string> Configures name and usage of DMA transactor to have back-door memory access to the emulation or simulation. The back-door access can be used by Data.LOAD command with the parameter /DMALOAD. See also ■ SYStem.GTL ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 237 SYStem SYStem.GTL.JTAGPROBENAME Format: Name of JTAG probe transactor SYStem.GTL.JTAGPROBENAME <string> Configures name and usage of a JTAG probe transactor. A JTAG probe transactor can interact with a whole JTAG chain of the DUT. See also ■ SYStem.GTL SYStem.GTL.LIBname Format: Name of 3rd party plug-in library SYStem.GTL.LIBname <string> Configures the 3rd-party GTL library that is used to access the emulation or simulation. This command should be issued as the last configuration command. See also ■ SYStem.GTL SYStem.GTL.MODELCOMMAND Format: Execute command in plug-in SYStem.GTL.MODELCOMMAND <command> Executes a plug-in specific command. SYStem.GTL.MODELCOMMAND "do something important" LOCAL &result &result=EVAL.STRing() PRINT "Result was: &result" See also ■ SYStem.GTL ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 238 SYStem SYStem.GTL.MODELCONFIG Format: Configure emulation options SYStem.GTL.MODELCONFIG <string> Configures the options to connect to the emulation or simulator. The particular options are defined by the 3rd-party plug-in. See also ■ SYStem.GTL SYStem.GTL.MODELNAME Format: Select emulation SYStem.GTL.MODELNAME <string> Selects a certain emulation out of a set of emulations. See also ■ SYStem.GTL SYStem.GTL.SERVERCONFIG Format: Configure server options SYStem.GTL.SERVERCONFIG <string> Configures options to connect to the server knowing all emulations. The particular options are defined by the 3rd-party plug-in. See also ■ SYStem.GTL ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 239 SYStem SYStem.JtagClock Format: Define JTAG frequency SYStem.JtagClock <frequency> Selects the JTAG port frequency (TCK) used by the debugger to communicate with the processor. This influences e.g. the download speed. It could be required to reduce the JTAG frequency if there are buffers, additional loads or high capacities on the JTAG lines or if VTREF is very low. A very high frequency will not work on all systems and will result in an erroneous data transfer. Therefore we recommend to use the default setting if possible. See also ■ SYStem.state ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ❏ SYStem.JtagClock() ’CPU specific SYStem Commands’ in ’XC2000/XC16x/C166CBC Debugger’ ’General SYStem Settings and Restrictions’ in ’DSP56K Debugger’ ’AndesCore specific SYStem Commands’ in ’Andes Debugger’ ’CPU specific SYStem Commands’ in ’ARC Debugger’ ’ARM specific SYStem Commands’ in ’ARM Debugger’ ’ARM specific SYStem Commands’ in ’ARMv8-A Debugger’ ’Beyond specific SYStem Commands’ in ’Beyond Debugger and Trace’ ’General System Settings’ in ’Blackfin Debugger’ ’DSP specific SYStem Commands’ in ’TMS320C2X Debugger’ ’DSP specific SYStem Commands’ in ’TMS320C5X Debugger’ ’DSP specific SYStem Commands’ in ’TMS320C6X Debugger’ ’Cortex-M specific SYStem Commands’ in ’Cortex-M Debugger’ ’General SYStem Commands’ in ’eTPU Debugger and Trace’ ’General SYStem Commands’ in ’GTM Debugger and Trace’ ’System Commands’ in ’H8S/23x9 Debugger’ ’General SYStem Settings’ in ’Hexagon Debugger’ ’General SYStem Settings and Restrictions’ in ’M32R Debugger and Trace’ ’General SYStem Settings and Restrictions’ in ’M8051EW Debugger’ ’General SYStem Settings for the Debugger’ in ’M-Core Debugger’ ’General SYStem Commands’ in ’MicroBlaze Debugger and Trace’ ’MIPS specific SYStem Commands’ in ’MIPS Debugger and Trace’ ’General SYStem Commands’ in ’MMDSP Debugger’ ’General SYStem Commands’ in ’MSP430 Debugger’ ’General SYStem Settings and Restrictions’ in ’NIOS II Debugger and Trace’ ’Commands’ in ’PCP Debugger Reference’ ’General SYStem Settings and Restrictions’ in ’R8051XC Debugger’ ’Command Reference: SYStem Commands’ in ’RH850 Debugger and Trace’ ’General System Settings’ in ’SH2, SH3 and SH4 Debugger’ ’General SYStem Settings and Restrictions’ in ’StarCore Debugger and Trace’ ’Command Reference’ in ’TriCore Debugger and Trace’ ’General System Settings’ in ’V850 Debugger and Trace’ ’System Options’ in ’XC800 Debugger’ ’General System Settings’ in ’ZSP Debugger’ ’General SYStem Settings and Restrictions’ in ’FIRE Emulator for C166 Cell-Based-Core’ ’General SYStem Settings and Restrictions’ in ’FIRE Emulator for C166S V2 Family’ ’ARM specific SYStem Commands’ in ’MAC71xx/72xx NEXUS Debugger and Trace’ ’General SYStem Commands’ in ’MMDSP NEXUS Debugger and Trace’ ’Release Information’ in ’Release History’ ’CPU specific SYStem Commands’ in ’Simulator for TriCore’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 240 SYStem SYStem.Line Format: CPU signal control SYStem.Line <option> This command controls some special lines of the CPU. See also ■ SYStem.state ▲ ▲ ▲ ▲ ▲ ’General SYStem Settings and Restrictions’ in ’ICE Emulator for 8051’ ’General SYStem Settings and Restrictions’ in ’ICE Emulator for 8051’ ’General Settings and Restrictions’ in ’ICE Emulator for 68000’ ’General SYStem Settings and Restrictions’ in ’ICE Emulator for MC68020/30’ ’Emulation System’ in ’ICE User’s Guide’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 241 SYStem SYStem.LOCK Format: Tristate the JTAG port SYStem.LOCK [ON | OFF] Default: OFF. If the system is locked no access to the JTAG port will be performed by the debugger. While locked the JTAG connector of the debugger is tristated. The intention of the lock command is for example to give JTAG access to another tool. The process can also be automated, see SYStem.CONFIG TriState. Ensure that the state of the ARM core JTAG state machine remains unchanged while the system is locked. To ensure correct hand over the options SYStem.CONFIG TAPState and SYStem.CONFIG TCKLevel must be set properly. They define the TAP state and TCK level which is selected when the debugger switches to tristate mode. Please note: nTRST must have a pull-up resistor on the target, EDBGRQ must have a pull-down resistor. There is a single cable contact on the casing of the debug cable which can be used to detect if the JTAG connector is tristated. If tristated also this signal is tristated, otherwise it is pulled low. See also ■ SYStem.state ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ’CPU specific SYStem Commands’ in ’XC2000/XC16x/C166CBC Debugger’ ’General SYStem Settings and Restrictions’ in ’DSP56K Debugger’ ’CPU specific SYStem Commands’ in ’CPU32 and ColdFire Debugger and Trace’ ’General SYStem Commands’ in ’78K0R/RL78 Debugger’ ’AndesCore specific SYStem Commands’ in ’Andes Debugger’ ’General SYStem Settings’ in ’APS Debugger’ ’CPU specific SYStem Commands’ in ’ARC Debugger’ ’ARM specific SYStem Commands’ in ’ARM Debugger’ ’ARM specific SYStem Commands’ in ’ARMv8-A Debugger’ ’General SYStem Settings’ in ’AVR32 Debugger and NEXUS Trace’ ’Beyond specific SYStem Commands’ in ’Beyond Debugger and Trace’ ’General System Settings’ in ’Blackfin Debugger’ ’DSP specific SYStem Commands’ in ’TMS320C2X Debugger’ ’DSP specific SYStem Commands’ in ’TMS320C6X Debugger’ ’General SYStem Settings’ in ’CEVA-X Debugger’ ’Cortex-M specific SYStem Commands’ in ’Cortex-M Debugger’ ’General SYStem Commands’ in ’eTPU Debugger and Trace’ ’General SYStem Commands’ in ’GTM Debugger and Trace’ ’Multicore Debugging’ in ’H8S/23x9 Debugger’ ’General SYStem Settings and Restrictions’ in ’MCS08 Debugger’ ’General SYStem Settings and Restrictions’ in ’MCS12 Debugger’ ’General SYStem Settings’ in ’Hexagon Debugger’ ’General SYStem Settings and Restrictions’ in ’M32R Debugger and Trace’ ’General SYStem Settings and Restrictions’ in ’M8051EW Debugger’ ’General SYStem Settings for the Debugger’ in ’M-Core Debugger’ ’General SYStem Commands’ in ’MicroBlaze Debugger and Trace’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 242 SYStem ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ’MIPS specific SYStem Commands’ in ’MIPS Debugger and Trace’ ’General SYStem Commands’ in ’MMDSP Debugger’ ’Command Reference: SYStem Commands’ in ’Qorivva MPC5xxx/SPC5xx Debugger and NEXUS Trace’ ’General SYStem Commands’ in ’MSP430 Debugger’ ’General SYStem Settings and Restrictions’ in ’NIOS II Debugger and Trace’ ’General SYStem Settings’ in ’CEVA-Oak/Teak/TeakLite Debugger’ ’Commands’ in ’PCP Debugger Reference’ ’General SYStem Commands’ in ’PPC400/PPC440 Debugger and Trace’ ’General System Commands’ in ’PPC600 Family Debugger’ ’General SYStem Commands’ in ’PQIII Debugger’ ’General SYStem Commands’ in ’QorIQ Debugger and NEXUS Trace’ ’General SYStem Commands’ in ’PWRficient Debugger’ ’General SYStem Settings and Restrictions’ in ’R8051XC Debugger’ ’Command Reference: SYStem Commands’ in ’RH850 Debugger and Trace’ ’General System Settings’ in ’RX Debugger’ ’General System Settings’ in ’SH2, SH3 and SH4 Debugger’ ’General SYStem Settings and Restrictions’ in ’StarCore Debugger and Trace’ ’Command Reference’ in ’TriCore Debugger and Trace’ ’General System Settings’ in ’V850 Debugger and Trace’ ’General SYStem Settings and Restrictions’ in ’XC800 Debugger’ ’Multicore Debugging’ in ’ZSP Debugger’ ’General System Settings and Restrictions’ in ’FIRE Emulator for HC12/MCS12’ ’ARM specific SYStem Commands’ in ’MAC71xx/72xx NEXUS Debugger and Trace’ ’General SYStem Commands’ in ’MMDSP NEXUS Debugger and Trace’ ’68K and HC16 specific SYStem Commands’ in ’Simulator for 68K/ColdFire’ ’General SYStem Settings and Restrictions’ in ’Simulator for C166/ST10’ ’Specific SYStem Commands’ in ’Simulator for H8/300, H8/300H and H8S’ ’General SYStem Settings and Restrictions’ in ’Simulator for HC12/MCS12’ ’MIPS specific SYStem Commands’ in ’Simulator for MIPS’ ’General System Commands’ in ’Simulator for NIOS-II’ ’CPU specific SYStem Commands’ in ’Simulator for TriCore’ ’Emulation Modes’ in ’Simulator for Intel x86/x64’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 243 SYStem SYStem.LOG Log read and write accesses to the target Using the SYStem.LOG command group, you can record the read and write accesses TRACE32 performs to the target hardware. For example, the SYStem.LOG command group can be used to diagnose why errors like “emulator debug port fail”, “emulator berr error”, “bus error”, etc. occurred. By default, logging stops after an error has occurred (see SYStem.LOG.StopOnError). The read and write accesses can be displayed in the SYStem.LOG.List window. In addition, they can be recorded in a system log file with an unlimited file size. The log entries are recorded in plain text format, and the read and write accesses are converted to Data.Set commands. This way it is possible to re-run the system log in a TRACE32 instruction set simulator. The system log records all TRACE32 debugger accesses to the target. Examples of accesses that cannot be logged include: • Accesses via JTAG API • Accesses initiated by the TERM command • Accesses initiated by the SNOOPer command For configuring a system log, use the TRACE32 command line or the SYStem.LOG.state window: Example: SYStem.LOG.state SYStem.LOG.RESet SYStem.LOG.OPEN ~~\sys.log SYStem.LOG.List ;optional: open the configuration window ;use default configuration of system log ;open a system log file for writing ;display the accesses to the target ;log the read and write accesses to the target List.auto Step.single SYStem.LOG.CLOSE ;close the system log file for writing See also ■ ■ ■ ■ LOG SYStem.LOG.List SYStem.LOG.OPEN SYStem.LOG.state ■ ■ ■ ■ SYStem.LOG.CLEAR SYStem.LOG.Mode SYStem.LOG.RESet SYStem.LOG.StopOnError ■ ■ ■ ■ SYStem.LOG.CLOSE SYStem.LOG.OFF SYStem.LOG.Set SYStem.state ■ SYStem.LOG.Init ■ SYStem.LOG.ON ■ SYStem.LOG.SIZE ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 244 SYStem SYStem.LOG.CLEAR Format: Clear the ‘SYStem.LOG.List’ window SYStem.LOG.CLEAR Clears and immediately re-populates the list in the SYStem.LOG.List window with new system log entries same as if you are running commands SYStem.LOG.Init and SYStem.LOG.ON in rapid succession. SYStem.LOG.CLEAR is the command behind the Clear button in the SYStem.LOG.List window. See also ■ SYStem.LOG ■ SYStem.LOG.Init ■ SYStem.LOG.state SYStem.LOG.CLOSE Format: Close the system log file SYStem.LOG.CLOSE Closes the active system log file. Any further read and write accesses are not recorded in the system log file. You can now open the file in an EDIT or TYPE window or in another application. Using the DO command, you can also re-run the system log in a TRACE32 instruction set simulator. You do not need to rename the file extension to cmm, the extension for PRACTICE scripts; you can keep the file extension log. ... SYStem.LOG.CLOSE ;close the system log file for writing PEDIT ~~\sys.log ;open log file as a PRACTICE script See also ■ SYStem.LOG ■ SYStem.LOG.OPEN ■ SYStem.LOG.state ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 245 SYStem SYStem.LOG.Init Format: Clear the ‘SYStem.LOG.List’ window SYStem.LOG.Init Clears the system log entries displayed in the SYStem.LOG.List window. The SYStem.LOG.Init command has no impact on the system log file. Since the SYStem.LOG.List window itself continues to log the target, the list in the window may be immediately re-populated after clearing. To prevent the list in the SYStem.LOG.List window from being re-populated, run these commands: SYStem.LOG.OFF SYStem.LOG.Init See also ■ SYStem.LOG ■ SYStem.LOG.CLEAR ■ SYStem.LOG.state ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 246 SYStem SYStem.LOG.List Format: Display the accesses made by TRACE32 SYStem.LOG.List Data.LOG (deprecated) Displays all types of target accesses made by TRACE32. Setup Opens the SYStem.LOG.state window. On Starts/resumes logging - same as SYStem.LOG.ON. Off Pauses logging - same as SYStem.LOG.OFF. Clear Clears and immediately re-populates the list with new system log entries - same as if you are running the commands SYStem.LOG.Init and SYStem.LOG.ON in rapid succession. op Type of target access. address Access class and address where TRACE32 has accessed the target. width The bus width used by TRACE32. Example: The value 4. indicates that TRACE32 performs 32 bit read or write accesses. data Data written or read. Only the first 8 bytes are displayed in the SYStem.LOG.List window. time Absolute timestamps in relation to ZERO. xtime Execution time. See also ■ SYStem.LOG ■ SYStem.LOG.state ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 247 SYStem SYStem.LOG.Mode Set logging mode Format: SYStem.LOG.Mode <logging_mode> <logging_ mode>: Compact ON | OFF Source ON | OFF NoTime ON | OFF Sets the degree of detail with which the read and write accesses are recorded in the system log file. Compact (Default: OFF) • • Source (Default: OFF) • • NoTime (Default: OFF) OFF: Access addresses and data are included in the system log file. ON: Access addresses are logged, but data is not logged. OFF: The source of accesses such as ETM, HTM, etc. is not logged. ON: Information about which component has accessed the target is included in the system log file. • OFF: Timing information is included in the system log file; see time and xtime columns of the SYStem.LOG.List window. • ON: Timing information is not logged. NoTime ON is useful, for example, if you want to compare two versions of a system log file. See also ■ SYStem.LOG ■ SYStem.LOG.state ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 248 SYStem SYStem.LOG.OFF Format: Pause logging SYStem.LOG.OFF Temporarily deactivates logging, i.e. the read and write accesses are no longer logged. However, the system log file remains operational. Logging can be resumed with SYStem.LOG.ON. SYStem.LOG.OPEN ~~\sys.log … … SYStem.LOG.OFF … SYStem.LOG.ON … … SYStem.LOG.CLOSE ;open a system log file for writing ;log read and write accesses ;temporarily deactivate logging ;accesses are no longer logged ;resume logging ;accesses are logged again ;close system log file and terminate logging See also ■ SYStem.LOG ■ SYStem.LOG.ON ■ SYStem.LOG.state SYStem.LOG.ON Format: Resume logging SYStem.LOG.ON Logs all read and write accesses you have selected with SYStem.LOG.Set. The SYStem.LOG.ON command can be used after the system log has been temporarily deactivated with the command SYStem.LOG.OFF. See also ■ SYStem.LOG ■ SYStem.LOG.OFF ■ SYStem.LOG.state ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 249 SYStem SYStem.LOG.OPEN Format: Open a system log file SYStem.LOG.OPEN <file> Generates a new system log file for logging read and write accesses and opens it for writing. The number of logged read and write accesses is unlimited. If a file with the same name already exists, it will be overwritten. The default extension is .log. SYStem.LOG.OPEN ~~\sys.log … … SYStem.LOG.CLOSE ;open a system log file ;close file and terminate logging The path prefix ~~ expands to the TRACE32 system directory, by default C:\t32. See also ■ SYStem.LOG ■ SYStem.LOG.CLOSE SYStem.LOG.RESet Format: ■ SYStem.LOG.state Reset configuration of system log to defaults SYStem.LOG.RESet Resets all commands of the SYStem.LOG command group to their defaults. You can view the result in the SYStem.LOG.state window. See also ■ SYStem.LOG ■ SYStem.LOG.state ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 250 SYStem SYStem.LOG.Set Select the read and write accesses to be logged Format: SYStem.LOG.Set <setting> <setting>: Polling ON | OFF MemoryRead ON | OFF MemoryWrite ON | OFF RegisterRead ON | OFF RegisterWrite ON | OFF ComponentRead ON | OFF ComponentWrite ON | OFF ERROR ON | OFF Allows you to select the read and write accesses you want to record in the system log. ON This <setting> included in the system log file. OFF This <setting> omitted from the system log file. Polling Polling of the CPU. The polling mode can be set with SYStem.POLLING. MemoryRead Memory read accesses. MemoryWrite Memory write accesses. RegisterRead Register read accesses. RegisterWrite Register write accesses. ComponentRead Read accesses to a debug component. ComponentWrite Write accesses. ERROR ON: All errors are included in the system log file. OFF: Only errors of the read and write accesses that are set to ON are logged. See also ■ SYStem.LOG ■ SYStem.LOG.state ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 251 SYStem SYStem.LOG.SIZE Format: Define number of lines in the ‘SYStem.LOG.List’ window SYStem.LOG.SIZE <lines> Default: 64. Defines the number of lines displayed in the SYStem.LOG.List window. The displayed lines reflect the most recent read and write accesses to the target hardware. The <size> setting does not affect the file size. See also ■ SYStem.LOG ■ SYStem.LOG.state ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 252 SYStem SYStem.LOG.state Format: Open configuration window of system log SYStem.LOG.state Opens the SYStem.LOG.state window, where you can configure a system log for recording read and write accesses to the target hardware. A B C A Only the information of selected options is displayed in the SYStem.LOG.List window and recorded in the system log file. B To open a system log file, do one of the following: • Click the folder icon and navigate to the file you want to use. • Type path and file name into the OPEN text box. Then press Enter. The TRACE32 message line displays that the file is now open for recording log entries. To close the system log file: • Clear the content from the OPEN text box. Then press Enter. The TRACE32 message line displays that the file is now closed. C For descriptions of the commands in the SYStem.LOG.state window, refer to the SYStem.LOG.* commands in this section. Example: For information about the List button, see SYStem.LOG.List. See also ■ ■ ■ ■ SYStem.LOG SYStem.LOG.List SYStem.LOG.OPEN SYStem.LOG.StopOnError ■ SYStem.LOG.CLEAR ■ SYStem.LOG.Mode ■ SYStem.LOG.RESet ■ SYStem.LOG.CLOSE ■ SYStem.LOG.OFF ■ SYStem.LOG.Set ■ SYStem.LOG.Init ■ SYStem.LOG.ON ■ SYStem.LOG.SIZE ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 253 SYStem SYStem.LOG.StopOnError Format: Stop logging on error SYStem.LOG.StopOnError ON | OFF Defines the logging behavior after an error has occurred. ON (Default) TRACE32 automatically runs the command SYStem.LOG.OFF to stop logging after an error, such as a bus error, has occurred. OFF Logging continues after an error has occurred. NOTE: The system log file remains open for writing. • To continue logging, click Start in the SYStem.LOG.List window or run SYStem.LOG.ON. • To close the system log file, run SYStem.LOG.CLOSE. See also ■ SYStem.LOG ■ SYStem.LOG.state ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 254 SYStem SYStem.MemAccess Format: Run-time memory access (non-intrusive) SYStem.MemAccess CPU | NEXUS | Denied | <cpu-specific> The debugger/FIRE can read and write the target memory while the CPU is executing the program. CPU Real-time memory access during program execution to target is enabled. NEXUS The NEXUS module within the CPU allows the debugger to read and write target memory while the CPU is executing the code. Denied Real-time memory access during program execution to target is disabled. See also ■ SYStem.state ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ’CPU specific SYStem Commands’ in ’XC2000/XC16x/C166CBC Debugger’ ’General SYStem Settings and Restrictions’ in ’DSP56K Debugger’ ’CPU specific SYStem Commands’ in ’CPU32 and ColdFire Debugger and Trace’ ’AndesCore specific SYStem Commands’ in ’Andes Debugger’ ’General SYStem Settings’ in ’APS Debugger’ ’CPU specific SYStem Commands’ in ’ARC Debugger’ ’ARM specific SYStem Commands’ in ’ARM Debugger’ ’ARM specific SYStem Commands’ in ’ARMv8-A Debugger’ ’General SYStem Settings’ in ’AVR32 Debugger and NEXUS Trace’ ’Beyond specific SYStem Commands’ in ’Beyond Debugger and Trace’ ’General System Settings’ in ’Blackfin Debugger’ ’DSP specific SYStem Commands’ in ’TMS320C2X Debugger’ ’DSP specific SYStem Commands’ in ’TMS320C5X Debugger’ ’DSP specific SYStem Commands’ in ’TMS320C6X Debugger’ ’General SYStem Settings’ in ’CEVA-X Debugger’ ’Cortex-M specific SYStem Commands’ in ’Cortex-M Debugger’ ’General SYStem Commands’ in ’eTPU Debugger and Trace’ ’General SYStem Commands’ in ’GTM Debugger and Trace’ ’System Commands’ in ’H8S/23x9 Debugger’ ’General SYStem Settings and Restrictions’ in ’MCS08 Debugger’ ’General SYStem Settings and Restrictions’ in ’MCS12 Debugger’ ’General SYStem Settings’ in ’Hexagon Debugger’ ’General SYStem Settings and Restrictions’ in ’M32R Debugger and Trace’ ’General SYStem Settings and Restrictions’ in ’M8051EW Debugger’ ’General SYStem Settings for the Debugger’ in ’M-Core Debugger’ ’General SYStem Commands’ in ’MicroBlaze Debugger and Trace’ ’MIPS specific SYStem Commands’ in ’MIPS Debugger and Trace’ ’General SYStem Commands’ in ’MMDSP Debugger’ ’Command Reference: SYStem Commands’ in ’Qorivva MPC5xxx/SPC5xx Debugger and NEXUS Trace’ ’General SYStem Settings and Restrictions’ in ’NIOS II Debugger and Trace’ ’General SYStem Settings’ in ’CEVA-Oak/Teak/TeakLite Debugger’ ’Commands’ in ’PCP Debugger Reference’ ’General SYStem Commands’ in ’PPC400/PPC440 Debugger and Trace’ ’General System Commands’ in ’PPC600 Family Debugger’ ’General SYStem Commands’ in ’MPC5xx/8xx Debugger and Trace’ ’General SYStem Commands’ in ’PQIII Debugger’ ’General SYStem Commands’ in ’QorIQ Debugger and NEXUS Trace’ ’General SYStem Commands’ in ’PWRficient Debugger’ ’General SYStem Settings and Restrictions’ in ’R8051XC Debugger’ ’Command Reference: SYStem Commands’ in ’RH850 Debugger and Trace’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 255 SYStem ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ’General System Settings’ in ’RX Debugger’ ’General System Settings’ in ’SH2, SH3 and SH4 Debugger’ ’General SYStem Settings and Restrictions’ in ’StarCore Debugger and Trace’ ’Command Reference’ in ’TriCore Debugger and Trace’ ’General System Settings’ in ’V850 Debugger and Trace’ ’General SYStem Settings’ in ’Intel x86/x64 Debugger’ ’CPU specific SYStem Commands’ in ’XTENSA Debugger’ ’General System Settings’ in ’ZSP Debugger’ ’Basics’ in ’FIRE Emulator for C166 Cell-Based-Core’ ’Basics’ in ’FIRE Emulator for C166 Family’ ’General SYStem Settings and Restrictions’ in ’C166 Monitor’ ’Specific SYStem Commands’ in ’H8S and H8/300H Monitor’ ’Specific System Commands’ in ’OSE Target Server’ ’Specific System Commands’ in ’SH2 Monitor’ ’General SYStem Settings and Restrictions’ in ’TriCore Monitor’ ’Emulation Modes’ in ’x186 Monitor’ ’General SYStem Commands’ in ’x386 and x486 Monitor’ ’ARM specific SYStem Commands’ in ’MAC71xx/72xx NEXUS Debugger and Trace’ ’General SYStem Commands’ in ’MMDSP NEXUS Debugger and Trace’ ’General SYStem Commands’ in ’MPC56x NEXUS Debugger and Trace’ ’Release Information’ in ’Release History’ ’68K and HC16 specific SYStem Commands’ in ’Simulator for 68K/ColdFire’ ’ARM specific SYStem Commands’ in ’Simulator for ARM and XSCALE’ ’General SYStem Settings and Restrictions’ in ’Simulator for C166/ST10’ ’Specific SYStem Commands’ in ’Simulator for H8/300, H8/300H and H8S’ ’General SYStem Settings and Restrictions’ in ’Simulator for HC12/MCS12’ ’MIPS specific SYStem Commands’ in ’Simulator for MIPS’ ’General System Commands’ in ’Simulator for NIOS-II’ ’General SYStem Commands’ in ’Simulator for PowerPC’ ’CPU specific SYStem Commands’ in ’Simulator for SuperH’ ’CPU specific SYStem Commands’ in ’Simulator for TriCore’ ’Emulation Modes’ in ’Simulator for Intel x86/x64’ ’Starting-up the TRACE32-FIRE’ in ’Training FIRE Basics’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 256 SYStem SYStem.Mode Select mode Format: SYStem.Mode [<mode>] SYStem.<mode> (as an alternative) <mode>: RESet StandBy ResetDown ResetUp NoProbe AloneInt AloneExt EmulInt EmulExt Down Attach NoDebug Go Up tbd. (E) The operation of the development system can be selected only with the appropriate probe and the necessary signals from the target system. If a signal (VCC or clock) is missing, the appropriate mode will be set automatically. This is valid if a signal changes the state during execution. If a power down occurs in the target system, a reset of the emulation system will occur automatically. Also, if a clock signal is missing, an automatic reset will occur. If no target system is connected, the development system will execute like the target system powered-up. The emulator probe, however, should not be protected by means of a conductive foam rubber covering as this could lead to a short circuiting of the probe. If the emulation monitor is hanging-up, the emulation system may be restarted by selecting the correct emulation mode. NOTE: Some emulation adaptors (68000, 8086) requires a valid system stack in order to work correctly. If valid reset vectors are available in the target program then the stack pointers can be set using the Register.Set command. In all other cases, the stack pointer must be set explicitly before starting realtime emulation. RESet (E) Probe is passive or not attached, all lines to the probe are in tri-state. StandBy (E) The target processor waits for target power and clock. When both are active it starts as fast as possible. This functionality is not available on all targets. ResetDown (E) Probe is attached and active. The target system power supply has been switched off. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 257 SYStem ResetUp (E) Probe is active, emulator is in RESET mode, and target system is powered on. NoProbe (E) This mode can be selected when no active emulation probe is attached. This is possible even when the system is used as an emulator. The internal clock generator is selected automatically. AloneInt (E) Emulator mode is in stand-alone mode. The internal clock (see SYStem.CLOCK) is used. All strobe lines are blocked. Therefore no functions can be triggered in the target system. AloneExt (E) Emulator mode is in stand-alone mode. The external clock is used. All strobe lines are blocked. Therefore no functions can be triggered in the target system. EmulInt (E) The emulator is in active mode and the internal clock is used (see SYStem.CLOCK). The target system can be accessed as strobes are generated. EmulExt (E) The emulator is in active mode and the external clock is used. The target system can be accessed. Down (BDM) Disables the debug mode. The state of the CPU remains unchanged. Attach User program remains running (no reset) and the debug mode is activated. After this command the user program can be stopped with the break command or if any break condition occurs. NOTE: If breakpoints are set within TRACE32 before attaching (check via Break.List), these are not written to the target at the moment of attaching. Therefore the target will not stop at any of these breakpoints. As a workaround, use the sequence: SYStem.Attach Break.DISable Break.ENable Down (ROM Monitor) Switches of the EPROM Simulator. Asserts the Reset Port. Go (BDM only) Resets the system with debug mode enabled. The system runs until any break condition occurs. NoDebug (BDM only) Resets the system with debug mode disabled. Up (BDM) Resets the system with debug mode enabled and breaks before the first OpFetch. Up (ROM Monitor) Activates the EPROM Simulator, then the Reset Port is negated. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 258 SYStem Example for SYStem.Mode EmulExt: sys.m ee ; Emulator operating mode selections sys.m noprobe ; No probe operating mode selections See also ■ SYStem.state ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ’CPU specific SYStem Commands’ in ’XC2000/XC16x/C166CBC Debugger’ ’General SYStem Settings and Restrictions’ in ’DSP56K Debugger’ ’CPU specific SYStem Commands’ in ’CPU32 and ColdFire Debugger and Trace’ ’AndesCore specific SYStem Commands’ in ’Andes Debugger’ ’General SYStem Settings’ in ’APS Debugger’ ’CPU specific SYStem Commands’ in ’ARC Debugger’ ’ARM specific SYStem Commands’ in ’ARM Debugger’ ’ARM specific SYStem Commands’ in ’ARMv8-A Debugger’ ’General SYStem Settings’ in ’AVR32 Debugger and NEXUS Trace’ ’Beyond specific SYStem Commands’ in ’Beyond Debugger and Trace’ ’General System Settings’ in ’Blackfin Debugger’ ’DSP specific SYStem Commands’ in ’TMS320C2X Debugger’ ’DSP specific SYStem Commands’ in ’TMS320C5X Debugger’ ’DSP specific SYStem Commands’ in ’TMS320C6X Debugger’ ’General SYStem Settings’ in ’CEVA-X Debugger’ ’Cortex-M specific SYStem Commands’ in ’Cortex-M Debugger’ ’General SYStem Commands’ in ’eTPU Debugger and Trace’ ’General SYStem Commands’ in ’GTM Debugger and Trace’ ’System Commands’ in ’H8S/23x9 Debugger’ ’General SYStem Settings and Restrictions’ in ’MCS08 Debugger’ ’General SYStem Settings and Restrictions’ in ’MCS12 Debugger’ ’General SYStem Settings’ in ’Hexagon Debugger’ ’General SYStem Settings and Restrictions’ in ’M32R Debugger and Trace’ ’General SYStem Settings and Restrictions’ in ’M8051EW Debugger’ ’General SYStem Settings for the Debugger’ in ’M-Core Debugger’ ’General SYStem Commands’ in ’MicroBlaze Debugger and Trace’ ’MIPS specific SYStem Commands’ in ’MIPS Debugger and Trace’ ’General SYStem Commands’ in ’MMDSP Debugger’ ’Command Reference: SYStem Commands’ in ’Qorivva MPC5xxx/SPC5xx Debugger and NEXUS Trace’ ’General SYStem Settings and Restrictions’ in ’NIOS II Debugger and Trace’ ’General SYStem Settings’ in ’CEVA-Oak/Teak/TeakLite Debugger’ ’Commands’ in ’PCP Debugger Reference’ ’General SYStem Commands’ in ’PPC400/PPC440 Debugger and Trace’ ’General System Commands’ in ’PPC600 Family Debugger’ ’General SYStem Commands’ in ’MPC5xx/8xx Debugger and Trace’ ’General SYStem Commands’ in ’PQIII Debugger’ ’General SYStem Commands’ in ’QorIQ Debugger and NEXUS Trace’ ’General SYStem Commands’ in ’PWRficient Debugger’ ’General SYStem Settings and Restrictions’ in ’R8051XC Debugger’ ’Command Reference: SYStem Commands’ in ’RH850 Debugger and Trace’ ’General System Settings’ in ’RX Debugger’ ’General System Settings’ in ’SH2, SH3 and SH4 Debugger’ ’General SYStem Settings and Restrictions’ in ’StarCore Debugger and Trace’ ’Command Reference’ in ’TriCore Debugger and Trace’ ’General System Settings’ in ’V850 Debugger and Trace’ ’General SYStem Settings’ in ’Intel x86/x64 Debugger’ ’General SYStem Settings and Restrictions’ in ’XC800 Debugger’ ’General System Settings’ in ’ZSP Debugger’ ’SYStem Commands’ in ’EPROM/FLASH Simulator’ ’Basics’ in ’FIRE Emulator for C166 Family’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 259 SYStem ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ’Emulation Modes’ in ’FIRE Emulator for HC12/MCS12’ ’Basics’ in ’FIRE Emulator for C166S V2 Family’ ’General Settings and Restrictions’ in ’ICE Emulator for 68000’ ’Basics’ in ’ICE Emulator for MC68020/30’ ’General SYStem Settings and Restrictions’ in ’ICE Emulator for MC6833X’ ’Basics’ in ’ICE Emulator for Motorola 68360/349’ ’Basics’ in ’ICE Emulator for C166/ST10’ ’Basics’ in ’ICE Emulator for PowerPC’ ’Emulation System’ in ’ICE User’s Guide’ ’Basics’ in ’ICE Emulator for Z80 and Z180’ ’General SYStem Commands’ in ’ARM and XSCALE Monitor’ ’General SYStem Settings and Restrictions’ in ’C166 Monitor’ ’Specific SYStem Commands’ in ’EPOC Target Server’ ’Specific SYStem Commands’ in ’H8S and H8/300H Monitor’ ’Specific System Commands’ in ’OSE Target Server’ ’Pdebug Front-end Specific Commands’ in ’TRACE32 pdebug Target Server for ARM’ ’Specific System Commands’ in ’SH2 Monitor’ ’General SYStem Settings and Restrictions’ in ’TriCore Monitor’ ’Emulation Modes’ in ’x186 Monitor’ ’General SYStem Commands’ in ’x386 and x486 Monitor’ ’Emulation Modes’ in ’Z80 Monitor’ ’ARM specific SYStem Commands’ in ’MAC71xx/72xx NEXUS Debugger and Trace’ ’General SYStem Commands’ in ’MMDSP NEXUS Debugger and Trace’ ’General SYStem Commands’ in ’MPC56x NEXUS Debugger and Trace’ ’Release Information’ in ’Release History’ ’68K and HC16 specific SYStem Commands’ in ’Simulator for 68K/ColdFire’ ’ARM specific SYStem Commands’ in ’Simulator for ARM and XSCALE’ ’Specific SYStem Commands’ in ’Simulator for H8/300, H8/300H and H8S’ ’General SYStem Settings and Restrictions’ in ’Simulator for HC08/MSC08’ ’MIPS specific SYStem Commands’ in ’Simulator for MIPS’ ’General System Commands’ in ’Simulator for NIOS-II’ ’General SYStem Commands’ in ’Simulator for PowerPC’ ’CPU specific SYStem Commands’ in ’Simulator for TriCore’ ’Emulation Modes’ in ’Simulator for Intel x86/x64’ ’Emulation Modes’ in ’Simulator for Z80+’ ’Starting-up the TRACE32-FIRE’ in ’Training FIRE Basics’ ’Specific Commands’ in ’Native Process Debugger’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 260 SYStem SYStem.MonFile Format: Monitor extension SYStem.MonFile <filename> [<args>…] Loads an extension for the monitor program. This extension can handle an user-specific start and stop code and an user-specific memory access class. The start- and stop-code can be used to stop timers in the target, when the emulation is stopped. The memory access class can access special memories like EEPROM's or FIFO's (access class USR:). On some probes other extensions (like FPU access) are supported. On some processors with MMU the extension provides the current task number for the debugger. The defined extension can be used after the next SYStem.Mode command. The arguments are passed to the monitor extension. See emulation probe manual for details about the extension of the target. Examples of monitor extensions can be found in the '/etc' directory for the target. E::sys.monfile monext.m68 E::sys.up E::w.d usr:0 ; load extensions ; power up the target ; dump special memory See also ■ SYStem.state ▲ ’Emulation System’ in ’ICE User’s Guide’ SYStem.MONITOR tbd. . Format: SYStem.MONITOR <tbd. See also ■ SYStem.state ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 261 SYStem SYStem.Option Format: Special setup SYStem.Option <option> [ON | OFF] The <options> of SYStem.Option are used to control special features of the debugger or emulator or configure the target. The various commands should be executed before the emulation is activated by a SYStem.Up or SYStem.Mode command. NOTE: Some of the commands toggle between the options ON and OFF, if they are invoked without parameters. See also ■ SYStem.state ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ’CPU specific SYStem Commands’ in ’ARC Debugger’ ’General SYStem Settings’ in ’Hexagon Debugger’ ’General SYStem Settings and Restrictions’ in ’M32R Debugger and Trace’ ’Commands’ in ’PCP Debugger Reference’ ’Command Reference’ in ’TriCore Debugger and Trace’ ’General SYStem Settings and Restrictions’ in ’FIRE Emulator for C166 Cell-Based-Core’ ’General SYStem Settings and Restrictions’ in ’FIRE Emulator for C166 Family’ ’General SYStem Settings and Restrictions’ in ’FIRE Emulator for C166 Family’ ’General SYStem Settings and Restrictions’ in ’FIRE Emulator for C166 Family’ ’General System Settings and Restrictions’ in ’FIRE Emulator for HC12/MCS12’ ’General SYStem Settings and Restrictions’ in ’FIRE Emulator for C166S V2 Family’ ’General SYStem Settings and Restrictions’ in ’FIRE Emulator for C166S V2 Family’ ’General SYStem Settings and Restrictions’ in ’FIRE Emulator for C166S V2 Family’ ’General SYStem Settings and Restrictions’ in ’FIRE Emulator for C166S V2 Family’ ’General SYStem Settings and Restrictions’ in ’ICE Emulator for MC6833X’ ’General SYStem Settings and Restrictions’ in ’ICE Emulator for Motorola 68360/349’ ’General SYStem Settings and Restrictions’ in ’ICE Emulator for Motorola 68360/349’ ’General SYStem Settings and Restrictions’ in ’ICE Emulator for Motorola 68360/349’ ’General SYStem Settings and Restrictions’ in ’ICE Emulator for Motorola 68360/349’ ’General SYStem Settings and Restrictions’ in ’ICE Emulator for Motorola 68360/349’ ’General SYStem Settings and Restrictions’ in ’ICE Emulator for C166/ST10’ ’General SYStem Settings and Restrictions’ in ’ICE Emulator for C166/ST10’ ’General SYStem Settings and Restrictions’ in ’ICE Emulator for C166/ST10’ ’General System Settings and Restrictions’ in ’ICE Emulator for Hitachi H8/300 and H8/500’ ’Emulation System’ in ’ICE User’s Guide’ ’General Settings and Restrictions’ in ’ICE Emulator for Z80 and Z180’ ’Release Information’ in ’Release History’ ’CPU specific SYStem Commands’ in ’Simulator for TriCore’ ’Commands’ in ’C166 Family Trace’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 262 SYStem SYStem.Option AMBA Format: Select AMBA bus mode SYStem.Option AMBA [ON | OFF] This option is only necessary if a ARM7 Bus Trace is used. Default: OFF. This option should be set according to the bus mode of the ASIC. See also ❏ SYStem.AMBA() ▲ ’ARM specific SYStem Commands’ in ’ARM Debugger’ SYStem.Option BigEndian Format: Define byte order (endianess) SYStem.Option BigEndian [ON | OFF] Default: OFF. This option selects the byte ordering mechanism. For correct operation the following three settings must correspond: • this option • the compiler setting (-li or -bi compiler option) • the level of the ARM BIGEND input pin (on ARM7x0T and ARM9x0T and JANUS2 the bit in the CP15 control register) The endianess is auto-detected for the ARM10 and ARM11. See also ❏ SYStem.BigEndian() ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ’ARM specific SYStem Commands’ in ’ARM Debugger’ ’ARM specific SYStem Commands’ in ’ARMv8-A Debugger’ ’Cortex-M specific SYStem Commands’ in ’Cortex-M Debugger’ ’General System Settings’ in ’RX Debugger’ ’GDB Front-end Commands’ in ’TRACE32 as GDB Front-End’ ’General SYStem Commands’ in ’ARM and XSCALE Monitor’ ’ARM specific SYStem Commands’ in ’MAC71xx/72xx NEXUS Debugger and Trace’ ’ARM specific SYStem Commands’ in ’Simulator for ARM and XSCALE’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 263 SYStem SYStem.Option HOOK Format: Compare PC to hook address SYStem.Option HOOK <address>] The command compares the PC after break to the hook address. If the PC is equivalent to the hook address, it is supposed that a hook function was executed. This information is needed to determine the right break address by the debugger. See also ❏ SYStem.HOOK() ▲ ▲ ▲ ▲ ▲ ▲ ▲ ’CPU specific SYStem Commands’ in ’CPU32 and ColdFire Debugger and Trace’ ’Command Reference: SYStem.Option Commands’ in ’Qorivva MPC5xxx/SPC5xx Debugger and NEXUS Trace’ ’CPU specific SYStem Commands’ in ’PPC400/PPC440 Debugger and Trace’ ’CPU specific System Commands’ in ’PPC600 Family Debugger’ ’CPU specific SYStem Commands’ in ’PQIII Debugger’ ’CPU specific SYStem Commands’ in ’QorIQ Debugger and NEXUS Trace’ ’General System Settings’ in ’SH2, SH3 and SH4 Debugger’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 264 SYStem SYStem.Option IMASKASM Format: Disable interrupts while single stepping SYStem.Option IMASKASM [ON | OFF] Default: OFF. If enabled, the interrupt mask bits of the CPU will be set during assembler single-step operations. The interrupt routine is not executed during single-step operations. After single step the interrupt mask bits are restored to the value before the step. See also ❏ SYStem.IMASKASM() ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ’CPU specific SYStem Commands’ in ’XC2000/XC16x/C166CBC Debugger’ ’General SYStem Settings and Restrictions’ in ’DSP56K Debugger’ ’CPU specific SYStem Commands’ in ’CPU32 and ColdFire Debugger and Trace’ ’AndesCore specific SYStem Commands’ in ’Andes Debugger’ ’General SYStem Settings’ in ’APS Debugger’ ’CPU specific SYStem Commands’ in ’ARC Debugger’ ’ARM specific SYStem Commands’ in ’ARM Debugger’ ’ARM specific SYStem Commands’ in ’ARMv8-A Debugger’ ’General SYStem Settings’ in ’AVR32 Debugger and NEXUS Trace’ ’Beyond specific SYStem Commands’ in ’Beyond Debugger and Trace’ ’General System Settings’ in ’Blackfin Debugger’ ’DSP specific SYStem Commands’ in ’TMS320C2X Debugger’ ’DSP specific SYStem Commands’ in ’TMS320C5X Debugger’ ’DSP specific SYStem Commands’ in ’TMS320C6X Debugger’ ’General SYStem Settings’ in ’CEVA-X Debugger’ ’Cortex-M specific SYStem Commands’ in ’Cortex-M Debugger’ ’System Commands’ in ’H8S/23x9 Debugger’ ’General SYStem Settings and Restrictions’ in ’MCS08 Debugger’ ’General SYStem Settings’ in ’Hexagon Debugger’ ’General SYStem Settings and Restrictions’ in ’M32R Debugger and Trace’ ’General SYStem Settings and Restrictions’ in ’M8051EW Debugger’ ’General SYStem Settings for the Debugger’ in ’M-Core Debugger’ ’CPU specific Implementations’ in ’MicroBlaze Debugger and Trace’ ’MIPS specific SYStem Commands’ in ’MIPS Debugger and Trace’ ’General SYStem Commands’ in ’MMDSP Debugger’ ’Command Reference: SYStem.Option Commands’ in ’Qorivva MPC5xxx/SPC5xx Debugger and NEXUS Trace’ ’General SYStem Settings and Restrictions’ in ’NIOS II Debugger and Trace’ ’General SYStem Settings’ in ’CEVA-Oak/Teak/TeakLite Debugger’ ’CPU specific System Commands’ in ’PPC600 Family Debugger’ ’CPU specific SYStem Commands’ in ’MPC5xx/8xx Debugger and Trace’ ’CPU specific SYStem Commands’ in ’PQIII Debugger’ ’CPU specific SYStem Commands’ in ’QorIQ Debugger and NEXUS Trace’ ’CPU specific SYStem Commands’ in ’PWRficient Debugger’ ’General SYStem Settings and Restrictions’ in ’R8051XC Debugger’ ’General System Settings’ in ’RX Debugger’ ’General System Settings’ in ’SH2, SH3 and SH4 Debugger’ ’General SYStem Settings and Restrictions’ in ’StarCore Debugger and Trace’ ’Command Reference’ in ’TriCore Debugger and Trace’ ’General System Settings’ in ’V850 Debugger and Trace’ ’CPU specific SYStem Settings’ in ’Intel x86/x64 Debugger’ ’System Options’ in ’XC800 Debugger’ ’General System Settings’ in ’ZSP Debugger’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 265 SYStem ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ’General SYStem Settings and Restrictions’ in ’FIRE Emulator for C166 Cell-Based-Core’ ’General SYStem Settings and Restrictions’ in ’FIRE Emulator for C166 Family’ ’General SYStem Settings and Restrictions’ in ’FIRE Emulator for H8S and H8/300H’ ’General SYStem Settings and Restrictions’ in ’FIRE Emulator for SH2’ ’General SYStem Settings and Restrictions’ in ’FIRE Emulator for C166S V2 Family’ ’General SYStem Commands’ in ’ARM and XSCALE Monitor’ ’General SYStem Settings and Restrictions’ in ’C166 Monitor’ ’Specific SYStem Commands’ in ’H8S and H8/300H Monitor’ ’Specific System Commands’ in ’SH2 Monitor’ ’General SYStem Settings and Restrictions’ in ’TriCore Monitor’ ’General SYStem Commands’ in ’MMDSP NEXUS Debugger and Trace’ ’CPU specific SYStem Commands’ in ’MPC56x NEXUS Debugger and Trace’ ’General SYStem Settings and Restrictions’ in ’Simulator for C166/ST10’ ’Specific SYStem Commands’ in ’Simulator for H8/300, H8/300H and H8S’ ’General SYStem Settings and Restrictions’ in ’Simulator for HC08/MSC08’ ’MIPS specific SYStem Commands’ in ’Simulator for MIPS’ ’General System Commands’ in ’Simulator for NIOS-II’ ’General SYStem Commands’ in ’Simulator for PowerPC’ ’CPU specific SYStem Commands’ in ’Simulator for SuperH’ ’CPU specific SYStem Commands’ in ’Simulator for TriCore’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 266 SYStem SYStem.Option IMASKHLL Format: Disable interrupts while HLL single stepping SYStem.Option IMASKHLL [ON | OFF] Default: OFF. If enabled, the interrupt mask bits of the cpu will be set during HLL single-step operations. The interrupt routine is not executed during single-step operations. After single step the interrupt mask bits are restored to the value before the step. See also ❏ SYStem.IMASKHLL() ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ’CPU specific SYStem Commands’ in ’XC2000/XC16x/C166CBC Debugger’ ’General SYStem Settings and Restrictions’ in ’DSP56K Debugger’ ’CPU specific SYStem Commands’ in ’CPU32 and ColdFire Debugger and Trace’ ’AndesCore specific SYStem Commands’ in ’Andes Debugger’ ’General SYStem Settings’ in ’APS Debugger’ ’CPU specific SYStem Commands’ in ’ARC Debugger’ ’ARM specific SYStem Commands’ in ’ARM Debugger’ ’ARM specific SYStem Commands’ in ’ARMv8-A Debugger’ ’General SYStem Settings’ in ’AVR32 Debugger and NEXUS Trace’ ’Beyond specific SYStem Commands’ in ’Beyond Debugger and Trace’ ’General System Settings’ in ’Blackfin Debugger’ ’DSP specific SYStem Commands’ in ’TMS320C2X Debugger’ ’DSP specific SYStem Commands’ in ’TMS320C5X Debugger’ ’DSP specific SYStem Commands’ in ’TMS320C6X Debugger’ ’General SYStem Settings’ in ’CEVA-X Debugger’ ’Cortex-M specific SYStem Commands’ in ’Cortex-M Debugger’ ’System Commands’ in ’H8S/23x9 Debugger’ ’General SYStem Settings and Restrictions’ in ’MCS08 Debugger’ ’General SYStem Settings’ in ’Hexagon Debugger’ ’General SYStem Settings and Restrictions’ in ’M32R Debugger and Trace’ ’General SYStem Settings and Restrictions’ in ’M8051EW Debugger’ ’General SYStem Settings for the Debugger’ in ’M-Core Debugger’ ’CPU specific Implementations’ in ’MicroBlaze Debugger and Trace’ ’MIPS specific SYStem Commands’ in ’MIPS Debugger and Trace’ ’Command Reference: SYStem.Option Commands’ in ’Qorivva MPC5xxx/SPC5xx Debugger and NEXUS Trace’ ’General SYStem Settings and Restrictions’ in ’NIOS II Debugger and Trace’ ’General SYStem Settings’ in ’CEVA-Oak/Teak/TeakLite Debugger’ ’CPU specific System Commands’ in ’PPC600 Family Debugger’ ’CPU specific SYStem Commands’ in ’MPC5xx/8xx Debugger and Trace’ ’CPU specific SYStem Commands’ in ’PQIII Debugger’ ’CPU specific SYStem Commands’ in ’QorIQ Debugger and NEXUS Trace’ ’CPU specific SYStem Commands’ in ’PWRficient Debugger’ ’General SYStem Settings and Restrictions’ in ’R8051XC Debugger’ ’Command Reference: SYStem.Option Commands’ in ’RH850 Debugger and Trace’ ’General System Settings’ in ’RX Debugger’ ’General System Settings’ in ’SH2, SH3 and SH4 Debugger’ ’General SYStem Settings and Restrictions’ in ’StarCore Debugger and Trace’ ’Command Reference’ in ’TriCore Debugger and Trace’ ’General System Settings’ in ’V850 Debugger and Trace’ ’CPU specific SYStem Settings’ in ’Intel x86/x64 Debugger’ ’System Options’ in ’XC800 Debugger’ ’General System Settings’ in ’ZSP Debugger’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 267 SYStem ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ’General SYStem Settings and Restrictions’ in ’FIRE Emulator for C166 Cell-Based-Core’ ’General SYStem Settings and Restrictions’ in ’FIRE Emulator for C166 Family’ ’General SYStem Settings and Restrictions’ in ’FIRE Emulator for H8S and H8/300H’ ’General SYStem Settings and Restrictions’ in ’FIRE Emulator for SH2’ ’General SYStem Settings and Restrictions’ in ’FIRE Emulator for C166S V2 Family’ ’General SYStem Commands’ in ’ARM and XSCALE Monitor’ ’General SYStem Settings and Restrictions’ in ’C166 Monitor’ ’Specific SYStem Commands’ in ’H8S and H8/300H Monitor’ ’Specific System Commands’ in ’SH2 Monitor’ ’General SYStem Settings and Restrictions’ in ’TriCore Monitor’ ’CPU specific SYStem Commands’ in ’MPC56x NEXUS Debugger and Trace’ ’General SYStem Settings and Restrictions’ in ’Simulator for C166/ST10’ ’Specific SYStem Commands’ in ’Simulator for H8/300, H8/300H and H8S’ ’General SYStem Settings and Restrictions’ in ’Simulator for HC08/MSC08’ ’MIPS specific SYStem Commands’ in ’Simulator for MIPS’ ’General System Commands’ in ’Simulator for NIOS-II’ ’General SYStem Commands’ in ’Simulator for PowerPC’ ’CPU specific SYStem Commands’ in ’Simulator for SuperH’ ’CPU specific SYStem Commands’ in ’Simulator for TriCore’ ’Specific Commands’ in ’Native Process Debugger’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 268 SYStem SYStem.Option LittleEnd Format: Selection of little endian mode SYStem.Option LittleEnd [ON | OFF] This option allows to configure whether TRACE32 assumes that words of data in memory are encoded using little-endian byte order or not. For investigating problems with endianess, the following commands may be useful: Data.dump <address> /byte ; byte-wise i.e. without endianness Data.dump <address> /long ; 32 bit words, interpreting the data according to the current endianness. NOTE: If the command is used without parameters, it toggles the current endianess! This toggling behavior also applies to other option commands with ON / OFF parameters. It is not allowed within PRACTICE scripts. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 269 SYStem SYStem.Option MMUSPACES Format: Enable space IDs SYStem.Option MMUSPACES [ON | OFF] SYStem.Option MMUspaces [ON | OFF] (deprecated) SYStem.Option MMU [ON | OFF] (deprecated) Default: OFF. Enables space IDs for logical addresses. Space IDs are essential for debugging multi-spaced applications. The address scheme of the debugger is extended to include memory spaces (16:32 address format). The option is not required when the MMU is doing a static address translation. See also ■ MMU ■ TRANSlation.Create ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ■ MMU.FORMAT ■ TRANSlation ■ TRANSlation.COMMON ’CPU specific SYStem Commands’ in ’CPU32 and ColdFire Debugger and Trace’ ’AndesCore specific SYStem Commands’ in ’Andes Debugger’ ’CPU specific SYStem Commands’ in ’ARC Debugger’ ’ARM specific SYStem Commands’ in ’ARM Debugger’ ’ARM specific SYStem Commands’ in ’ARMv8-A Debugger’ ’Beyond specific SYStem Commands’ in ’Beyond Debugger and Trace’ ’Cortex-M specific SYStem Commands’ in ’Cortex-M Debugger’ ’General SYStem Settings’ in ’Hexagon Debugger’ ’CPU specific Implementations’ in ’MicroBlaze Debugger and Trace’ ’MIPS specific SYStem Commands’ in ’MIPS Debugger and Trace’ ’Command Reference: SYStem.Option Commands’ in ’Qorivva MPC5xxx/SPC5xx Debugger and NEXUS Trace’ ’General SYStem Settings and Restrictions’ in ’NIOS II Debugger and Trace’ ’CPU specific SYStem Commands’ in ’PPC400/PPC440 Debugger and Trace’ ’CPU specific System Commands’ in ’PPC600 Family Debugger’ ’CPU specific SYStem Commands’ in ’MPC5xx/8xx Debugger and Trace’ ’CPU specific SYStem Commands’ in ’PQIII Debugger’ ’CPU specific SYStem Commands’ in ’QorIQ Debugger and NEXUS Trace’ ’CPU specific SYStem Commands’ in ’PWRficient Debugger’ ’General System Settings’ in ’SH2, SH3 and SH4 Debugger’ ’CPU specific SYStem Settings’ in ’Intel x86/x64 Debugger’ ’GDB Front-end Commands’ in ’TRACE32 as GDB Front-End’ ’MMU’ in ’ICE Emulator for MC68040/60’ ’MMU’ in ’ICE Emulator for 68HC11’ ’General SYStem Commands’ in ’ARM and XSCALE Monitor’ ’CPU specific MMU Commands’ in ’TRACE32 pdebug Target Server for ARM’ ’Specific System Commands’ in ’SH2 Monitor’ ’General SYStem Commands’ in ’x386 and x486 Monitor’ ’68K and HC16 specific SYStem Commands’ in ’Simulator for 68K/ColdFire’ ’ARM specific SYStem Commands’ in ’Simulator for ARM and XSCALE’ ’General System Commands’ in ’Simulator for NIOS-II’ ’General SYStem Commands’ in ’Simulator for PowerPC’ ’CPU specific SYStem Commands’ in ’Simulator for SuperH’ ’Specific Commands’ in ’Native Process Debugger’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 270 SYStem SYStem.Option TURBO Format: Speed up memory access SYStem.Option TURBO [ON | OFF] Default: OFF. If TURBO is disabled the CPU checks after each system speed memory access in debug mode if the CPU has finished the corresponding cycle. This check will significantly reduce the down- and upload speed (3040%). If TURBO is enabled the CPU will make no checks. This may result in unpredictable errors if the memory interface is slow. Therefore it is recommended to use this option only for a program download and in case you know that the memory interface is fast enough to take the data with the speed they are provided by the debugger. This option is not available on the ARM10. SYStem.POLLING Polling mode of CPU Format: SYStem.POLLING <run_mode> <stopped_mode> <run_mode>: CONTinuous DEFault FAST OFF SLOW <stopped_ mode>: DEFault OFF SIGnals When the CPU is running, the debug driver can poll the CPUs state in the background to speed up operations where a fast break detection is preferred. Features that can be improved by a fast break detection are: • CPU break from PodBus Trigger, if the CPU has no dedicated break in line • Any communication that is based to spot break points e.g. TERM, FDX • Break triggered actions like Data.EPILOG, Data.TIMER • Precision of the runtime counter if the CPU has no dedicated break in line ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 271 SYStem If the poll rate is high the system is more sensitive to disturbances. CONTinuous Polling with maximum frequency. FAST Polling with interval of 1 ms. OFF No polling at all, to prevent from disturbance. SLOW Normal polling with interval of SETUP.UpdateRATE, increase RTCK timeout to hide short power down/sleep states of the CPU. DEFault Polling with interval of SETUP.UpdateRATE. NOTE: The minium polling interval for timing measurement tasks, e.g. RunTime, is 1 ms, any lower settings are ignored. When the CPU is stopped, the debug driver can poll the CPUs state in the background to observe for exceptional events caused by watch-dogs or other CPUs. For transactor based solutions those polling can slow down the debug session, therefore it’s possible to turn it off. SIGnals Polling of signals as RESET only OFF No polling at all, to prevent from disturbance. DEFault Polling with interval of SETUP.UpdateRATE. See also ■ SETUP.UpdateRATE ■ SYStem.state ▲ ’Release Information’ in ’Release History’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 272 SYStem SYStem.PORT Configure external communication interface Format: SYStem.PORT <mode> <mode>: COMx <settings> <ip>:<port> This command is used to configure an external communication interface: • Between TRACE32 and a monitor program running on the target. • Between TRACE32 and a debug agent running on the target. The <settings> for the communication interfaces depend on the host operating system. Both serial and TCP/IP is supported. SYStem.PORT COM1 baud=9600 ; configure COM1 as external ; communication interface SYStem.PORT 10.1.2.99:2345 ; configure TCP/IP as external ; communication interface See also ■ SYStem.state ▲ ▲ ▲ ▲ ’General SYStem Commands’ in ’ARM and XSCALE Monitor’ ’Specific SYStem Commands’ in ’EPOC Target Server’ ’Pdebug Front-end Specific Commands’ in ’TRACE32 pdebug Target Server for ARM’ ’General SYStem Settings and Restrictions’ in ’x186 Monitor’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 273 SYStem SYStem.RESet Format: Reset configuration SYStem.RESet Resets all system settings (like SYS.CPU, SYS.JtagClock) i.e. the settings of the “debug system” i.e. of the debugger or ICE to their default values. After this switches to the SYStem.Mode Down state. Example for the In-Circuit Emulator: SYStem.RESet SYStem.Option … SYStem.Clock Mid SYStem.Mode AloneInt ; init first ; then use additional settings ; start-up See also ■ RESet ▲ ▲ ▲ ▲ ■ SYStem.state ’General SYStem Commands’ in ’MMDSP Debugger’ ’Emulation System’ in ’ICE User’s Guide’ ’General SYStem Commands’ in ’MMDSP NEXUS Debugger and Trace’ ’Release Information’ in ’Release History’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 274 SYStem SYStem.RESetOut Format: Reset peripherals SYStem.RESetOut This function triggers the CPU RESET command, which initializes the peripherals. This command is not available on all probes. SYStem.RESetOut ; Initialize peripherals See also ■ SYStem.state ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ’CPU specific SYStem Commands’ in ’CPU32 and ColdFire Debugger and Trace’ ’ARM specific SYStem Commands’ in ’ARM Debugger’ ’ARM specific SYStem Commands’ in ’ARMv8-A Debugger’ ’DSP specific SYStem Commands’ in ’TMS320C2X Debugger’ ’DSP specific SYStem Commands’ in ’TMS320C5X Debugger’ ’DSP specific SYStem Commands’ in ’TMS320C6X Debugger’ ’Cortex-M specific SYStem Commands’ in ’Cortex-M Debugger’ ’General SYStem Settings’ in ’Hexagon Debugger’ ’General System Settings’ in ’RX Debugger’ ’General System Settings’ in ’SH2, SH3 and SH4 Debugger’ ’Command Reference’ in ’TriCore Debugger and Trace’ ’General SYStem Settings and Restrictions’ in ’FIRE Emulator for C166 Cell-Based-Core’ ’General SYStem Settings and Restrictions’ in ’FIRE Emulator for C166 Family’ ’General SYStem Settings and Restrictions’ in ’FIRE Emulator for C166S V2 Family’ ’General Settings and Restrictions’ in ’ICE Emulator for 68000’ ’Special Settings 68302 Dual -chip and Restrictions’ in ’ICE Emulator for MC68000 and MC6830X’ ’General SYStem Settings and Restrictions’ in ’ICE Emulator for MC6833X’ ’General SYStem Settings and Restrictions’ in ’ICE Emulator for Motorola 68360/349’ ’General SYStem Settings and Restrictions’ in ’ICE Emulator for C166/ST10’ ’Emulation System’ in ’ICE User’s Guide’ ’Exception Control’ in ’ICE Emulator for Z80 and Z180’ ’General SYStem Commands’ in ’ARM and XSCALE Monitor’ ’Specific System Commands’ in ’SH2 Monitor’ ’ARM specific SYStem Commands’ in ’MAC71xx/72xx NEXUS Debugger and Trace’ ’Release Information’ in ’Release History’ ’68K and HC16 specific SYStem Commands’ in ’Simulator for 68K/ColdFire’ ’ARM specific SYStem Commands’ in ’Simulator for ARM and XSCALE’ ’MIPS specific SYStem Commands’ in ’Simulator for MIPS’ ’CPU specific SYStem Commands’ in ’Simulator for SuperH’ ’CPU specific SYStem Commands’ in ’Simulator for TriCore’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 275 SYStem SYStem.RESetTarget Format: Release target reset SYStem.RESetTarget A target reset is performed and then released. On most targets, SYStem.RESetTarget is similar to SYStem.Up and Register.RESet. On virtual platforms usually activates a target platform reset. See also ■ SYStem.state ▲ ’Release Information’ in ’Release History’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 276 SYStem SYStem.state Format: Display SYStem.state window SYStem.state Opens a SYStem.state window displaying all probe setup parameters. You can also open the SYStem.state window by left-clicking the System field in the state line of the TRACE32 main window. All modes can be selected and altered by clicking the appropriate buttons, radio options, etc. within the SYStem.state window. tbd. ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 277 SYStem Example of a SYStem.state window: See also ■ ■ ■ ■ ■ ■ ■ ■ ■ ❏ ❏ ❏ SYStem.Access SYStem.BOOTLDR SYStem.CONFIG SYStem.DLLCommand SYStem.Line SYStem.Mode SYStem.POLLING SYStem.RESetTarget SYStem.TimeReq CPU() hardware.POWERDEBUG() ICEFAMILY() ■ ■ ■ ■ ■ ■ ■ ■ ■ ❏ ❏ ❏ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ’General SYStem Commands’ in ’78K0R/RL78 Debugger’ ’AndesCore specific SYStem Commands’ in ’Andes Debugger’ ’CPU specific SYStem Commands’ in ’ARC Debugger’ ’ARM specific SYStem Commands’ in ’ARM Debugger’ ’Beyond specific SYStem Commands’ in ’Beyond Debugger and Trace’ ’Cortex-M specific SYStem Commands’ in ’Cortex-M Debugger’ ’General SYStem Settings’ in ’Hexagon Debugger’ ’General SYStem Settings and Restrictions’ in ’M32R Debugger and Trace’ ’General SYStem Settings and Restrictions’ in ’M8051EW Debugger’ ’General SYStem Commands’ in ’MSP430 Debugger’ ’CPU specific SYStem Commands’ in ’MPC5xx/8xx Debugger and Trace’ ’Command Reference’ in ’TriCore Debugger and Trace’ ’SYStem Commands’ in ’EPROM/FLASH Simulator’ ’State Display’ in ’ICE User’s Guide’ ’Emulation System’ in ’ICE User’s Guide’ ’CPU specific SYStem Commands’ in ’MPC56x NEXUS Debugger and Trace’ ’CPU specific SYStem Commands’ in ’Simulator for TriCore’ SYStem.BankFile SYStem.BOOTLDR3 SYStem.CPU SYStem.Down SYStem.LOCK SYStem.MonFile SYStem.PORT SYStem.TARGET SYStem.Up hardware.ESI() hardware.POWERNEXUS() MONITOR() ■ ■ ■ ■ ■ ■ ■ ■ ■ ❏ ❏ ❏ SYStem.BankMode SYStem.CADIconfig SYStem.CpuAccess SYStem.GTL SYStem.LOG SYStem.MONITOR SYStem.RESet SYStem.TimeOut SYStem.VirtualTiming hardware.ICD() hardware.POWERPROBE() PORTANALYZER() ■ ■ ■ ■ ■ ■ ■ ■ ❏ ❏ ❏ ❏ SYStem.BdmClock SYStem.Clock SYStem.DETECT SYStem.JtagClock SYStem.MemAccess SYStem.Option SYStem.RESetOut SYStem.TimeoutDebug BDM() hardware.ICE() hardware.POWERTRACE() SIMULATOR() ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 278 SYStem SYStem.TARGET Set target IP name or address Format: SYStem.TARGET <target> <target>: <ip-address> | <ip-name> Defines the OSE target IP address or name to debug. If no target is specified, TRACE32 uses a broadcast message to find OSE targets and uses the first target found. See also ■ SYStem.state ▲ ’Specific System Commands’ in ’OSE Target Server’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 279 SYStem SYStem.TimeOut Time-out for target access Format: SYStem.TimeOut <time> | ON | OFF <time>: 1.0us … 10.0ms Normally the memory cycle is terminated by the target system sending an acknowledge (DTACK, READY) signal or removing the wait signal. On access to memory areas which did not terminate the bus cycle, the emulation monitor will hang-up. To prevent from doing this a time-out value can be specified. After this timeout the emulator will terminate the bus cycle. The character 'T' will be displayed on the state line for 3 s, if a bus time-out has been occurred. The specified time-out value should be higher than the max. time a bus cycle needs. This value must be shorter than the SYStem.TimeReq value when using dual-port accesses. For triggering on time-out cycles in real-time emulation, the TrMain.Set Timeout option can be activated. SYStem.TimeOut 10.us ; time-out in 10 µs SYStem.TimeOut OFF ; no time-out SYStem.TimeOut ON ; no wait-states permitted SYStem.TimeOut 10.us TrMain.Set TimeOut ON ; set time-out ; activate trigger See also ■ SYStem.state ▲ ’Emulation System’ in ’ICE User’s Guide’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 280 SYStem SYStem.TimeoutDebug Format: tbd. SYStem.TimeoutDebug <time> tbd. tbd. tbd. tbd. See also ■ SYStem.state ▲ ’General SYStem Settings and Restrictions’ in ’ICE Emulator for MC6833X’ ▲ ’General SYStem Settings and Restrictions’ in ’ICE Emulator for Motorola 68360/349’ ▲ ’Emulation System’ in ’ICE User’s Guide’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 281 SYStem SYStem.TimeReq Time-out dualport access Format: SYStem.TimeReq <time> <time>: 1.0us … 13.0ms The dual-port memory of the development system is accessed by a time-multiplex technique. Prober memory access assumes that the emulation CPU is working. If this is not the case, memory access will not be possible. After the specified wait time the attempted access is aborted and an error message appears. Normally this takes approximately 1.0 ms. In exceptions this can increase to 10 ms. If dual-port access is impossible the system will be switched down to passive mode. This time must be longer than the SYStem.TimeOut value. SYStem.TimeReq 200.us ; time-out auf 200 µs See also ■ SYStem.state ▲ ’Basics’ in ’FIRE Emulator for C166 Family’ ▲ ’Basics’ in ’FIRE Emulator for C166S V2 Family’ ▲ ’Emulation System’ in ’ICE User’s Guide’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 282 SYStem SYStem.Up Format: Active mode SYStem.Up Probe is active, no target system clock available. (E) The emulation system is powered up and activated. The operating mode is automatically selected according to the following signal conditions: Analyzer (E) Probe is passive, target system clock and power available. NoProbe (E) Probe is passive, no target system clock available, probe off. AloneInt (E) EmulExt (E) Probe is active, target system clock and power available. In all other cases the development system will switch into RESet, ResetDown or ResetUp mode. NOTE: CPU types with internal oscillator may force problems when executing the SYStem.Up function. When no target system is connected the oscillator will run at an undefined clock rate. Use System.Mode AloneInt to turn-around this problem. (B) For the BDM-debugger and the ROM-monitor this command is highly targetdependent. Please refer to the BDM/ROM manual for your CPU type. See also ■ SYStem.state ▲ ’SYStem Commands’ in ’EPROM/FLASH Simulator’ ▲ ’Emulation System’ in ’ICE User’s Guide’ ▲ ’Release Information’ in ’Release History’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 283 SYStem SYStem.VirtualTiming Format: Modify timing constraints SYStem.VirtualTiming The SYStem.VirtualTiming commands are used to modify time timing behavior of the debugger when virtual debug interfaces are used, e.g. the TRACE32 Verilog Actuator or Generic Transactor Library. These virtual debug interfaces connect the debugger to simulations with a virtual time or extra slow emulators. In these scenarios, PowerView commands can take a very long time to execute. Therefore, the interaction with the target is done by PRACTICE scripts mainly, but the default timing of the debugger software targets more a stutter-free behavior of the windows. To modify these timings, the SYStem.VirtualTiming commands can be used. The debugger uses timeouts to cancel polling for expected results in the debug registers of the core and for reading back hardware acknowledge signals of the target as the RTCK signal. The commands SYStem.VirtualTiming.TimeinTargetTime and SYStem.VirtualTiming.PauseinTargetTime allow to couple the timing to the emulation/simulation timing. This allows to stall the whole simulation environment without the internal timeouts expiring, but also can lead to longer execution time of the debugger. The command SYStem.VirtualTiming.TimeScale can be used to reduce or increase the internal timeouts in general. In case the simulation does not respond fast enough, the timeouts need to be extended. In case the debugger polls for an error state too long to keep the user interface responsive, the timeouts can be reduced. See also ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ SYStem.state SYStem.VirtualTiming.HardwareTimeoutScale SYStem.VirtualTiming.MaxPause SYStem.VirtualTiming.OperationPause SYStem.VirtualTiming.PauseScale SYStem.VirtualTiming.TimeScale SYStem.VirtualTiming.HardwareTimeout SYStem.VirtualTiming.InternalClock SYStem.VirtualTiming.MaxTimeout SYStem.VirtualTiming.PauseinTargetTime SYStem.VirtualTiming.TimeinTargetTime ▲ ’Timing Adaption’ in ’GTL Debug Back-End’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 284 SYStem SYStem.VirtualTiming.HardwareTimeout Format: Disable/enable hardware timeout SYStem.VirtualTiming.HardwareTimeout ON | OFF The debugger has a timeout that handle the maximum time to wait for an hardware signal. The timeout can be disabled in case it doesn’t matter for the debug scenario in case error messages “emulator no RTCK” or ”emulator subcore communication timeout” occur. In case the hardware timeout is necessary for the debug scenario the debugger can enter an endless loop, in that cases the hardware timeout should be extended by SYStem.VirtualTiming.HardwareTimeoutScale or the target should respond earlier. ON Hardware timeout is active and used to cancel hardware operations. OFF Hardware timeout is disabled. SYStem.VirtualTiming.PauseinTargetTime OFF ; use host time See also ■ SYStem.VirtualTiming ▲ ’Timing Adaption’ in ’GTL Debug Back-End’ SYStem.VirtualTiming.HardwareTimeoutScale Format: Multiply hardware timeout SYStem.VirtualTiming.HardwareTimeoutScale tbd. See also ■ SYStem.VirtualTiming ▲ ’Timing Adaption’ in ’GTL Debug Back-End’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 285 SYStem SYStem.VirtualTiming.InternalClock Format: Base for artificial time calculation SYStem.VirtualTiming.InternalClock tbd. See also ■ SYStem.VirtualTiming ▲ ’Timing Adaption’ in ’GTL Debug Back-End’ SYStem.VirtualTiming.MaxPause Limit pause Format: SYStem.VirtualTiming.MaxPause <time> <time>: xxx ns … xxx ms The debugger software contains statements to wait time, in order to give the target time to respond. The command is used to set up the maximum time for those wait statements. SYStem.VirtualTiming.MaxPause 1s ; Set maximum to 1 second See also ■ SYStem.VirtualTiming ▲ ’Timing Adaption’ in ’GTL Debug Back-End’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 286 SYStem SYStem.VirtualTiming.MaxTimeout Override time-outs Format: SYStem.VirtualTiming.MaxTimeout <time> <time>: xxx ns … xxx ms The debugger software contains sections where a status of the target is polled for a certain time until a conditions is met in order to finish an operation. The command is used to set up the maximum time that is used for those sections. SYStem.VirtualTiming.MaxTimeout 10s ; Set maximum to 10 seconds See also ■ SYStem.VirtualTiming ▲ ’Timing Adaption’ in ’GTL Debug Back-End’ SYStem.VirtualTiming.OperationPause Insert a pause after each operation Format: SYStem.VirtualTiming.OperationPause <time> <time>: xxx ns … xxx ms The debug driver issue pause statements after each action e.g. shift or bus access to give the emulation time to compute. Operation pauses will slow down the debugger and prevent from pre-bundling operations. SYStem.VirtualTiming.OperationPause 100ns ; Enable pause of 100ns See also ■ SYStem.VirtualTiming ▲ ’Timing Adaption’ in ’GTL Debug Back-End’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 287 SYStem SYStem.VirtualTiming.PauseinTargetTime Format: Set up pause time-base SYStem.VirtualTiming.PauseinTargetTime ON | OFF The debugger software contains statements to wait time, in order to give the target time to respond. The command specifies it the time shall elapse in virtual simulator time (ON) or real host time (OFF). When set to ON the debugger behaves as with a real target, but become as slow as the simulation. ON Pause time elapses in virtual simulation time OFF Pause time elapses in real host time SYStem.VirtualTiming.PauseinTargetTime OFF ; use host time See also ■ SYStem.VirtualTiming ▲ ’Timing Adaption’ in ’GTL Debug Back-End’ SYStem.VirtualTiming.PauseScale Format: Multiply pause with a factor SYStem.VirtualTiming.PauseScale <factor> The debugger software contains statements to wait time in order to give the target time to respond. The command scales these time in order to wait a shorter or longer time. SYStem.VirtualTiming.PauseScale 10. ; 10 times longer pauses See also ■ SYStem.VirtualTiming ▲ ’Timing Adaption’ in ’GTL Debug Back-End’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 288 SYStem SYStem.VirtualTiming.TimeinTargetTime Format: Set up general time-base SYStem.VirtualTiming.TimeinTargetTime ON | OFF The command specifies whether the timeout time shall elapse in virtual simulator time (ON) or real host time (OFF). When set to ON the debugger behaves as with a real target, but become as slow as the simulation. ON Use virtual target time to elapse time-outs OFF Use real host time to elapse time-outs SYStem.VirtualTiming.TimeinTargetTime ON ; time-outs elapse time-outs See also ■ SYStem.VirtualTiming ▲ ’Timing Adaption’ in ’GTL Debug Back-End’ SYStem.VirtualTiming.TimeScale Format: Multiply time-base with a factor SYStem.VirtualTiming.TimeScale <factor> The command scales pauses and time-outs in general. ;in this example, time-outs and pauses are 10 times longer SYStem.VirtualTiming.TimeScale 10.0 ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 289 SYStem ;in this example, time-outs and pauses are 100 times shorter SYStem.VirtualTiming.TimeScale 0.01 ;in case the error “emulation RTCK fail” or “emulation emulator subcore ;communication timeout” occur prolong hardward timeouts by factor 10 SYStem.VirtualTiming.HardwareTimeoutScale 10.0 See also ■ SYStem.VirtualTiming ▲ ’Timing Adaption’ in ’GTL Debug Back-End’ ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 290 SYStem SystemTrace The command group SystemTrace is used to configure, display and analyze trace information generated by various trace sources, e.g. instrumented code, bus watcher or signal monitors. SystemTrace.state Format: Display system-trace configuration window SystemTrace.state Displays a state window displaying all probe setup parameters. This command can also be executed by clicking this selection on the status line (most right position). ©1989-2015 Lauterbach GmbH General Commands Reference Guide S 291 SystemTrace