QTrace Overview

QTrace provides real-time ETM instruction tracing for ARM Cortex M3/M4 processors running up to 180MHz.

Tracing at full processor speed is completely unobtrusive and no additional instrumentation code is required.

The hardware trace probe and Windows based trace analyser run side-by-side with your existing IDE and JTAG adapter so you won’t need to change them.

The target trace hardware is configured using a debugger script run from your IDE. Scripts are supplied for most common IDEs.

Trace Background Trace Background

If you are unfamiliar with trace then click here for some background information.

Why Use Trace? Why Use Trace?

There are many reasons why you should consider using a trace system. The bottom line is reduced development effort and time to market.

QTrace gives exceptional insight and detailed views of how your application is running in real-time. It helps to quickly locate bugs which would take much longer to find with conventional JTAG-only debugging.

With QTrace, you’ll get a step-change in visibility of what your code is doing that’s similar to the difference between JTAG debugging and the old printf approach.

More reasons for considering QTrace can be viewed here.

System Connection

QTrace System Connection

QTrace Key Features

  • ETM trace at an affordable price
  • Unlimited real-time tracing streamed via USB 3.0
  • Unobtrusive tracing of targets running up to 180MHz
  • Live global code coverage  (≅1000’s of breakpoints)
  • Call stack visualisation without stopping execution
  • Application profiling to highlight CPU bottlenecks
  • Quickly pin-point the cause of hard faults
  • Effortless interrupt and loop timing measurements
  • Integrated ITM debug port viewer
  • Works with your current development tools
  • Perfect for applications which are difficult to debug with breakpoints e.g. IoT communication stacks, motion control, high speed data acquisition, PID controllers, etc.

Typical set-up

QTrace Typical Set-up

QTrace Analyser

The QTrace analyser is a 64 bit PC application that runs on Windows 7 / 8.1 / 10.
It decodes and presents the trace data streamed from the QTrace hardware
probe and runs side-by-side with your existing IDE, ideally on a 2nd screen.

There are 3 primary trace data visualisations outlined below.

QTrace Code Coverage Features Live Coverage

Shows live execution coverage as C/C++ and disassembly views as well as an execution heatmap. Enables loop timing, function navigation, conditional searches and more.

QTrace Analyser View
Enlarge

QTrace Capture Features Trace Capture

Takes a snap-shot of target program execution using several trigger options including CPU exceptions. Displays a call stack as a function timeline.

QTrace Analyser View
Enlarge

QTrace Profiling Features Profiling View

Displays sorted function statistics in real-time including number of calls, timing, interrupt frequencies. Highlights which functions are taking the most CPU time.

QTrace Analyser View
Enlarge

Hover over or tap the image below to see the QTrace Analyser in action (move away to pause):

Click on the video below for a more in-depth demonstration

Best viewed in full HD

Supported Devices

Currently the QTrace Analyser currently supports the following devices:

QTrace Analyser for ARM Cortex-M CPUs Supported devices

Note:

1. In most cases, unlisted varients of the above devices will work with little or no modification to the supplied scripts. Contact us about support for varients or for devices from other manufacturers.

2. The QTrace Probe will work with any ARM Cortex M3/M4 device that complies with the ARM ETM timing specification.

Supported IDEs

QTrace Analyser has support for the following IDEs:

QTrace Analyser for ARM Cortex-M CPUs Supported IDEs

System Requirements

Below is a summary of the system requirements for successful tracing.

  • A PC running 64-bit Windows 7, 8.1 or 10 with the preferred hardware specification:
    • Intel i5/i7 dual or quad core CPU running at 2GHz min.
    • 8GB RAM
    • A spare USB 3.0 port
    • Screen resolution of 1366 x 768 or better (preferably a 2nd screen)
  • A user supplied IDE and JTAG adapter
  • Target hardware with an ARM Cortex M3/M4 based processor and a 1.27mm pitch,
    20 way ETM trace connector (see pin-out) with 1.8V – 3.3V signal levels
20 way ETM Trace Header

Note:

This is different to a 0.1″ pitch
JTAG-only connector

Products

QTrace Probe

Low cost USB 3.0 powered trace probe enabling real-time instruction tracing for ARM Cortex M3/M4 processors running up to 180MHz.

QTrace ETM Trace Probe for ARM Cortex-M3/M4 CPUs

Features

  • USB 3.0 micro B connector
  • 10 way, 1.27mm trace connector, clock + 4 data
  • Signal voltage levels: 1.8V – 3.3V
  • Max. trace clock frequency: 90MHz
  • Current consumption: 300mA @ 5V
  • Bicolour front panel status LED
  • Dimensions: 66 x 70 x 23mm
  • Cables and JTAG converter PCB included
Price: £295.00
Datasheet

Note

The QTrace probe does not have integrated JTAG/SWD

STM32 Demonstrator Board

The STM32Eval demonstrator is an optional add-on for the QTrace system and is designed to showcase the QTrace capabilities without requiring an expensive development board or waiting for an in-house PCB to be ready

ARM Cortex-M4 STM32F466 Evaluation PCB

Features

  • Cortex-M4F STM32F446 microcontroller
  • Runs up to 180MHz
  • 20 way ETM trace connector
  • USB 2.0 port for power & data
  • Micro SD-Card containing example projects
  • Pre-programmed as a USB FLASH disk
Price: £60.00
Datasheet

QTrace-STM32Eval Kit

Contains everything needed to evaluate the QTrace system out-of-the-box. A quick-start guide highlights the key features of QTrace without needing to install an IDE or attach a JTAG adapter.

QTrace for ARM Cortex ETM STM32 Trace Evaluation Kit

Features

  • Evaluate QTrace out-of-the-box !
  • QTrace probe
  • STM32-Eval demonstrator board
  • Cables and JTAG converter PCB
  • Quick start guide
Price: £329.00
Details