I had a problem with pintf() function. It was working when I was sending characters, while blocking when working with decimal, double, float or other integer types.
The solution which worked for me was to set ARM mode instead of thumb mode (options for target -> code generation -> ARM mode).