title: Stm32 printf float variable
body: <p>I want to log out from stm32f405 via usart. 
  In my syscall.c file i realize function to print via usart:</p>
  
  <pre><code>int _write(int file, char *ptr, int len)
  {
      int todo;
      for (todo = 0; todo &lt; len; todo++)
      {
      usart_send_char( *ptr++ );
      }
      return len;
  }
  </code></pre>
  
  <p>Function <code>usart_send_char( *ptr++ );</code> work as expected. But when i call:</p>
  
  <pre><code>printf("%s, %d, %3.2f\r\n", "asd", 777, 13.2 );
  </code></pre>
  
  <p>I get:
   <code>asd, 777, 0.00</code>
  The float variable not printed correctly. </p>
  
  <p>Makefile:</p>
  
  <pre><code>PROCESSOR = -mcpu=cortex-m4 -mthumb -mfloat-abi=softfp -mfpu=fpv4-sp-d16
  CFLAGS += $(PROCESSOR) $(INCLUDES) $(STFLAGS) -Wall -fno-strict-aliasing $(C_PROFILE)
  LDFLAGS = $(PROCESSOR) -Wl,-Map=$(PROG).map,--cref,--gc-sections
  </code></pre>
  
  <p>Used compilator:</p>
  
  <pre><code>Sourcery CodeBench Lite 2014.05-28
  </code></pre>
  
  <p>Where i am mistaken?</p>