Hi Carl,
yes, I believe this is what you need. However, I need to admit that I usually avoid to use the console I/O and printf(), for the reasons listed here. I always use normal SendString() routines to write to the UART.
Additionally, using semi-hosting (using the debugger connection) is something I avoid whenever possible, as it is very slow, and even might block the microprocessor if no debugger is attached.
Just my 5 cents ;-)