I have no problem using debug printf() in Keil MDK IDE using ARMCC. The same doesn't work with GCC. I do not use GCC except when I have to. Could you please point me to a simple "Hello world" project for Keil MDK with GCC?
Thanks.
The "trick" that make it possible for you see printf output in the "Debug printf()" debug viewer is not related with which compiler you are using. It is usually done by the retarget.c file included in the Keil::Arm_Compiler pack in Pack Installer. This retarget I/O file helps you to retarget or redirect your printf from stdout to e.g. ITM channel using SWO trace.
More details: www.keil.com/.../_retarget__examples__i_t_m.html
Please read my question carefully: the problem was in the compiler internals. All is required to replace weak function _write() with the working ARMCC code. It calls fputc() which does printing job, GCC calls _write(). That is basically it.