4-Pin Trace with STM32F2 / STM32F4

From SEGGER Wiki
Revision as of 15:36, 15 January 2016 by Arne (talk | contribs)
Jump to: navigation, search

Configure required pins for trace output

1. Create a file for the device

/*-------------------------------------------------------------------
** Define the function to enable the trace port
**-----------------------------------------------------------------*/
FUNC void EnableTPIU(void) {
  _WDWORD(0x40023830, 0x00000010); // Enable GPIOE  clock
  _WDWORD(0x40021000, 0x00002AA0); // Configure PE2, PE3, PE4, PE5, and PE6 as AF
  _WDWORD(0xE0042004, 0x000000E0); // Set 4-pin tracing via DBGMCU_CR
}

/*-------------------------------------------------------------------
** Invoke the function at debugger startup
**-----------------------------------------------------------------*/
EnableTPIU();

2. Set the file as initialization file

  • Open the dialog "Options for Target - Debug".

wiki-trace-initfile-STM32F429.png

  • Set the created file as Initialization File.

Configure µVision for ETM trace

  • Click Settings to open the "Target Driver Setup" dialog.
  • Click the Trace tab.

wiki-trace-settings.png

  • Set Enable and ETM Trace Enable.
  • Set Trace Port to "Sync Trace Port with 4-bit Data".
  • Start the debugging session and open an "Instruction Trace" window.