In CubeMX abilita il debug via serial wire

Nel main.c aggiungi :
/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */
int _write(int32_t file, uint8_t *ptr, int32_t len)
{
/* Implement your write code here, this is used by puts and printf for example */
int i=0;
for(i=0 ; i<len ; i++)
ITM_SendChar((*ptr++));
return len;
}
/* USER CODE END 0 */
Nel menù di configurazione del debugger scegli il debug

Sempre nel menù di configurazione del debugger scegli

Verifica che il clock sia lo stesso configurato in MX

Scarica il codice e vai nella prospettiva di debug
Nell’IDE attiva il pannello => SWV ITM Data Console

Configura il trigger per la cattura dell’evento e la stampa nel pannello

Abilita il trigger per una variazione sul bit 0 della porta ITM (= qualsiasi variazione)

Avvia la registrazione

Aggiungi nel codice le printf e includi #include <stdio.h> nei file dove aggiungi le printf
Premi Run, e nel pannello SWV ITM Data Console trovi il risultato delle printf
