Tracing on ST STM32F756
This article describes how to get started with trace on the ST STM32F756 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 STM32F756 MCU implements tracing via pins , so a J-Trace can be used for tracing.
In order to use trace on the ST STM32F756 MCU devices, the following minimum requirements have to be met:
- J-Link software version V6.20d or later
- Ozone V2.46a 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
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 STM32756G-EVALBOARD. 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.
The maximum supported traceclock speed on the tested evalboard is 50 MHz according to user manual due to hardware limitations.
To use the 108 MHz example make sure that no peripherals are connected to the trace lines. If you are using the STM32756G-EVALBOARD check the manual for the needed modifications to enable higher trace speed. To lower the trace clock speed modify the PLL init in the example project accordingly. In this example the trace clock is exactly half of the core clock. So a 100 MHz core clock will result in a 50 MHz trace clock.
Note: The example is shipped with a compiled .JLinkScriptfile, should you need the original source it can be requested at email@example.com
To create your own .JLinkScriptfile you can use the following project as reference: Tracing on SEGGER_Cortex-M_Trace_Reference_Board
The STM32F7xx Productfamily has additional pins that can be used for tracing. Usually only 5 Pins are mapped to have the trace functionality. In this case however multiple pinout configurations are possible over different ports even. Make sure the correct pins are connected to the trace debug header.