Keil™, An ARM® Company

Technical Support

ARMCC: PRINTF OUTPUTS 0.000000 FOR FLOAT VARIABLES


Information in this article applies to:

  • RealView C Compiler Version 3
  • RTX Real-Time Operating System

QUESTION

I am using the RTX Kernel in my project. When I use printf (or a derivative such as sprintf, snprintf) in my source code together with float number, the only 0.000000 is printed.

What can be wrong?

ANSWER

This problem is caused by a mis-aligned stack (R13) register at the start of the task. It is important that the stack is 8-byte aligned.

Most likely you have an older version of the RTX_CONFIG.C file. Make sure that include a current version of the RTX_CONFIG.C file in your project.

Another reason for this problem might be that you have used the function os_tsk_create_user_ex or os_sys_init_user with an stack that is not 8-byte aligned.

MORE INFORMATION

FORUM THREADS

The following Discussion Forum threads may provide information related to this topic.

Last Reviewed: Tuesday, December 11, 2007


Did this article provide the answer you needed?
 
Yes
No
Not Sure