STMCubeIDE – Come abilitare printf via SWD

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

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Related Post

Controllore per camera climatica

l’insieme composto da tre circuiti stampati compone l’unità di controllo e comando dei sensori e attuatori presenti nella famiglia di camere climatiche prodotte dal committente. La prima scheda contiene unità

ITeR

Ir Temperature Referance Grazie a questa sorgente di temperatura costante è possibile effettuare un controllo periodico della precisione di misura di termometri e telecamere infrarossi.Termometri e telecamere infrarossi utilizzati per

256 IO in 56x56mm

La scheda 256IO è parte di un assieme compatto denominato TILE ed indicato in figura seguente. La scheda costituisce l’ultimo strato in basso; i rimanenti strati sono composti da componentistica