Dear FreeRTOS people,
Ive been messing around with an annoying problem in FreeRTOS and after few hours of testing, google searching i still cant resolve my problem. I am currently developing on a LM3S6965 Ethernet Eval Board.
In my project its necessary to use float and double but i cant seem to get it right.
INT8U buffer[50];
float value = 123.45;
sprintf(buffer, "%3.2f", value);
When following code has been executed the buffer still remains 0x00 in all fields. Although normal integers does work with sprintf.
The interesting part of my config looks like following:
...
#define configUSE_PREEMPTION 1
#define configUSE_IDLE_HOOK 0
#define configUSE_TICK_HOOK 0
#define configCPU_CLOCK_HZ ( ( unsigned portLONG ) 50000000 )
#define configTICK_RATE_HZ ( ( portTickType ) 100 )
#define configMINIMAL_STACK_SIZE ( ( unsigned portSHORT ) 40 )
#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 2400 ) )
#define configMAX_TASK_NAME_LEN ( 12 )
#define configUSE_TRACE_FACILITY 0
#define configUSE_16_BIT_TICKS 0
#define configIDLE_SHOULD_YIELD 0
#define configUSE_CO_ROUTINES 0
#define configUSE_MUTEXES 1
...
And my portmacro.h
/* Architecture specifics. */
#define portSTACK_GROWTH ( -1 )
#define portTICK_RATE_MS ( ( portTickType ) 1000 / configTICK_RATE_HZ )
#define portBYTE_ALIGNMENT 8
Basically it does not function in any way by using float or double.
Is it a hardware restriction or have a simply overseen something?
Thanks in advance.