Trace and Profile

Use this page to configure the selected launch configuration for simulator and hardware profiling.

Figure 1. Debug Configurations - Trace and Profile Tab for HCS08
Debug Configurations - Trace and Profile Tab for HCS08

The following table describes the various Trace and Profile options for HCS08.

Table 1. Trace and Profile Options for HCS08
Group Options Descriptions
User Options Enable Logging When checked, creates a log file that keeps details of the actions that took place in the application. For example, when the debug session terminated, when the target execution resumed or stopped.
Configuration Set in User Code When checked, lets you configure trace registers from the application without using the Trace and Profile page. In this scenario, you can write the appropriate registers in the source code to configure the trace mode and triggers.
Trace Mode Options Collect Program Trace Consists of these options:
  • Continuously - When selected, collects the trace data continuously. The trace buffer is read, processed, and emptied periodically, so that the Trace Data viewer can collect all the trace records generated by the application. In this mode, the trace data is not lost. It is a bit intrusive as it stops the target repeatedly in the background for collecting the trace buffers.
  • Automatically - When selected, the entries in the buffer start overwriting without interruption when the data reaches at the end of the buffer. If there is more trace data than the size of the buffer, the old entries will be overwritten.
  • LOOP1 Mode - Lets you collect the trace data without any consecutive identical addresses. If the next address to be stored in FIFO is the same as the one stored last time, it is ignored. This mode is particularly useful with short busy-wait type loops, which are repeated a large number of times or recursive calls, and is recommended when you want to view the coverage of that code, but not necessarily the number of times the code executed.For more information on Loop1 mode, refer to the MC9S08QE128 Reference Manual.
Note: The LOOP1 Mode option is visible only for the debug version 3 (DbgVer 3) targets, that is HCS08 target with three comparators. For any other targets with two comparators, this option is not visible.
Collect Data Trace Collects the trace data of the values of a variable, which is located at the address where trigger B is set, for all the accesses (Read/Write/Both).
Profile-Only When selected, collects trace by sampling the program counter (PC) from time to time.
Configure Expert Settings When selected, enables the Configure Expert Settings button and gives you access to most of the on-chip DBG module registers. To configure expert settings, download the processor specific manual from the site: http://www.freescale.com/
Trace Start/Stop Conditions No Trigger Specifies that no triggers are set for collecting trace. When no triggers are set and trace is collected, the trace data starts collecting from the beginning of the application.
Collect Trace From Trigger Starts collecting trace when the triggers generate, that is when the condition for A and B is met.
Break on FIFO Full While debugging, suspends the application automatically when buffer gets full. The checkbox gets enabled in the Automatically mode when the Collect Trace From Trigger option is selected.
Collect Trace Until Trigger Starts collecting trace and stops when the condition for triggers, A and B is met. This option is not enabled in the Continuously mode.
Break on Trigger Hit While debugging, suspends the application automatically when the trigger is hit, that is when the trigger condition is met. The checkbox gets enabled when the Collect Trace Until Trigger option is selected.
Trigger Type   Contains various conditions of triggers, A and B for starting/stopping trace collection.
Instruction at Address A is Executed Starts trace from the address or source line corresponding to trigger A.
Instruction at Address A or Address B is Executed Starts trace from the address or source line corresponding to trigger A or trigger B whichever occurs first.
Instruction Inside Range from Address A to Address B is Executed Starts trace when any instruction in the range between trigger address A and trigger address B is executed. That is, when [address at trigger A] <= [current address] <= [address at trigger B].
Instruction Outside Range from Address A to Address B is Executed Starts trace when any instruction outside the range between trigger address A and trigger address B is executed. That is, when [current address] < [address at trigger A or address at trigger B] < [current address].
  Instruction at Address A, Then Instruction at Address B are Executed Starts trace from trigger B only if trigger A occurred before.
Instruction at Address A is Executed and Value on Data Bus Match Collects the trace data from the instruction where trigger A is set when the value specified in the Value to Compare on Data Bus text box matches with the opcode read from trigger A address, that is the value in memory at trigger A address. Note: Because the hardware has a small delay in enabling the triggers, trace won't be collected as expected if data match is done for the instruction immediately following the line where trigger is set.
Instruction at Address A is Executed and Value on Data Bus Mismatch Collects the trace data from the instruction, where trigger A is set, on data mismatch. That is, trace is triggered at address A when the value specified in the Value to Compare on Data Bus text box does not match with the opcode read from trigger A address.
Value to Compare on Data Bus Contains the value that you specify to be matched or not matched with the opcode read from trigger A address.
Capture Read/Write Values at Address B Captures accesses to the variable address, where trigger B is set, after you press resume. Appears only when the Collect Data Trace mode is selected.
Capture Read/Write Values at Address B, After Access at Address A Waits for the program to execute the instruction at the address where trigger A is set, monitors the variable address where trigger B is set, and collects trace from there. Appears only when the Collect Data Trace mode is selected.
Trigger Selection Instruction Execute This option is related to how the hardware executes triggering. An address is triggered only when the opcode is actually executed, but this circuitry has a delay which sometimes makes the very next instruction in memory not caught in the trace when you press resume. In this mode, the output of the comparator must propagate through an opcode tracking circuit before triggering FIFO actions.
Memory Access When selected, allows memory access to both variables and instructions. Refer to the Memory Triggers topic in the Profiling and Analysis User Guide.
Note: For Memory trigger and other details with respect to setting tracepoints, refer to the Profiling and Analysis User Guide.

The following table describes the various Trace and Profile options for ColdFire V1.

Table 2. Trace and Profile Options for ColdFire V1
Group Options Descriptions
User Options Enable Logging Creates a log file that keeps details of the actions that took place in the application. For example, when the debug session terminated, when the target execution resumed or stopped.
  Configuration Set in User Code When checked, lets you configure trace registers from the application without using the Trace and Profile page. In this scenario, you can write the appropriate registers in the source code to configure the trace mode and triggers.
Select Trace Mode Continuous When selected, collects the trace data continuously. It produces best possible trace and profile results because it captures all executed instructions. However, it is slow and intrusive as it stops the target in the background every about 500 cycles.
Automatic (One-buffer) When selected, captures only the last instructions executed before the target gets suspended. It is totally unintrusive.
Halt the Target when Trace Buffer Gets Full Appears only when the Automatic (One-Buffer) option is selected. It acts as a breakpoint for stopping the application. If selected, stops the application automatically when trace buffer gets full.
Profile-Only. Sample PC every cycles When selected, captures the PC address every N cycles, where N is 128/256/512.......16384. Trace is mostly irrelevant in this mode, but Profile Statistics will be fairly accurate for a long cyclic run. This method is a bit intrusive because it stops the target in the background every about 8*N cycles.
Expert When selected, enables the Configure Expert Settings button and lets you configure the ColdFire V1 trace and debug registers directly.
Trace Start/Stop Conditions   Includes various conditions of triggers, A, B, and C, for starting and stopping trace.
Target PC Address 2 Bytes Select this option to save 5-30% trace-buffer space if your PC addresses never exceed 16-bits (64K). This results in less intrusiveness, or more instructions traced, depending on the trace mode you use. This feature is not supported for the Expert trace mode.
3 Bytes Select this default and recommended option if the PC address length in your program exceeds 16-bits (64K). This feature is not supported for the Expert trace mode.
Trace data values Read Data Traces the values of data operands being read from the memory. This feature is not supported for the Profile-Only and Expert trace modes.
Write Data Traces the values of data operands being written to the memory. This feature is not supported for the Profile-Only and Expert trace modes.

The following table describes the various Trace and Profile options.

Table 3. Trace and Profile Options for Kinetis
Group Option Description
ETB   Embedded Trace Buffer where collected trace data is stored.
JTrace   Enables trace collection by using the Segger/J-Trace probe.
TPIU Trace Port Interface Unit - Collects ETM and ITM trace into the internal probe buffer of size 4MB. TPIU is a block on the processor that manages the output of trace.
SWO Serial Wire Output - Single pin serial output that collects only ITM trace into the buffer of size 4MB. SWO uses the Serial Wire Debug ( SWD) debug connection. If selected, the Debug Port Interface should be set as SWD.
  Core clock ARM core clock in Mhz needed for the serial connection setup. The core clock can change due to multiple settings. For example, when started, a K60 processor rated at 100Mh works at 25Mhz, which is the default value. You can change the core clock value according to the requirements.
Low Power Profiling   Allows monitoring of low power Wait states. This state lets peripherals to function, while allowing CPU to go to sleep reducing power.
Continuous Trace Collection   Allows you to collect continuous trace data when checked. That is, it stops the target in the background to read the trace every time the FIFO is almost full.
ETM   Enables/disables trace output from the Embedded Trace Macrocell (ETM) block. It controls the ETM port selection bit from ETM's control register.
ITM   Enables/disables trace output from the Instrumentation Trace Macrocell (ITM) block.
Collect Instrumentation trace Collects instrumentation trace.
Collect Profiling Counters Enables/disables the following profiling counters at once:
  • Cycle Count Event Generation
  • Exception Trace
  • Exception Overhead Count
  • CPI Count
  • Sleep Overhead Count
  • LSU Count
  • Folded Instruction Count