I have a j-link and basic "hello world" Keil project on an STM32F407 board. It's in SWD.
The J-Link programs just fine, and can halt on Breakpoints and reads back register values.
However, I can't get anything from a printf(), and I tried to do what is listed as necessary, and played with things for quite awhile. Investigating, it hangs at: while (ITM->PORT[0].u32 == 0);
It hangs here on the first character.
I have startup_stm32f4xx.s, and made an STM32DBG.ini file which was specified under Configure Flash Tools -> Debug. ITM Port 0 is Enabled and Privilege 0. Have the "#define ITM_Port8(n) ...." stuff, and fputc just uses ITM_SendChar(ch);
Been at this awhile now, any ideas?