Difference between revisions of "Tracing on ST STM32F407 (SEGGER Cortex-M Trace Reference Board)"

From SEGGER Wiki
Jump to: navigation, search
(Minimum requirements)
(Minimum requirements)
 
(3 intermediate revisions by the same user not shown)
Line 4: Line 4:
 
The ST STM32F407 MCU implements tracing via pins, so a J-Trace can be used for tracing.
 
The ST STM32F407 MCU implements tracing via pins, so a J-Trace can be used for tracing.
   
= Minimum requirements =
+
== Minimum requirements ==
 
In order to use trace on the ST STM32F407MCU devices, the following minimum requirements have to be met:
 
In order to use trace on the ST STM32F407MCU devices, the following minimum requirements have to be met:
* J-Link software version V6.44 or later
+
* J-Link software version V6.94a or later
* Ozone V2.60p or later (if streaming trace and / or the sample project from below shall be used)
+
* Ozone V3.22a or later (if streaming trace and / or the sample project from below shall be used)
 
* J-Trace PRO for Cortex-M HW version V1.0 or later
 
* J-Trace PRO for Cortex-M HW version V1.0 or later
   
  +
To rebuild the project our IDE Embedded Studio can be used. The recommended version to rebuild the projects is V6.30. But the examples are all prebuild and work out-of-the box with Ozone, so rebuilding is not necessary.
= Sample project =
 
  +
== Streaming trace ==
 
  +
== Sample project ==
  +
=== Streaming trace ===
 
The following sample project is designed to be used with J-Trace PRO and Ozone to demonstrate streaming trace. The project has been tested with the minimum requirements mentioned above and a ''SEGGER Cortex-M Trace Reference Board'' which is part of each J-Trace PRO purchase. The sample project comes with a pre-configured project file for Ozone that runs out-of-the box. In order to rebuild the sample project, [https://www.segger.com/embedded-studio.html SEGGER Embedded Studio] can be used.
 
The following sample project is designed to be used with J-Trace PRO and Ozone to demonstrate streaming trace. The project has been tested with the minimum requirements mentioned above and a ''SEGGER Cortex-M Trace Reference Board'' which is part of each J-Trace PRO purchase. The sample project comes with a pre-configured project file for Ozone that runs out-of-the box. In order to rebuild the sample project, [https://www.segger.com/embedded-studio.html SEGGER Embedded Studio] can be used.
   
Line 18: Line 20:
 
The following is a bare bone example with tracing at maximum trace clock speed the Trace Reference Board supports.
 
The following is a bare bone example with tracing at maximum trace clock speed the Trace Reference Board supports.
   
'''Max. Trace clock speed:''' [[Media:ST_STM32F407_84MHz_TraceRefEx.zip | ST_STM32F407_84MHz_TraceExample.zip]]
+
'''Max. Trace clock speed + JLinkScript sample:''' [[Media:ST_STM32F407_84MHz_TraceRefEx.zip | ST_STM32F407_84MHz_TraceExample.zip]]
   
= Tested Hardware =
+
== Tested Hardware ==
 
[[File:Trace_reference_board.png|none|thumb|SEGGER Cortex-M Trace Reference Board]]
 
[[File:Trace_reference_board.png|none|thumb|SEGGER Cortex-M Trace Reference Board]]
   
= Reference trace signal quality =
+
== Reference trace signal quality ==
 
The following pictures show oscilloscope measurements of trace signals output by the "Tested Hardware" using the example project.
 
The following pictures show oscilloscope measurements of trace signals output by the "Tested Hardware" using the example project.
 
All measurements have been performed using a Agilent InfiniiVision DSO7034B 350 MHz 2GSa/s oscilloscope and 1156A 1.5 GHz Active Probes. If your trace signals look similar on your trace hardware, chances are good that tracing will work out-of-the-box using the example project.
 
All measurements have been performed using a Agilent InfiniiVision DSO7034B 350 MHz 2GSa/s oscilloscope and 1156A 1.5 GHz Active Probes. If your trace signals look similar on your trace hardware, chances are good that tracing will work out-of-the-box using the example project.
 
More information about correct trace timing can be found at the following [https://www.segger.com/products/debug-probes/j-trace/technology/setting-up-trace/ website].
 
More information about correct trace timing can be found at the following [https://www.segger.com/products/debug-probes/j-trace/technology/setting-up-trace/ website].
== Rise time ==
+
=== Rise time ===
 
The rise time of a signal shows the time needed for a signal to rise from logical 0 to logical 1. For this the values at 10% and 90% of the expected voltage level get used as markers. The following picture shows such a measurement for the trace clock signal.
 
The rise time of a signal shows the time needed for a signal to rise from logical 0 to logical 1. For this the values at 10% and 90% of the expected voltage level get used as markers. The following picture shows such a measurement for the trace clock signal.
 
[[File:TCLK_Risetime.png|none|thumb|TCLK rise time]]
 
[[File:TCLK_Risetime.png|none|thumb|TCLK rise time]]
== Setup time ==
+
=== Setup time ===
 
The setup time shows the relative setup time between a trace data signal and trace clock. The measurement markers are set at 50% of the expected voltage level respectively. The following picture shows such a measurement for the trace data signal 0 relative to the trace clock signal.
 
The setup time shows the relative setup time between a trace data signal and trace clock. The measurement markers are set at 50% of the expected voltage level respectively. The following picture shows such a measurement for the trace data signal 0 relative to the trace clock signal.
 
[[File:STM32F407_TD0_Setuptime.png|none|thumb|TD0 setup time]]
 
[[File:STM32F407_TD0_Setuptime.png|none|thumb|TD0 setup time]]

Latest revision as of 14:18, 17 June 2022

This article describes how to get started with trace on the ST STM32F407 MCU. This article assumes that there is already a basic knowledge about trace in general (what is trace, what different implementations of trace are there, etc.). If this is not the case, we recommend to read Trace chapter in the J-Link User Manual (UM08001). The ST STM32F407 MCU implements tracing via pins, so a J-Trace can be used for tracing.

Minimum requirements

In order to use trace on the ST STM32F407MCU devices, the following minimum requirements have to be met:

  • J-Link software version V6.94a or later
  • Ozone V3.22a or later (if streaming trace and / or the sample project from below shall be used)
  • J-Trace PRO for Cortex-M HW version V1.0 or later

To rebuild the project our IDE Embedded Studio can be used. The recommended version to rebuild the projects is V6.30. But the examples are all prebuild and work out-of-the box with Ozone, so rebuilding is not necessary.

Sample project

Streaming trace

The following sample project is designed to be used with J-Trace PRO and Ozone to demonstrate streaming trace. The project has been tested with the minimum requirements mentioned above and a SEGGER Cortex-M Trace Reference Board which is part of each J-Trace PRO purchase. The sample project comes with a pre-configured project file for Ozone that runs out-of-the box. In order to rebuild the sample project, SEGGER Embedded Studio can be used.

Tutorial Project: J-Trace Streaming Trace tutorial project

The following is a bare bone example with tracing at maximum trace clock speed the Trace Reference Board supports.

Max. Trace clock speed + JLinkScript sample: ST_STM32F407_84MHz_TraceExample.zip

Tested Hardware

SEGGER Cortex-M Trace Reference Board

Reference trace signal quality

The following pictures show oscilloscope measurements of trace signals output by the "Tested Hardware" using the example project. All measurements have been performed using a Agilent InfiniiVision DSO7034B 350 MHz 2GSa/s oscilloscope and 1156A 1.5 GHz Active Probes. If your trace signals look similar on your trace hardware, chances are good that tracing will work out-of-the-box using the example project. More information about correct trace timing can be found at the following website.

Rise time

The rise time of a signal shows the time needed for a signal to rise from logical 0 to logical 1. For this the values at 10% and 90% of the expected voltage level get used as markers. The following picture shows such a measurement for the trace clock signal.

TCLK rise time

Setup time

The setup time shows the relative setup time between a trace data signal and trace clock. The measurement markers are set at 50% of the expected voltage level respectively. The following picture shows such a measurement for the trace data signal 0 relative to the trace clock signal.

TD0 setup time