ARMCC: PRINTF OUTPUTS 0.000000 FOR FLOAT VARIABLES
Information in this article applies to:
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?
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.
The following Discussion Forum threads may provide information related to this topic.
Last Reviewed: Tuesday, December 11, 2007