скрытое меню

SWO

Как настроить трассировку отладочных сообщений через SWO в True Studio?

Для начала делаем это на минимальном проекте , подготовленном в CubeMX для контроллера STM32F407VET6.

Имеем только два светодиода и больше ничего.

Так в любой настройке SWO есть нюансы , которые влияют на результат приведу сначала картинки из CubeMX:

CubeMX

фотка 1
фотка 2
фотка 3

TrueStudio

Кратко без расшифровки , только картинки :

Из запущенного режима отладки, становится активна одна кнопка ,которая открывает настройку SWO:

фотка 4
фотка 5

В файле syscalls.c надо переопределить вывод сообщений :

#include "stm32f4xx.h"  // не забудьте добавить

__attribute__((weak)) int _write(int file, char *ptr, int len)
{
	int DataIdx;

	for (DataIdx = 0; DataIdx < len; DataIdx++)
	{
		//__io_putchar(*ptr++);
		ITM_SendChar ( *ptr++ );
	}
	return len;
} 

И вот главный нюанс , чтобы увидеть сообщения надо еще щелкнуть на незаметном красном кружке, так скажать запустить трассировку:

фотка 1

Трассировка по SWO работает !